go home Home | Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Data Structures | File List | Namespace Members | Data Fields | Globals | Related Pages
Public Types | Public Member Functions | Protected Types | Protected Member Functions | Private Member Functions
elastix::RegistrationBase< TElastix > Class Template Reference

#include <elxRegistrationBase.h>

Inheritance diagram for elastix::RegistrationBase< TElastix >:
Inheritance graph
[legend]
Collaboration diagram for elastix::RegistrationBase< TElastix >:
Collaboration graph
[legend]

Public Types

typedef
Superclass::ConfigurationPointer 
ConfigurationPointer
typedef
Superclass::ConfigurationType 
ConfigurationType
typedef Superclass::ElastixPointer ElastixPointer
typedef Superclass::ElastixType ElastixType
typedef ElastixType::FixedImageType FixedImageType
typedef
itk::MultiResolutionImageRegistrationMethod2
< FixedImageType,
MovingImageType
ITKBaseType
typedef
ElastixType::MovingImageType 
MovingImageType
typedef
Superclass::RegistrationPointer 
RegistrationPointer
typedef
Superclass::RegistrationType 
RegistrationType
typedef RegistrationBase Self
typedef BaseComponentSE< TElastix > Superclass
typedef std::vector< boolUseMaskErosionArrayType

Public Member Functions

virtual void AfterEachResolutionBase (void)
virtual ITKBaseTypeGetAsITKBaseType (void)
virtual const ITKBaseTypeGetAsITKBaseType (void) const
virtual const char * GetClassName () const
 itkStaticConstMacro (FixedImageDimension, unsigned int, FixedImageType::ImageDimension)
 itkStaticConstMacro (MovingImageDimension, unsigned int, MovingImageType::ImageDimension)
virtual bool ReadMaskParameters (UseMaskErosionArrayType &useMaskErosionArray, const unsigned int nrOfMasks, const std::string &whichMask, const unsigned int level) const

Protected Types

typedef
ITKBaseType::FixedImagePyramidType 
FixedImagePyramidType
typedef
FixedMaskErodeFilterType::Pointer 
FixedMaskErodeFilterPointer
typedef ErodeMaskImageFilter
< FixedMaskImageType
FixedMaskErodeFilterType
typedef FixedMaskImageType::Pointer FixedMaskImagePointer
typedef ElastixType::FixedMaskType FixedMaskImageType
typedef
FixedMaskSpatialObjectType::Pointer 
FixedMaskSpatialObjectPointer
typedef
ImageMaskSpatialObject2
< itkGetStaticConstMacro(FixedImageDimension) > 
FixedMaskSpatialObjectType
typedef ElastixType::MaskPixelType MaskPixelType
typedef
ITKBaseType::MovingImagePyramidType 
MovingImagePyramidType
typedef
MovingMaskErodeFilterType::Pointer 
MovingMaskErodeFilterPointer
typedef ErodeMaskImageFilter
< MovingMaskImageType
MovingMaskErodeFilterType
typedef
MovingMaskImageType::Pointer 
MovingMaskImagePointer
typedef ElastixType::MovingMaskType MovingMaskImageType
typedef
MovingMaskSpatialObjectType::Pointer 
MovingMaskSpatialObjectPointer
typedef
ImageMaskSpatialObject2
< itkGetStaticConstMacro(MovingImageDimension) > 
MovingMaskSpatialObjectType

Protected Member Functions

FixedMaskSpatialObjectPointer GenerateFixedMaskSpatialObject (const FixedMaskImageType *maskImage, bool useMaskErosion, const FixedImagePyramidType *pyramid, unsigned int level) const
MovingMaskSpatialObjectPointer GenerateMovingMaskSpatialObject (const MovingMaskImageType *maskImage, bool useMaskErosion, const MovingImagePyramidType *pyramid, unsigned int level) const
 RegistrationBase ()
virtual ~RegistrationBase ()

Private Member Functions

void operator= (const Self &)
 RegistrationBase (const Self &)

Detailed Description

template<class TElastix>
class elastix::RegistrationBase< TElastix >

This class is the elastix base class for all Registration schemes.

This class contains all the common functionality for Registrations.

Parameters:
ErodeMask: a flag to determine if the masks should be eroded from one resolution level to another. Choose from {"true", "false"}
example: (ErodeMask "false")
The default is "true". The parameter may be specified for each resolution differently, but that's not obliged. The actual amount of erosion depends on the image pyramid.
Erosion of the mask prevents the border / edge of the mask taken into account. This can be useful for example for ultrasound images, where you don't want to take into account values outside the US-beam, but where you also don't want to match the edge / border of this beam. For example for MRI's of the head, the borders of the head may be wanted to match, and there erosion should be avoided.
Parameters:
ErodeFixedMask: a flag to determine if the fixed mask(s) should be eroded from one resolution level to another. Choose from {"true", "false"}
example: (ErodeFixedMask "true" "false") This setting overrules ErodeMask.
Parameters:
ErodeMovingMask: a flag to determine if the moving mask(s) should be eroded from one resolution level to another. Choose from {"true", "false"}
example: (ErodeMovingMask "true" "false") This setting overrules ErodeMask.
Parameters:
ErodeFixedMask<i>: a flag to determine if the i-th fixed mask should be eroded from one resolution level to another. Choose from {"true", "false"}
example: (ErodeFixedMask2 "true" "false") This setting overrules ErodeMask and ErodeFixedMask.
Parameters:
ErodeMovingMask<i>: a flag to determine if the i-th moving mask should be eroded from one resolution level to another. Choose from {"true", "false"}
example: (ErodeMovingMask2 "true" "false") This setting overrules ErodeMask and ErodeMovingMask.

Definition at line 74 of file elxRegistrationBase.h.


Member Typedef Documentation

template<class TElastix>
typedef Superclass::ConfigurationType elastix::RegistrationBase< TElastix >::ConfigurationType
template<class TElastix>
typedef Superclass::ElastixPointer elastix::RegistrationBase< TElastix >::ElastixPointer
template<class TElastix>
typedef Superclass::ElastixType elastix::RegistrationBase< TElastix >::ElastixType
template<class TElastix>
typedef ITKBaseType::FixedImagePyramidType elastix::RegistrationBase< TElastix >::FixedImagePyramidType [protected]
template<class TElastix>
typedef ElastixType::FixedImageType elastix::RegistrationBase< TElastix >::FixedImageType
template<class TElastix>
typedef FixedMaskErodeFilterType::Pointer elastix::RegistrationBase< TElastix >::FixedMaskErodeFilterPointer [protected]

Definition at line 179 of file elxRegistrationBase.h.

template<class TElastix>
typedef ErodeMaskImageFilter< FixedMaskImageType > elastix::RegistrationBase< TElastix >::FixedMaskErodeFilterType [protected]

Some typedef's used for eroding the masks

Definition at line 178 of file elxRegistrationBase.h.

template<class TElastix>
typedef FixedMaskImageType::Pointer elastix::RegistrationBase< TElastix >::FixedMaskImagePointer [protected]
template<class TElastix>
typedef ElastixType::FixedMaskType elastix::RegistrationBase< TElastix >::FixedMaskImageType [protected]
template<class TElastix>
typedef FixedMaskSpatialObjectType::Pointer elastix::RegistrationBase< TElastix >::FixedMaskSpatialObjectPointer [protected]
template<class TElastix>
typedef ImageMaskSpatialObject2< itkGetStaticConstMacro( FixedImageDimension ) > elastix::RegistrationBase< TElastix >::FixedMaskSpatialObjectType [protected]
template<class TElastix>
typedef ElastixType::MaskPixelType elastix::RegistrationBase< TElastix >::MaskPixelType [protected]
template<class TElastix>
typedef ITKBaseType::MovingImagePyramidType elastix::RegistrationBase< TElastix >::MovingImagePyramidType [protected]
template<class TElastix>
typedef ElastixType::MovingImageType elastix::RegistrationBase< TElastix >::MovingImageType
template<class TElastix>
typedef MovingMaskErodeFilterType::Pointer elastix::RegistrationBase< TElastix >::MovingMaskErodeFilterPointer [protected]

Definition at line 181 of file elxRegistrationBase.h.

template<class TElastix>
typedef ErodeMaskImageFilter< MovingMaskImageType > elastix::RegistrationBase< TElastix >::MovingMaskErodeFilterType [protected]

Definition at line 180 of file elxRegistrationBase.h.

template<class TElastix>
typedef MovingMaskImageType::Pointer elastix::RegistrationBase< TElastix >::MovingMaskImagePointer [protected]
template<class TElastix>
typedef ElastixType::MovingMaskType elastix::RegistrationBase< TElastix >::MovingMaskImageType [protected]
template<class TElastix>
typedef MovingMaskSpatialObjectType::Pointer elastix::RegistrationBase< TElastix >::MovingMaskSpatialObjectPointer [protected]
template<class TElastix>
typedef ImageMaskSpatialObject2< itkGetStaticConstMacro( MovingImageDimension ) > elastix::RegistrationBase< TElastix >::MovingMaskSpatialObjectType [protected]
template<class TElastix>
typedef Superclass::RegistrationPointer elastix::RegistrationBase< TElastix >::RegistrationPointer
template<class TElastix>
typedef Superclass::RegistrationType elastix::RegistrationBase< TElastix >::RegistrationType
template<class TElastix>
typedef RegistrationBase elastix::RegistrationBase< TElastix >::Self
template<class TElastix>
typedef BaseComponentSE<TElastix> elastix::RegistrationBase< TElastix >::Superclass

Reimplemented from elastix::BaseComponentSE< TElastix >.

Definition at line 80 of file elxRegistrationBase.h.

template<class TElastix>
typedef std::vector<bool> elastix::RegistrationBase< TElastix >::UseMaskErosionArrayType

Constructor & Destructor Documentation

template<class TElastix>
elastix::RegistrationBase< TElastix >::RegistrationBase ( ) [inline, protected]

The constructor.

Definition at line 155 of file elxRegistrationBase.h.

template<class TElastix>
virtual elastix::RegistrationBase< TElastix >::~RegistrationBase ( ) [inline, protected, virtual]

The destructor.

Definition at line 157 of file elxRegistrationBase.h.

template<class TElastix>
elastix::RegistrationBase< TElastix >::RegistrationBase ( const Self ) [private]

The private constructor.


Member Function Documentation

template<class TElastix>
virtual void elastix::RegistrationBase< TElastix >::AfterEachResolutionBase ( void  ) [virtual]

Execute stuff after each resolution:

  • Release memory.

Reimplemented from elastix::BaseComponent.

template<class TElastix>
FixedMaskSpatialObjectPointer elastix::RegistrationBase< TElastix >::GenerateFixedMaskSpatialObject ( const FixedMaskImageType maskImage,
bool  useMaskErosion,
const FixedImagePyramidType pyramid,
unsigned int  level 
) const [protected]

Generate a spatial object from a mask image, possibly after eroding the image Input:

  • the mask as an image, consisting of 1's and 0's;
  • a boolean that determines whether mask erosion is needed
  • the image pyramid, which is needed to determines the amount of erosion (can be set to 0 if useMaskErosion == false
  • the resolution level Output:
  • the mask as a spatial object, which can be set in a metric for example

This function is used by the registration components

template<class TElastix>
MovingMaskSpatialObjectPointer elastix::RegistrationBase< TElastix >::GenerateMovingMaskSpatialObject ( const MovingMaskImageType maskImage,
bool  useMaskErosion,
const MovingImagePyramidType pyramid,
unsigned int  level 
) const [protected]

Generate a spatial object from a mask image, possibly after eroding the image Input:

  • the mask as an image, consisting of 1's and 0's;
  • a boolean that determines whether mask erosion is needed
  • the image pyramid, which is needed to determines the amount of erosion (can be set to 0 if useMaskErosion == false
  • the resolution level Output:
  • the mask as a spatial object, which can be set in a metric for example

This function is used by the registration components

template<class TElastix>
virtual ITKBaseType* elastix::RegistrationBase< TElastix >::GetAsITKBaseType ( void  ) [inline, virtual]

Cast to ITKBaseType.

Definition at line 110 of file elxRegistrationBase.h.

template<class TElastix>
virtual const ITKBaseType* elastix::RegistrationBase< TElastix >::GetAsITKBaseType ( void  ) const [inline, virtual]

Cast to ITKBaseType, to use in const functions.

Definition at line 116 of file elxRegistrationBase.h.

template<class TElastix>
virtual const char* elastix::RegistrationBase< TElastix >::GetClassName ( ) const [virtual]
template<class TElastix>
elastix::RegistrationBase< TElastix >::itkStaticConstMacro ( FixedImageDimension  ,
unsigned  int,
FixedImageType::ImageDimension   
)

Get the dimension of the fixed image.

template<class TElastix>
elastix::RegistrationBase< TElastix >::itkStaticConstMacro ( MovingImageDimension  ,
unsigned  int,
MovingImageType::ImageDimension   
)

Get the dimension of the moving image.

template<class TElastix>
void elastix::RegistrationBase< TElastix >::operator= ( const Self ) [private]

The private copy constructor.

template<class TElastix>
virtual bool elastix::RegistrationBase< TElastix >::ReadMaskParameters ( UseMaskErosionArrayType useMaskErosionArray,
const unsigned int  nrOfMasks,
const std::string &  whichMask,
const unsigned int  level 
) const [virtual]

Function to read the mask parameters from the configuration object.

Todo:
: move to RegistrationBase Input:
  • an array that will contain a bool for each mask, saying if it needs erosion or not
  • the number of masks
  • whichMask: "Fixed" or "Moving"
  • the current resolution level Output:
  • The function returns a bool that says if any mask needs erosion. If the number of masks is zero, this bool will be false.
  • The useMaskErosionArray, which indicates for each mask whether it should be eroded. If the number of masks is zero, this array will be empty.

The function first checks Erode<Fixed,Moving>Mask<i>, with i the mask number, then Erode<Fixed,Moving>Mask, and finally ErodeMask. So, if you do not specify Erode<Fixed,Moving>Mask<i>, Erode<Fixed,Moving>Mask is tried, and then ErodeMask. If you specify ErodeMask, that option will be used for all masks, fixed and moving! All options can be specified for each resolution specifically, or at once for all resolutions.



Generated on 24-05-2012 for elastix by doxygen 1.7.6.1 elastix logo