ANIMA  4.0
Classes | Public Types | Public Member Functions | Protected Member Functions | Static Protected Member Functions | List of all members
anima::BaseBlockMatcher< TInputImageType > Class Template Referenceabstract

#include <animaBaseBlockMatcher.h>

+ Inheritance diagram for anima::BaseBlockMatcher< TInputImageType >:

Classes

struct  ThreadedMatchData
 

Public Types

typedef anima::BaseTransformAgregator< TInputImageType::ImageDimension > AgregatorType
 
typedef BaseInputTransformType::Pointer BaseInputTransformPointer
 
typedef AgregatorType::BaseInputTransformType BaseInputTransformType
 
typedef InputImageType::RegionType ImageRegionType
 
typedef InputImageType::Pointer InputImagePointer
 
typedef TInputImageType InputImageType
 
typedef AgregatorType::InternalScalarType InternalScalarType
 
typedef MaskImageType::Pointer MaskImagePointer
 
typedef itk::Image< unsigned char, TInputImageType::ImageDimension > MaskImageType
 
typedef MetricType::Pointer MetricPointer
 
typedef itk::SingleValuedCostFunction MetricType
 
enum  OptimizerDefinition {
  Exhaustive = 0,
  Bobyqa
}
 
typedef OptimizerType::Pointer OptimizerPointer
 
typedef itk::SingleValuedNonLinearOptimizer OptimizerType
 
typedef InputImageType::PointType PointType
 
typedef BaseBlockMatcher Self
 

Public Member Functions

 BaseBlockMatcher ()
 
virtual AgregatorType::TRANSFORM_TYPE GetAgregatorInputTransformType ()=0
 
MaskImagePointerGetBlockGenerationMask ()
 
double GetBlockPercentageKept ()
 
std::vector< PointType > & GetBlockPositions ()
 
ImageRegionTypeGetBlockRegion (unsigned int i)
 
std::vector< ImageRegionType > & GetBlockRegions ()
 
unsigned int GetBlockSize ()
 
unsigned int GetBlockSpacing ()
 
BaseInputTransformPointerGetBlockTransformPointer (unsigned int i)
 
std::vector< BaseInputTransformPointer > & GetBlockTransformPointers ()
 
double GetBlockVarianceThreshold ()
 
const std::vector< double > & GetBlockWeights ()
 
virtual bool GetMaximizedMetric ()=0
 
InputImagePointerGetMovingImage ()
 
unsigned int GetNumberOfWorkUnits ()
 
OptimizerDefinition GetOptimizerType ()
 
InputImagePointerGetReferenceImage ()
 
double GetSearchRadius ()
 
bool GetVerbose ()
 
void SetBlockGenerationMask (MaskImageType *image)
 
void SetBlockPercentageKept (double val)
 
void SetBlockSize (unsigned int val)
 
void SetBlockSpacing (unsigned int val)
 
void SetBlockVarianceThreshold (double val)
 
void SetFinalRadius (double val)
 
void SetForceComputeBlocks (bool val)
 
void SetMovingImage (InputImageType *image)
 
void SetNumberOfWorkUnits (unsigned int val)
 
void SetOptimizerMaximumIterations (unsigned int val)
 
void SetOptimizerType (OptimizerDefinition val)
 
void SetReferenceImage (InputImageType *image)
 
void SetSearchRadius (double val)
 
void SetStepSize (double val)
 
void SetVerbose (bool value)
 
void Update ()
 
virtual ~BaseBlockMatcher ()
 

Protected Member Functions

void BlockMatch (unsigned int startIndex, unsigned int endIndex)
 
virtual void BlockMatchingSetup (MetricPointer &metric, unsigned int block)=0
 
virtual double ComputeBlockWeight (double val, unsigned int block)=0
 
virtual BaseInputTransformPointer GetNewBlockTransform (PointType &blockCenter)=0
 
virtual void InitializeBlocks ()
 
void ProcessBlockMatch ()
 
void SetBlockPositions (std::vector< PointType > &val)
 
void SetBlockRegions (std::vector< ImageRegionType > &val)
 
void SetBlockWeights (std::vector< double > &val)
 
virtual MetricPointer SetupMetric ()=0
 
virtual OptimizerPointer SetupOptimizer ()
 
virtual void TransformDependantOptimizerSetup (OptimizerPointer &optimizer)=0
 

Static Protected Member Functions

static ITK_THREAD_RETURN_FUNCTION_CALL_CONVENTION ThreadedMatching (void *arg)
 

Detailed Description

template<typename TInputImageType>
class anima::BaseBlockMatcher< TInputImageType >

Definition at line 12 of file animaBaseBlockMatcher.h.

Member Typedef Documentation

◆ AgregatorType

template<typename TInputImageType>
typedef anima::BaseTransformAgregator<TInputImageType::ImageDimension> anima::BaseBlockMatcher< TInputImageType >::AgregatorType

Definition at line 30 of file animaBaseBlockMatcher.h.

◆ BaseInputTransformPointer

template<typename TInputImageType>
typedef BaseInputTransformType::Pointer anima::BaseBlockMatcher< TInputImageType >::BaseInputTransformPointer

Definition at line 33 of file animaBaseBlockMatcher.h.

◆ BaseInputTransformType

template<typename TInputImageType>
typedef AgregatorType::BaseInputTransformType anima::BaseBlockMatcher< TInputImageType >::BaseInputTransformType

Definition at line 32 of file animaBaseBlockMatcher.h.

◆ ImageRegionType

template<typename TInputImageType>
typedef InputImageType::RegionType anima::BaseBlockMatcher< TInputImageType >::ImageRegionType

Definition at line 27 of file animaBaseBlockMatcher.h.

◆ InputImagePointer

template<typename TInputImageType>
typedef InputImageType::Pointer anima::BaseBlockMatcher< TInputImageType >::InputImagePointer

Definition at line 26 of file animaBaseBlockMatcher.h.

◆ InputImageType

template<typename TInputImageType>
typedef TInputImageType anima::BaseBlockMatcher< TInputImageType >::InputImageType

Definition at line 25 of file animaBaseBlockMatcher.h.

◆ InternalScalarType

template<typename TInputImageType>
typedef AgregatorType::InternalScalarType anima::BaseBlockMatcher< TInputImageType >::InternalScalarType

Definition at line 31 of file animaBaseBlockMatcher.h.

◆ MaskImagePointer

template<typename TInputImageType>
typedef MaskImageType::Pointer anima::BaseBlockMatcher< TInputImageType >::MaskImagePointer

Definition at line 36 of file animaBaseBlockMatcher.h.

◆ MaskImageType

template<typename TInputImageType>
typedef itk::Image<unsigned char, TInputImageType::ImageDimension> anima::BaseBlockMatcher< TInputImageType >::MaskImageType

Definition at line 35 of file animaBaseBlockMatcher.h.

◆ MetricPointer

template<typename TInputImageType>
typedef MetricType::Pointer anima::BaseBlockMatcher< TInputImageType >::MetricPointer

Definition at line 44 of file animaBaseBlockMatcher.h.

◆ MetricType

template<typename TInputImageType>
typedef itk::SingleValuedCostFunction anima::BaseBlockMatcher< TInputImageType >::MetricType

Type of the metric.

Definition at line 43 of file animaBaseBlockMatcher.h.

◆ OptimizerPointer

template<typename TInputImageType>
typedef OptimizerType::Pointer anima::BaseBlockMatcher< TInputImageType >::OptimizerPointer

Definition at line 40 of file animaBaseBlockMatcher.h.

◆ OptimizerType

template<typename TInputImageType>
typedef itk::SingleValuedNonLinearOptimizer anima::BaseBlockMatcher< TInputImageType >::OptimizerType

Type of the optimizer.

Definition at line 39 of file animaBaseBlockMatcher.h.

◆ PointType

template<typename TInputImageType>
typedef InputImageType::PointType anima::BaseBlockMatcher< TInputImageType >::PointType

Definition at line 28 of file animaBaseBlockMatcher.h.

◆ Self

template<typename TInputImageType>
typedef BaseBlockMatcher anima::BaseBlockMatcher< TInputImageType >::Self

Definition at line 15 of file animaBaseBlockMatcher.h.

Member Enumeration Documentation

◆ OptimizerDefinition

template<typename TInputImageType>
enum anima::BaseBlockMatcher::OptimizerDefinition
Enumerator
Exhaustive 
Bobyqa 

Definition at line 19 of file animaBaseBlockMatcher.h.

Constructor & Destructor Documentation

◆ BaseBlockMatcher()

template<typename TInputImageType >
anima::BaseBlockMatcher< TInputImageType >::BaseBlockMatcher ( )

Definition at line 14 of file animaBaseBlockMatcher.hxx.

References Bobyqa.

◆ ~BaseBlockMatcher()

template<typename TInputImageType>
virtual anima::BaseBlockMatcher< TInputImageType >::~BaseBlockMatcher ( )
inlinevirtual

Definition at line 17 of file animaBaseBlockMatcher.h.

Member Function Documentation

◆ BlockMatch()

template<typename TInputImageType >
void anima::BaseBlockMatcher< TInputImageType >::BlockMatch ( unsigned int  startIndex,
unsigned int  endIndex 
)
protected

Definition at line 211 of file animaBaseBlockMatcher.hxx.

◆ BlockMatchingSetup()

template<typename TInputImageType>
virtual void anima::BaseBlockMatcher< TInputImageType >::BlockMatchingSetup ( MetricPointer metric,
unsigned int  block 
)
protectedpure virtual

◆ ComputeBlockWeight()

template<typename TInputImageType>
virtual double anima::BaseBlockMatcher< TInputImageType >::ComputeBlockWeight ( double  val,
unsigned int  block 
)
protectedpure virtual

◆ GetAgregatorInputTransformType()

template<typename TInputImageType>
virtual AgregatorType::TRANSFORM_TYPE anima::BaseBlockMatcher< TInputImageType >::GetAgregatorInputTransformType ( )
pure virtual

◆ GetBlockGenerationMask()

template<typename TInputImageType>
MaskImagePointer& anima::BaseBlockMatcher< TInputImageType >::GetBlockGenerationMask ( )
inline

◆ GetBlockPercentageKept()

template<typename TInputImageType>
double anima::BaseBlockMatcher< TInputImageType >::GetBlockPercentageKept ( )
inline

Definition at line 60 of file animaBaseBlockMatcher.h.

◆ GetBlockPositions()

template<typename TInputImageType>
std::vector<PointType>& anima::BaseBlockMatcher< TInputImageType >::GetBlockPositions ( )
inline

Definition at line 77 of file animaBaseBlockMatcher.h.

◆ GetBlockRegion()

template<typename TInputImageType>
ImageRegionType& anima::BaseBlockMatcher< TInputImageType >::GetBlockRegion ( unsigned int  i)
inline

Definition at line 79 of file animaBaseBlockMatcher.h.

◆ GetBlockRegions()

template<typename TInputImageType>
std::vector<ImageRegionType>& anima::BaseBlockMatcher< TInputImageType >::GetBlockRegions ( )
inline

Definition at line 78 of file animaBaseBlockMatcher.h.

◆ GetBlockSize()

template<typename TInputImageType>
unsigned int anima::BaseBlockMatcher< TInputImageType >::GetBlockSize ( )
inline

Definition at line 63 of file animaBaseBlockMatcher.h.

◆ GetBlockSpacing()

template<typename TInputImageType>
unsigned int anima::BaseBlockMatcher< TInputImageType >::GetBlockSpacing ( )
inline

Definition at line 66 of file animaBaseBlockMatcher.h.

◆ GetBlockTransformPointer()

template<typename TInputImageType>
BaseInputTransformPointer& anima::BaseBlockMatcher< TInputImageType >::GetBlockTransformPointer ( unsigned int  i)
inline

Definition at line 82 of file animaBaseBlockMatcher.h.

◆ GetBlockTransformPointers()

template<typename TInputImageType>
std::vector<BaseInputTransformPointer>& anima::BaseBlockMatcher< TInputImageType >::GetBlockTransformPointers ( )
inline

Definition at line 81 of file animaBaseBlockMatcher.h.

◆ GetBlockVarianceThreshold()

template<typename TInputImageType>
double anima::BaseBlockMatcher< TInputImageType >::GetBlockVarianceThreshold ( )
inline

Definition at line 57 of file animaBaseBlockMatcher.h.

◆ GetBlockWeights()

template<typename TInputImageType>
const std::vector<double>& anima::BaseBlockMatcher< TInputImageType >::GetBlockWeights ( )
inline

Definition at line 84 of file animaBaseBlockMatcher.h.

◆ GetMaximizedMetric()

template<typename TInputImageType>
virtual bool anima::BaseBlockMatcher< TInputImageType >::GetMaximizedMetric ( )
pure virtual

◆ GetMovingImage()

template<typename TInputImageType>
InputImagePointer& anima::BaseBlockMatcher< TInputImageType >::GetMovingImage ( )
inline

Definition at line 90 of file animaBaseBlockMatcher.h.

◆ GetNewBlockTransform()

template<typename TInputImageType>
virtual BaseInputTransformPointer anima::BaseBlockMatcher< TInputImageType >::GetNewBlockTransform ( PointType blockCenter)
protectedpure virtual

◆ GetNumberOfWorkUnits()

template<typename TInputImageType>
unsigned int anima::BaseBlockMatcher< TInputImageType >::GetNumberOfWorkUnits ( )
inline

Definition at line 54 of file animaBaseBlockMatcher.h.

◆ GetOptimizerType()

template<typename TInputImageType>
OptimizerDefinition anima::BaseBlockMatcher< TInputImageType >::GetOptimizerType ( )
inline

Definition at line 87 of file animaBaseBlockMatcher.h.

◆ GetReferenceImage()

template<typename TInputImageType>
InputImagePointer& anima::BaseBlockMatcher< TInputImageType >::GetReferenceImage ( )
inline

Definition at line 89 of file animaBaseBlockMatcher.h.

◆ GetSearchRadius()

template<typename TInputImageType>
double anima::BaseBlockMatcher< TInputImageType >::GetSearchRadius ( )
inline

Definition at line 69 of file animaBaseBlockMatcher.h.

◆ GetVerbose()

template<typename TInputImageType>
bool anima::BaseBlockMatcher< TInputImageType >::GetVerbose ( )
inline

Definition at line 96 of file animaBaseBlockMatcher.h.

◆ InitializeBlocks()

template<typename TInputImageType >
void anima::BaseBlockMatcher< TInputImageType >::InitializeBlocks ( )
protectedvirtual

Reimplemented in anima::MCMBlockMatcher< TInputImageType >.

Definition at line 39 of file animaBaseBlockMatcher.hxx.

◆ ProcessBlockMatch()

template<typename TInputImageType >
void anima::BaseBlockMatcher< TInputImageType >::ProcessBlockMatch ( )
protected

◆ SetBlockGenerationMask()

template<typename TInputImageType>
void anima::BaseBlockMatcher< TInputImageType >::SetBlockGenerationMask ( MaskImageType image)
inline

◆ SetBlockPercentageKept()

template<typename TInputImageType>
void anima::BaseBlockMatcher< TInputImageType >::SetBlockPercentageKept ( double  val)
inline

◆ SetBlockPositions()

template<typename TInputImageType>
void anima::BaseBlockMatcher< TInputImageType >::SetBlockPositions ( std::vector< PointType > &  val)
inlineprotected

Definition at line 125 of file animaBaseBlockMatcher.h.

◆ SetBlockRegions()

template<typename TInputImageType>
void anima::BaseBlockMatcher< TInputImageType >::SetBlockRegions ( std::vector< ImageRegionType > &  val)
inlineprotected

Definition at line 124 of file animaBaseBlockMatcher.h.

◆ SetBlockSize()

template<typename TInputImageType>
void anima::BaseBlockMatcher< TInputImageType >::SetBlockSize ( unsigned int  val)
inline

◆ SetBlockSpacing()

template<typename TInputImageType>
void anima::BaseBlockMatcher< TInputImageType >::SetBlockSpacing ( unsigned int  val)
inline

◆ SetBlockVarianceThreshold()

template<typename TInputImageType>
void anima::BaseBlockMatcher< TInputImageType >::SetBlockVarianceThreshold ( double  val)
inline

◆ SetBlockWeights()

template<typename TInputImageType>
void anima::BaseBlockMatcher< TInputImageType >::SetBlockWeights ( std::vector< double > &  val)
inlineprotected

Definition at line 123 of file animaBaseBlockMatcher.h.

◆ SetFinalRadius()

template<typename TInputImageType>
void anima::BaseBlockMatcher< TInputImageType >::SetFinalRadius ( double  val)
inline

◆ SetForceComputeBlocks()

template<typename TInputImageType>
void anima::BaseBlockMatcher< TInputImageType >::SetForceComputeBlocks ( bool  val)
inline

Definition at line 52 of file animaBaseBlockMatcher.h.

◆ SetMovingImage()

template<typename TInputImageType>
void anima::BaseBlockMatcher< TInputImageType >::SetMovingImage ( InputImageType image)
inline

Definition at line 47 of file animaBaseBlockMatcher.h.

◆ SetNumberOfWorkUnits()

template<typename TInputImageType>
void anima::BaseBlockMatcher< TInputImageType >::SetNumberOfWorkUnits ( unsigned int  val)
inline

◆ SetOptimizerMaximumIterations()

template<typename TInputImageType>
void anima::BaseBlockMatcher< TInputImageType >::SetOptimizerMaximumIterations ( unsigned int  val)
inline

◆ SetOptimizerType()

template<typename TInputImageType>
void anima::BaseBlockMatcher< TInputImageType >::SetOptimizerType ( OptimizerDefinition  val)
inline

◆ SetReferenceImage()

template<typename TInputImageType>
void anima::BaseBlockMatcher< TInputImageType >::SetReferenceImage ( InputImageType image)
inline

Definition at line 46 of file animaBaseBlockMatcher.h.

◆ SetSearchRadius()

template<typename TInputImageType>
void anima::BaseBlockMatcher< TInputImageType >::SetSearchRadius ( double  val)
inline

◆ SetStepSize()

template<typename TInputImageType>
void anima::BaseBlockMatcher< TInputImageType >::SetStepSize ( double  val)
inline

◆ SetupMetric()

template<typename TInputImageType>
virtual MetricPointer anima::BaseBlockMatcher< TInputImageType >::SetupMetric ( )
protectedpure virtual

◆ SetupOptimizer()

template<typename TInputImageType >
BaseBlockMatcher< TInputImageType >::OptimizerPointer anima::BaseBlockMatcher< TInputImageType >::SetupOptimizer ( )
protectedvirtual

Definition at line 76 of file animaBaseBlockMatcher.hxx.

References Bobyqa, and Exhaustive.

◆ SetVerbose()

template<typename TInputImageType>
void anima::BaseBlockMatcher< TInputImageType >::SetVerbose ( bool  value)
inline

Definition at line 95 of file animaBaseBlockMatcher.h.

◆ ThreadedMatching()

template<typename TInputImageType >
ITK_THREAD_RETURN_FUNCTION_CALL_CONVENTION anima::BaseBlockMatcher< TInputImageType >::ThreadedMatching ( void *  arg)
staticprotected

Do the matching for a batch of regions (split according to the thread id + nb threads)

Definition at line 163 of file animaBaseBlockMatcher.hxx.

References anima::BaseBlockMatcher< TInputImageType >::ThreadedMatchData::BlockMatch, and anima::BaseBlockMatcher< TInputImageType >::ProcessBlockMatch().

◆ TransformDependantOptimizerSetup()

template<typename TInputImageType>
virtual void anima::BaseBlockMatcher< TInputImageType >::TransformDependantOptimizerSetup ( OptimizerPointer optimizer)
protectedpure virtual

◆ Update()

template<typename TInputImageType >
void anima::BaseBlockMatcher< TInputImageType >::Update ( )

The documentation for this class was generated from the following files: