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 | Static Public Member Functions | Protected Types | Protected Member Functions | Protected Attributes | Private Member Functions
elastix::MultiMetricMultiResolutionRegistration< TElastix > Class Template Reference

#include <elxMultiMetricMultiResolutionRegistration.h>

Detailed Description

template<class TElastix>
class elastix::MultiMetricMultiResolutionRegistration< TElastix >

A registration framework based on the itk::MultiMetricMultiResolutionImageRegistrationMethod.

This MultiMetricMultiResolutionRegistration gives a framework for registration with a multi-resolution approach, using multiple metrics. The metrics can use the same pair of images/image pyramids/interpolators /masks, but also different pairs of fixed/moving images etc. If the metrics use the same moving image and the same moving image pyramid, they can use the same interpolator. If multiple moving images are used, enter multiple interpolators, possibly of the same type: Like this for example:
(Interpolator "BSplineInterpolator" "BSplineInterpolator")
For each metric a different instance of an image sampler can be used:
(ImageSampler "Random" "Random")
or:
(ImageSampler "Random" "Full")
Note, that the number of metrics should always be larger than or equal to the number of fixed/moving images, interpolators, image pyramids etc. Also, when all metrics need an image sampler, for each fixed image pyramid, an image sampler must be provided. In some cases, one sampler can be used for all metrics. This is the case when multiple metrics are desired, but

The parameters used in this class are:

Parameters:

Registration: Select this registration framework as follows:
(Registration "MultiMetricMultiResolutionRegistration")

NumberOfResolutions: the number of resolutions used.
example: (NumberOfResolutions 4)
The default is 3.

Metric<i>Weight: The weight for the i-th metric, in each resolution.
example: (Metric0Weight 0.5 0.5 0.8)
example: (Metric1Weight 0.5 0.5 0.2)
The default is 1 / numberOfMetrics.

Metric<i>RelativeWeight: The relative weight $rw_i$ for the i-th metric, in each resolution.
This is an alternative to the default Metric<i>Weight and can be selected with the parameter UseRelativeWeights. The weight $w_i$ is computed in each iteration based on the magnitude of the metric derivative (gradient) $|g_i|$ related to that of the first metric $|g_0|$. It is done such that the fraction $|g_0|/|g_i|$ is identical to $rw_0/rw_i$, so

\[w_i = rw_i |g_0|/|g_i|.\]

example: (Metric0RelativeWeight 0.5 0.5 0.8)
example: (Metric1RelativeWeight 0.5 0.5 0.2)
The default is 1 / numberOfMetrics.

Parameters:

UseRelativeWeights: Whether relative weights are used or simple static, fixed weights.
example: (UseRelativeWeights "false" "true")
The default is "false", which means using Metric<i>Weight.

Metric<i>Use: Whether the i-th metric is only computed or also used, in each resolution.
example: (Metric0Use "false" "true")
example: (Metric1Use "true" "false")
The default is "true".

Definition at line 96 of file elxMultiMetricMultiResolutionRegistration.h.

+ Inheritance diagram for elastix::MultiMetricMultiResolutionRegistration< TElastix >:

Public Types

typedef Superclass1::CombinationMetricPointer CombinationMetricPointer
 
typedef Superclass1::CombinationMetricType CombinationMetricType
 
typedef Superclass2::ConfigurationPointer ConfigurationPointer
 
typedef Superclass2::ConfigurationType ConfigurationType
 
typedef itk::SmartPointer< const SelfConstPointer
 
typedef Superclass2::ElastixPointer ElastixPointer
 
typedef Superclass2::ElastixType ElastixType
 
typedef Superclass1::FixedImageConstPointer FixedImageConstPointer
 
typedef Superclass1::FixedImagePyramidPointer FixedImagePyramidPointer
 
typedef Superclass1::FixedImagePyramidType FixedImagePyramidType
 
typedef Superclass1::FixedImageRegionType FixedImageRegionType
 
typedef Superclass1::FixedImageType FixedImageType
 
typedef Superclass1::InterpolatorPointer InterpolatorPointer
 
typedef Superclass1::InterpolatorType InterpolatorType
 
typedef Superclass2::ITKBaseType ITKBaseType
 
typedef Superclass1::MetricPointer MetricPointer
 
typedef Superclass1::MetricType MetricType
 
typedef Superclass1::MovingImageConstPointer MovingImageConstPointer
 
typedef Superclass1::MovingImagePyramidPointer MovingImagePyramidPointer
 
typedef Superclass1::MovingImagePyramidType MovingImagePyramidType
 
typedef Superclass1::MovingImageType MovingImageType
 
typedef Superclass1::OptimizerPointer OptimizerPointer
 
typedef Superclass1::OptimizerType OptimizerType
 
typedef Superclass1::ParametersType ParametersType
 
typedef itk::SmartPointer< SelfPointer
 
typedef Superclass2::RegistrationPointer RegistrationPointer
 
typedef Superclass2::RegistrationType RegistrationType
 
typedef MultiMetricMultiResolutionRegistration Self
 
typedef itk::MultiMetricMultiResolutionImageRegistrationMethod< typename RegistrationBase< TElastix >::FixedImageType, typename RegistrationBase< TElastix >::MovingImageTypeSuperclass1
 
typedef RegistrationBase< TElastix > Superclass2
 
typedef Superclass1::TransformPointer TransformPointer
 
typedef Superclass1::TransformType TransformType
 
typedef Superclass2::UseMaskErosionArrayType UseMaskErosionArrayType
 
- Public Types inherited from itk::MultiMetricMultiResolutionImageRegistrationMethod< RegistrationBase< TElastix >::FixedImageType, RegistrationBase< TElastix >::MovingImageType >
typedef CombinationMetricType::Pointer CombinationMetricPointer
 
typedef CombinationImageToImageMetric< FixedImageType, MovingImageTypeCombinationMetricType
 
typedef SmartPointer< const SelfConstPointer
 
typedef Superclass::DataObjectPointer DataObjectPointer
 
typedef Superclass::FixedImageConstPointer FixedImageConstPointer
 
typedef Superclass::FixedImagePyramidPointer FixedImagePyramidPointer
 
typedef Superclass::FixedImagePyramidType FixedImagePyramidType
 
typedef Superclass::FixedImageRegionType FixedImageRegionType
 
typedef Superclass::FixedImageType FixedImageType
 
typedef Superclass::InterpolatorPointer InterpolatorPointer
 
typedef Superclass::InterpolatorType InterpolatorType
 
typedef Superclass::MetricPointer MetricPointer
 
typedef Superclass::MetricType MetricType
 
typedef Superclass::MovingImageConstPointer MovingImageConstPointer
 
typedef Superclass::MovingImagePyramidPointer MovingImagePyramidPointer
 
typedef Superclass::MovingImagePyramidType MovingImagePyramidType
 
typedef Superclass::MovingImageType MovingImageType
 
typedef OptimizerType::Pointer OptimizerPointer
 
typedef Superclass::OptimizerType OptimizerType
 
typedef Superclass::ParametersType ParametersType
 
typedef SmartPointer< SelfPointer
 
typedef MultiMetricMultiResolutionImageRegistrationMethod Self
 
typedef MultiResolutionImageRegistrationMethod2< RegistrationBase< TElastix >::FixedImageType, RegistrationBase< TElastix >::MovingImageTypeSuperclass
 
typedef Superclass::TransformOutputConstPointer TransformOutputConstPointer
 
typedef Superclass::TransformOutputPointer TransformOutputPointer
 
typedef Superclass::TransformOutputType TransformOutputType
 
typedef Superclass::TransformPointer TransformPointer
 
typedef Superclass::TransformType TransformType
 
- Public Types inherited from itk::MultiResolutionImageRegistrationMethod2< RegistrationBase< TElastix >::FixedImageType, RegistrationBase< TElastix >::MovingImageType >
typedef SmartPointer< const SelfConstPointer
 
typedef DataObject::Pointer DataObjectPointer
 
typedef FixedImageType::ConstPointer FixedImageConstPointer
 
typedef FixedImagePyramidType::Pointer FixedImagePyramidPointer
 
typedef MultiResolutionPyramidImageFilter< FixedImageType, FixedImageTypeFixedImagePyramidType
 
typedef std::vector< FixedImageRegionTypeFixedImageRegionPyramidType
 
typedef FixedImageType::RegionType FixedImageRegionType
 
typedef RegistrationBase< TElastix >::FixedImageType FixedImageType
 
typedef InterpolatorType::Pointer InterpolatorPointer
 
typedef MetricType::InterpolatorType InterpolatorType
 
typedef MetricType::Pointer MetricPointer
 
typedef AdvancedImageToImageMetric< FixedImageType, MovingImageTypeMetricType
 
typedef MovingImageType::ConstPointer MovingImageConstPointer
 
typedef MovingImagePyramidType::Pointer MovingImagePyramidPointer
 
typedef MultiResolutionPyramidImageFilter< MovingImageType, MovingImageTypeMovingImagePyramidType
 
typedef RegistrationBase< TElastix >::MovingImageType MovingImageType
 
typedef SingleValuedNonLinearOptimizer OptimizerType
 
typedef MetricType::TransformParametersType ParametersType
 
typedef SmartPointer< SelfPointer
 
typedef MultiResolutionImageRegistrationMethod2 Self
 
typedef ProcessObject Superclass
 
typedef TransformOutputType::ConstPointer TransformOutputConstPointer
 
typedef TransformOutputType::Pointer TransformOutputPointer
 
typedef DataObjectDecorator< TransformTypeTransformOutputType
 
typedef TransformType::Pointer TransformPointer
 
typedef MetricType::AdvancedTransformType TransformType
 
- Public Types inherited from elastix::RegistrationBase< TElastix >
typedef Superclass::ConfigurationPointer ConfigurationPointer
 
typedef Superclass::ConfigurationType ConfigurationType
 
typedef Superclass::ElastixPointer ElastixPointer
 
typedef Superclass::ElastixType ElastixType
 
typedef ElastixType::FixedImageType FixedImageType
 
typedef itk::MultiResolutionImageRegistrationMethod2< FixedImageType, MovingImageTypeITKBaseType
 
typedef ElastixType::MovingImageType MovingImageType
 
typedef Superclass::RegistrationPointer RegistrationPointer
 
typedef Superclass::RegistrationType RegistrationType
 
typedef RegistrationBase Self
 
typedef BaseComponentSE< TElastix > Superclass
 
typedef std::vector< boolUseMaskErosionArrayType
 
- Public Types inherited from elastix::BaseComponentSE< TElastix >
typedef Configuration::Pointer ConfigurationPointer
 
typedef Configuration ConfigurationType
 
typedef itk::WeakPointer< ElastixTypeElastixPointer
 
typedef TElastix ElastixType
 
typedef RegistrationTypeRegistrationPointer
 
typedef ElastixType::RegistrationBaseType RegistrationType
 
typedef BaseComponentSE Self
 
typedef BaseComponent Superclass
 

Public Member Functions

void AfterEachIteration (void) override
 
void BeforeEachResolution (void) override
 
void BeforeRegistration (void) override
 
 elxClassNameMacro ("MultiMetricMultiResolutionRegistration")
 
virtual const char * GetClassName () const
 
 itkStaticConstMacro (FixedImageDimension, unsigned int, Superclass2::FixedImageDimension)
 
 itkStaticConstMacro (MovingImageDimension, unsigned int, Superclass2::MovingImageDimension)
 
- Public Member Functions inherited from itk::MultiMetricMultiResolutionImageRegistrationMethod< RegistrationBase< TElastix >::FixedImageType, RegistrationBase< TElastix >::MovingImageType >
 elxOverrideSimpleSetMacro (FixedImage, const FixedImageType *)
 
 elxOverrideSimpleSetMacro (FixedImagePyramid, FixedImagePyramidType *)
 
 elxOverrideSimpleSetMacro (FixedImageRegion, const FixedImageRegionType)
 
 elxOverrideSimpleSetMacro (Interpolator, InterpolatorType *)
 
 elxOverrideSimpleSetMacro (MovingImage, const MovingImageType *)
 
 elxOverrideSimpleSetMacro (MovingImagePyramid, MovingImagePyramidType *)
 
virtual const char * GetClassName () const
 
virtual CombinationMetricTypeGetCombinationMetric (void) const
 
virtual const FixedImageTypeGetFixedImage (unsigned int pos) const
 
const FixedImageTypeGetFixedImage (void) const override
 
virtual FixedImagePyramidTypeGetFixedImagePyramid (unsigned int pos) const
 
FixedImagePyramidTypeGetFixedImagePyramid (void) override
 
virtual const FixedImageRegionTypeGetFixedImageRegion (unsigned int pos) const
 
const FixedImageRegionTypeGetFixedImageRegion (void) const override
 
virtual InterpolatorTypeGetInterpolator (unsigned int pos) const
 
InterpolatorTypeGetInterpolator (void) override
 
const ParametersTypeGetLastTransformParameters (void) const override
 
virtual const MovingImageTypeGetMovingImage (unsigned int pos) const
 
const MovingImageTypeGetMovingImage (void) const override
 
virtual MovingImagePyramidTypeGetMovingImagePyramid (unsigned int pos) const
 
MovingImagePyramidTypeGetMovingImagePyramid (void) override
 
ModifiedTimeType GetMTime (void) const override
 
 itkGetNumberOfMacro (FixedImage)
 
 itkGetNumberOfMacro (FixedImagePyramid)
 
 itkGetNumberOfMacro (FixedImageRegion)
 
 itkGetNumberOfMacro (Interpolator)
 
 itkGetNumberOfMacro (MovingImage)
 
 itkGetNumberOfMacro (MovingImagePyramid)
 
 itkSetNumberOfMacro (FixedImage)
 
 itkSetNumberOfMacro (FixedImagePyramid)
 
 itkSetNumberOfMacro (FixedImageRegion)
 
 itkSetNumberOfMacro (Interpolator)
 
 itkSetNumberOfMacro (MovingImage)
 
 itkSetNumberOfMacro (MovingImagePyramid)
 
virtual void SetFixedImage (const FixedImageType *_arg, unsigned int pos)
 
virtual void SetFixedImagePyramid (FixedImagePyramidType *_arg, unsigned int pos)
 
virtual void SetFixedImageRegion (FixedImageRegionType _arg, unsigned int pos)
 
virtual void SetInterpolator (InterpolatorType *_arg, unsigned int pos)
 
void SetMetric (MetricType *_arg) override
 
virtual void SetMovingImage (const MovingImageType *_arg, unsigned int pos)
 
virtual void SetMovingImagePyramid (MovingImagePyramidType *_arg, unsigned int pos)
 
virtual void StopMultiMetricRegistration (void)
 
- Public Member Functions inherited from itk::MultiResolutionImageRegistrationMethod2< RegistrationBase< TElastix >::FixedImageType, RegistrationBase< TElastix >::MovingImageType >
virtual const char * GetClassName () const
 
virtual unsigned long GetCurrentLevel ()
 
virtual const FixedImageTypeGetFixedImage ()
 
virtual const FixedImageRegionTypeGetFixedImageRegion ()
 
virtual const ParametersTypeGetInitialTransformParameters ()
 
virtual const ParametersTypeGetInitialTransformParametersOfNextLevel ()
 
virtual const ParametersTypeGetLastTransformParameters ()
 
virtual const MovingImageTypeGetMovingImage ()
 
ModifiedTimeType GetMTime (void) const override
 
virtual unsigned long GetNumberOfLevels ()
 
const TransformOutputTypeGetOutput (void) const
 
 itkGetModifiableObjectMacro (FixedImagePyramid, FixedImagePyramidType)
 
 itkGetModifiableObjectMacro (Interpolator, InterpolatorType)
 
 itkGetModifiableObjectMacro (Metric, MetricType)
 
 itkGetModifiableObjectMacro (MovingImagePyramid, MovingImagePyramidType)
 
 itkGetModifiableObjectMacro (Optimizer, OptimizerType)
 
 itkGetModifiableObjectMacro (Transform, TransformType)
 
virtual DataObjectPointer MakeOutput (unsigned int idx)
 
virtual void SetFixedImage (const FixedImageType *_arg)
 
virtual void SetFixedImagePyramid (FixedImagePyramidType *_arg)
 
virtual void SetFixedImageRegion (FixedImageRegionType _arg)
 
virtual void SetInitialTransformParameters (ParametersType _arg)
 
virtual void SetInitialTransformParametersOfNextLevel (ParametersType _arg)
 
virtual void SetInterpolator (InterpolatorType *_arg)
 
virtual void SetMetric (MetricType *_arg)
 
virtual void SetMovingImage (const MovingImageType *_arg)
 
virtual void SetMovingImagePyramid (MovingImagePyramidType *_arg)
 
virtual void SetNumberOfLevels (unsigned long _arg)
 
virtual void SetOptimizer (OptimizerType *_arg)
 
virtual void SetTransform (TransformType *_arg)
 
virtual void StartRegistration (void)
 
virtual void StopRegistration (void)
 
- Public Member Functions inherited from elastix::RegistrationBase< TElastix >
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
 
- Public Member Functions inherited from elastix::BaseComponentSE< TElastix >
ConfigurationTypeGetConfiguration (void) const
 
ElastixTypeGetElastix (void) const
 
RegistrationPointer GetRegistration (void) const
 
 ITK_DISALLOW_COPY_AND_ASSIGN (BaseComponentSE)
 
void SetConfiguration (ConfigurationType *_arg)
 
void SetElastix (ElastixType *_arg)
 
- Public Member Functions inherited from elastix::BaseComponent
virtual void AfterEachIteration (void)
 
virtual void AfterEachIterationBase (void)
 
virtual void AfterEachResolution (void)
 
virtual void AfterEachResolutionBase (void)
 
virtual void AfterRegistration (void)
 
virtual void AfterRegistrationBase (void)
 
virtual int BeforeAll (void)
 
virtual int BeforeAllBase (void)
 
virtual void BeforeEachResolution (void)
 
virtual void BeforeEachResolutionBase (void)
 
virtual void BeforeRegistration (void)
 
virtual void BeforeRegistrationBase (void)
 
virtual const char * elxGetClassName (void) const
 
const char * GetComponentLabel (void) const
 
 ITK_DISALLOW_COPY_AND_ASSIGN (BaseComponent)
 
 itkTypeMacroNoParent (BaseComponent)
 
void SetComponentLabel (const char *label, unsigned int idx)
 

Static Public Member Functions

static Pointer New ()
 
- Static Public Member Functions inherited from itk::MultiMetricMultiResolutionImageRegistrationMethod< RegistrationBase< TElastix >::FixedImageType, RegistrationBase< TElastix >::MovingImageType >
static Pointer New ()
 
- Static Public Member Functions inherited from itk::MultiResolutionImageRegistrationMethod2< RegistrationBase< TElastix >::FixedImageType, RegistrationBase< TElastix >::MovingImageType >
static Pointer New ()
 
- Static Public Member Functions inherited from elastix::BaseComponent
static std::string ConvertSecondsToDHMS (const double totalSeconds, const unsigned int precision)
 
static void InitializeElastixExecutable ()
 
static bool IsElastixLibrary ()
 

Protected Types

typedef Superclass2::FixedMaskImagePointer FixedMaskImagePointer
 
typedef Superclass2::FixedMaskImageType FixedMaskImageType
 
typedef Superclass2::FixedMaskSpatialObjectPointer FixedMaskSpatialObjectPointer
 
typedef Superclass2::FixedMaskSpatialObjectType FixedMaskSpatialObjectType
 
typedef Superclass2::MaskPixelType MaskPixelType
 
typedef Superclass2::MovingMaskImagePointer MovingMaskImagePointer
 
typedef Superclass2::MovingMaskImageType MovingMaskImageType
 
typedef Superclass2::MovingMaskSpatialObjectPointer MovingMaskSpatialObjectPointer
 
typedef Superclass2::MovingMaskSpatialObjectType MovingMaskSpatialObjectType
 
- Protected Types inherited from itk::MultiMetricMultiResolutionImageRegistrationMethod< RegistrationBase< TElastix >::FixedImageType, RegistrationBase< TElastix >::MovingImageType >
typedef std::vector< FixedImageRegionTypeFixedImageRegionPyramidType
 
- Protected Types inherited from elastix::RegistrationBase< TElastix >
typedef ITKBaseType::FixedImagePyramidType FixedImagePyramidType
 
typedef FixedMaskErodeFilterType::Pointer FixedMaskErodeFilterPointer
 
typedef itk::ErodeMaskImageFilter< FixedMaskImageTypeFixedMaskErodeFilterType
 
typedef FixedMaskImageType::Pointer FixedMaskImagePointer
 
typedef ElastixType::FixedMaskType FixedMaskImageType
 
typedef FixedMaskSpatialObjectType::Pointer FixedMaskSpatialObjectPointer
 
typedef itk::ImageMaskSpatialObject< itkGetStaticConstMacro(FixedImageDimension) > FixedMaskSpatialObjectType
 
typedef ElastixType::MaskPixelType MaskPixelType
 
typedef ITKBaseType::MovingImagePyramidType MovingImagePyramidType
 
typedef MovingMaskErodeFilterType::Pointer MovingMaskErodeFilterPointer
 
typedef itk::ErodeMaskImageFilter< MovingMaskImageTypeMovingMaskErodeFilterType
 
typedef MovingMaskImageType::Pointer MovingMaskImagePointer
 
typedef ElastixType::MovingMaskType MovingMaskImageType
 
typedef MovingMaskSpatialObjectType::Pointer MovingMaskSpatialObjectPointer
 
typedef itk::ImageMaskSpatialObject< itkGetStaticConstMacro(MovingImageDimension) > MovingMaskSpatialObjectType
 

Protected Member Functions

 MultiMetricMultiResolutionRegistration ()
 
virtual void SetComponents (void)
 
void UpdateFixedMasks (unsigned int level)
 
void UpdateMovingMasks (unsigned int level)
 
 ~MultiMetricMultiResolutionRegistration () override
 
- Protected Member Functions inherited from itk::MultiMetricMultiResolutionImageRegistrationMethod< RegistrationBase< TElastix >::FixedImageType, RegistrationBase< TElastix >::MovingImageType >
virtual void CheckOnInitialize (void)
 
virtual void CheckPyramids (void)
 
void GenerateData (void) override
 
void Initialize (void) override
 
 MultiMetricMultiResolutionImageRegistrationMethod ()
 
virtual void PrepareAllPyramids (void)
 
void PrintSelf (std::ostream &os, Indent indent) const override
 
 ~MultiMetricMultiResolutionImageRegistrationMethod () override
 
- Protected Member Functions inherited from itk::MultiResolutionImageRegistrationMethod2< RegistrationBase< TElastix >::FixedImageType, RegistrationBase< TElastix >::MovingImageType >
void GenerateData (void) override
 
virtual void Initialize ()
 
 MultiResolutionImageRegistrationMethod2 ()
 
virtual void PreparePyramids (void)
 
void PrintSelf (std::ostream &os, Indent indent) const override
 
virtual void SetCurrentLevel (unsigned long _arg)
 
 ~MultiResolutionImageRegistrationMethod2 () override
 
- Protected Member Functions inherited from elastix::RegistrationBase< TElastix >
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 ()
 
 ~RegistrationBase () override
 
- Protected Member Functions inherited from elastix::BaseComponentSE< TElastix >
 BaseComponentSE ()=default
 
 ~BaseComponentSE () override=default
 
- Protected Member Functions inherited from elastix::BaseComponent
 BaseComponent ()=default
 
virtual ~BaseComponent ()=default
 

Protected Attributes

bool m_ShowExactMetricValue
 
- Protected Attributes inherited from itk::MultiMetricMultiResolutionImageRegistrationMethod< RegistrationBase< TElastix >::FixedImageType, RegistrationBase< TElastix >::MovingImageType >
CombinationMetricPointer m_CombinationMetric
 
std::vector< FixedImagePyramidPointerm_FixedImagePyramids
 
std::vector< FixedImageRegionPyramidTypem_FixedImageRegionPyramids
 
std::vector< FixedImageRegionTypem_FixedImageRegions
 
std::vector< FixedImageConstPointerm_FixedImages
 
std::vector< InterpolatorPointerm_Interpolators
 
ParametersType m_LastTransformParameters
 
std::vector< MovingImagePyramidPointerm_MovingImagePyramids
 
std::vector< MovingImageConstPointerm_MovingImages
 
FixedImageRegionType m_NullFixedImageRegion
 
bool m_Stop
 
- Protected Attributes inherited from itk::MultiResolutionImageRegistrationMethod2< RegistrationBase< TElastix >::FixedImageType, RegistrationBase< TElastix >::MovingImageType >
ParametersType m_LastTransformParameters
 
bool m_Stop
 
- Protected Attributes inherited from elastix::BaseComponentSE< TElastix >
ConfigurationPointer m_Configuration {}
 
ElastixPointer m_Elastix {}
 
RegistrationPointer m_Registration {}
 

Private Member Functions

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

Member Typedef Documentation

◆ CombinationMetricPointer

template<class TElastix >
typedef Superclass1::CombinationMetricPointer elastix::MultiMetricMultiResolutionRegistration< TElastix >::CombinationMetricPointer

Definition at line 174 of file elxMultiMetricMultiResolutionRegistration.h.

◆ CombinationMetricType

template<class TElastix >
typedef Superclass1::CombinationMetricType elastix::MultiMetricMultiResolutionRegistration< TElastix >::CombinationMetricType

The CombinationMetric type, which is used internally by the Superclass1.

Definition at line 173 of file elxMultiMetricMultiResolutionRegistration.h.

◆ ConfigurationPointer

template<class TElastix >
typedef Superclass2::ConfigurationPointer elastix::MultiMetricMultiResolutionRegistration< TElastix >::ConfigurationPointer

Definition at line 180 of file elxMultiMetricMultiResolutionRegistration.h.

◆ ConfigurationType

template<class TElastix >
typedef Superclass2::ConfigurationType elastix::MultiMetricMultiResolutionRegistration< TElastix >::ConfigurationType

Definition at line 179 of file elxMultiMetricMultiResolutionRegistration.h.

◆ ConstPointer

template<class TElastix >
typedef itk::SmartPointer< const Self > elastix::MultiMetricMultiResolutionRegistration< TElastix >::ConstPointer

Definition at line 117 of file elxMultiMetricMultiResolutionRegistration.h.

◆ ElastixPointer

template<class TElastix >
typedef Superclass2::ElastixPointer elastix::MultiMetricMultiResolutionRegistration< TElastix >::ElastixPointer

Definition at line 178 of file elxMultiMetricMultiResolutionRegistration.h.

◆ ElastixType

template<class TElastix >
typedef Superclass2::ElastixType elastix::MultiMetricMultiResolutionRegistration< TElastix >::ElastixType

Typedef's from Elastix.

Definition at line 177 of file elxMultiMetricMultiResolutionRegistration.h.

◆ FixedImageConstPointer

template<class TElastix >
typedef Superclass1::FixedImageConstPointer elastix::MultiMetricMultiResolutionRegistration< TElastix >::FixedImageConstPointer

Definition at line 136 of file elxMultiMetricMultiResolutionRegistration.h.

◆ FixedImagePyramidPointer

template<class TElastix >
typedef Superclass1::FixedImagePyramidPointer elastix::MultiMetricMultiResolutionRegistration< TElastix >::FixedImagePyramidPointer

Definition at line 161 of file elxMultiMetricMultiResolutionRegistration.h.

◆ FixedImagePyramidType

template<class TElastix >
typedef Superclass1::FixedImagePyramidType elastix::MultiMetricMultiResolutionRegistration< TElastix >::FixedImagePyramidType

Type of the Fixed image multiresolution pyramid.

Definition at line 160 of file elxMultiMetricMultiResolutionRegistration.h.

◆ FixedImageRegionType

template<class TElastix >
typedef Superclass1::FixedImageRegionType elastix::MultiMetricMultiResolutionRegistration< TElastix >::FixedImageRegionType

Definition at line 137 of file elxMultiMetricMultiResolutionRegistration.h.

◆ FixedImageType

template<class TElastix >
typedef Superclass1::FixedImageType elastix::MultiMetricMultiResolutionRegistration< TElastix >::FixedImageType

Typedef's inherited from Superclass1. Type of the Fixed image.

Definition at line 135 of file elxMultiMetricMultiResolutionRegistration.h.

◆ FixedMaskImagePointer

template<class TElastix >
typedef Superclass2::FixedMaskImagePointer elastix::MultiMetricMultiResolutionRegistration< TElastix >::FixedMaskImagePointer
protected

Definition at line 221 of file elxMultiMetricMultiResolutionRegistration.h.

◆ FixedMaskImageType

template<class TElastix >
typedef Superclass2::FixedMaskImageType elastix::MultiMetricMultiResolutionRegistration< TElastix >::FixedMaskImageType
protected

Definition at line 219 of file elxMultiMetricMultiResolutionRegistration.h.

◆ FixedMaskSpatialObjectPointer

template<class TElastix >
typedef Superclass2::FixedMaskSpatialObjectPointer elastix::MultiMetricMultiResolutionRegistration< TElastix >::FixedMaskSpatialObjectPointer
protected

Definition at line 225 of file elxMultiMetricMultiResolutionRegistration.h.

◆ FixedMaskSpatialObjectType

template<class TElastix >
typedef Superclass2::FixedMaskSpatialObjectType elastix::MultiMetricMultiResolutionRegistration< TElastix >::FixedMaskSpatialObjectType
protected

Definition at line 223 of file elxMultiMetricMultiResolutionRegistration.h.

◆ InterpolatorPointer

template<class TElastix >
typedef Superclass1::InterpolatorPointer elastix::MultiMetricMultiResolutionRegistration< TElastix >::InterpolatorPointer

Definition at line 153 of file elxMultiMetricMultiResolutionRegistration.h.

◆ InterpolatorType

template<class TElastix >
typedef Superclass1::InterpolatorType elastix::MultiMetricMultiResolutionRegistration< TElastix >::InterpolatorType

Type of the Interpolator.

Definition at line 152 of file elxMultiMetricMultiResolutionRegistration.h.

◆ ITKBaseType

template<class TElastix >
typedef Superclass2::ITKBaseType elastix::MultiMetricMultiResolutionRegistration< TElastix >::ITKBaseType

Definition at line 183 of file elxMultiMetricMultiResolutionRegistration.h.

◆ MaskPixelType

template<class TElastix >
typedef Superclass2::MaskPixelType elastix::MultiMetricMultiResolutionRegistration< TElastix >::MaskPixelType
protected

Typedef's for mask support.

Definition at line 218 of file elxMultiMetricMultiResolutionRegistration.h.

◆ MetricPointer

template<class TElastix >
typedef Superclass1::MetricPointer elastix::MultiMetricMultiResolutionRegistration< TElastix >::MetricPointer

Definition at line 145 of file elxMultiMetricMultiResolutionRegistration.h.

◆ MetricType

template<class TElastix >
typedef Superclass1::MetricType elastix::MultiMetricMultiResolutionRegistration< TElastix >::MetricType

Type of the metric.

Definition at line 144 of file elxMultiMetricMultiResolutionRegistration.h.

◆ MovingImageConstPointer

template<class TElastix >
typedef Superclass1::MovingImageConstPointer elastix::MultiMetricMultiResolutionRegistration< TElastix >::MovingImageConstPointer

Definition at line 141 of file elxMultiMetricMultiResolutionRegistration.h.

◆ MovingImagePyramidPointer

template<class TElastix >
typedef Superclass1::MovingImagePyramidPointer elastix::MultiMetricMultiResolutionRegistration< TElastix >::MovingImagePyramidPointer

Definition at line 165 of file elxMultiMetricMultiResolutionRegistration.h.

◆ MovingImagePyramidType

template<class TElastix >
typedef Superclass1::MovingImagePyramidType elastix::MultiMetricMultiResolutionRegistration< TElastix >::MovingImagePyramidType

Type of the moving image multiresolution pyramid.

Definition at line 164 of file elxMultiMetricMultiResolutionRegistration.h.

◆ MovingImageType

template<class TElastix >
typedef Superclass1::MovingImageType elastix::MultiMetricMultiResolutionRegistration< TElastix >::MovingImageType

Type of the Moving image.

Definition at line 140 of file elxMultiMetricMultiResolutionRegistration.h.

◆ MovingMaskImagePointer

template<class TElastix >
typedef Superclass2::MovingMaskImagePointer elastix::MultiMetricMultiResolutionRegistration< TElastix >::MovingMaskImagePointer
protected

Definition at line 222 of file elxMultiMetricMultiResolutionRegistration.h.

◆ MovingMaskImageType

template<class TElastix >
typedef Superclass2::MovingMaskImageType elastix::MultiMetricMultiResolutionRegistration< TElastix >::MovingMaskImageType
protected

Definition at line 220 of file elxMultiMetricMultiResolutionRegistration.h.

◆ MovingMaskSpatialObjectPointer

template<class TElastix >
typedef Superclass2::MovingMaskSpatialObjectPointer elastix::MultiMetricMultiResolutionRegistration< TElastix >::MovingMaskSpatialObjectPointer
protected

Definition at line 226 of file elxMultiMetricMultiResolutionRegistration.h.

◆ MovingMaskSpatialObjectType

template<class TElastix >
typedef Superclass2::MovingMaskSpatialObjectType elastix::MultiMetricMultiResolutionRegistration< TElastix >::MovingMaskSpatialObjectType
protected

Definition at line 224 of file elxMultiMetricMultiResolutionRegistration.h.

◆ OptimizerPointer

template<class TElastix >
typedef Superclass1::OptimizerPointer elastix::MultiMetricMultiResolutionRegistration< TElastix >::OptimizerPointer

Definition at line 157 of file elxMultiMetricMultiResolutionRegistration.h.

◆ OptimizerType

template<class TElastix >
typedef Superclass1::OptimizerType elastix::MultiMetricMultiResolutionRegistration< TElastix >::OptimizerType

Type of the optimizer.

Definition at line 156 of file elxMultiMetricMultiResolutionRegistration.h.

◆ ParametersType

template<class TElastix >
typedef Superclass1::ParametersType elastix::MultiMetricMultiResolutionRegistration< TElastix >::ParametersType

Type of the Transformation parameters. This is the same type used to represent the search space of the optimization algorithm.

Definition at line 170 of file elxMultiMetricMultiResolutionRegistration.h.

◆ Pointer

template<class TElastix >
typedef itk::SmartPointer< Self > elastix::MultiMetricMultiResolutionRegistration< TElastix >::Pointer

Standard ITK: SmartPointers

Definition at line 116 of file elxMultiMetricMultiResolutionRegistration.h.

◆ RegistrationPointer

template<class TElastix >
typedef Superclass2::RegistrationPointer elastix::MultiMetricMultiResolutionRegistration< TElastix >::RegistrationPointer

Definition at line 182 of file elxMultiMetricMultiResolutionRegistration.h.

◆ RegistrationType

template<class TElastix >
typedef Superclass2::RegistrationType elastix::MultiMetricMultiResolutionRegistration< TElastix >::RegistrationType

Definition at line 181 of file elxMultiMetricMultiResolutionRegistration.h.

◆ Self

Standard ITK: Self

Definition at line 106 of file elxMultiMetricMultiResolutionRegistration.h.

◆ Superclass1

Standard ITK: Superclasses.

Definition at line 112 of file elxMultiMetricMultiResolutionRegistration.h.

◆ Superclass2

template<class TElastix >
typedef RegistrationBase< TElastix > elastix::MultiMetricMultiResolutionRegistration< TElastix >::Superclass2

Definition at line 113 of file elxMultiMetricMultiResolutionRegistration.h.

◆ TransformPointer

template<class TElastix >
typedef Superclass1::TransformPointer elastix::MultiMetricMultiResolutionRegistration< TElastix >::TransformPointer

Definition at line 149 of file elxMultiMetricMultiResolutionRegistration.h.

◆ TransformType

template<class TElastix >
typedef Superclass1::TransformType elastix::MultiMetricMultiResolutionRegistration< TElastix >::TransformType

Type of the Transform .

Definition at line 148 of file elxMultiMetricMultiResolutionRegistration.h.

◆ UseMaskErosionArrayType

template<class TElastix >
typedef Superclass2::UseMaskErosionArrayType elastix::MultiMetricMultiResolutionRegistration< TElastix >::UseMaskErosionArrayType

Definition at line 184 of file elxMultiMetricMultiResolutionRegistration.h.

Constructor & Destructor Documentation

◆ MultiMetricMultiResolutionRegistration() [1/2]

template<class TElastix >
elastix::MultiMetricMultiResolutionRegistration< TElastix >::MultiMetricMultiResolutionRegistration ( )
protected

The constructor.

◆ ~MultiMetricMultiResolutionRegistration()

template<class TElastix >
elastix::MultiMetricMultiResolutionRegistration< TElastix >::~MultiMetricMultiResolutionRegistration ( )
inlineoverrideprotected

The destructor.

Definition at line 215 of file elxMultiMetricMultiResolutionRegistration.h.

◆ MultiMetricMultiResolutionRegistration() [2/2]

template<class TElastix >
elastix::MultiMetricMultiResolutionRegistration< TElastix >::MultiMetricMultiResolutionRegistration ( const Self )
private

The private constructor.

Member Function Documentation

◆ AfterEachIteration()

template<class TElastix >
void elastix::MultiMetricMultiResolutionRegistration< TElastix >::AfterEachIteration ( void  )
overridevirtual

Execute stuff after each iteration

  • Print the latest computed submetric values to screen.

Reimplemented from elastix::BaseComponent.

◆ BeforeEachResolution()

template<class TElastix >
void elastix::MultiMetricMultiResolutionRegistration< TElastix >::BeforeEachResolution ( void  )
overridevirtual

Execute stuff before each resolution:

  • Update masks with an erosion.
  • Set the metric weights.

Reimplemented from elastix::BaseComponent.

◆ BeforeRegistration()

template<class TElastix >
void elastix::MultiMetricMultiResolutionRegistration< TElastix >::BeforeRegistration ( void  )
overridevirtual

Execute stuff before the actual registration:

  • Connect all components to the registration framework.
  • Set the number of resolution levels.
  • Set the fixed image regions.
  • Add the sub metric columns to the iteration info object.

Reimplemented from elastix::BaseComponent.

◆ elxClassNameMacro()

template<class TElastix >
elastix::MultiMetricMultiResolutionRegistration< TElastix >::elxClassNameMacro ( "MultiMetricMultiResolutionRegistration< TElastix >"  )

Name of this class. Use this name in the parameter file to select this specific registration framework.
example: (Registration "MultiMetricMultiResolutionRegistration")

◆ GetClassName()

template<class TElastix >
virtual const char * elastix::MultiMetricMultiResolutionRegistration< TElastix >::GetClassName ( ) const
virtual

Run-time type information (and related methods).

Reimplemented from elastix::RegistrationBase< TElastix >.

◆ itkStaticConstMacro() [1/2]

template<class TElastix >
elastix::MultiMetricMultiResolutionRegistration< TElastix >::itkStaticConstMacro ( FixedImageDimension  ,
unsigned int  ,
Superclass2::FixedImageDimension   
)

Get the dimension of the fixed image.

◆ itkStaticConstMacro() [2/2]

template<class TElastix >
elastix::MultiMetricMultiResolutionRegistration< TElastix >::itkStaticConstMacro ( MovingImageDimension  ,
unsigned int  ,
Superclass2::MovingImageDimension   
)

Get the dimension of the moving image.

◆ New()

template<class TElastix >
static Pointer elastix::MultiMetricMultiResolutionRegistration< TElastix >::New ( )
static

Method for creation through the object factory.

◆ operator=()

template<class TElastix >
void elastix::MultiMetricMultiResolutionRegistration< TElastix >::operator= ( const Self )
private

The private copy constructor.

◆ SetComponents()

template<class TElastix >
virtual void elastix::MultiMetricMultiResolutionRegistration< TElastix >::SetComponents ( void  )
protectedvirtual

Read the components from m_Elastix and set them in the Registration class.

◆ UpdateFixedMasks()

template<class TElastix >
void elastix::MultiMetricMultiResolutionRegistration< TElastix >::UpdateFixedMasks ( unsigned int  level)
protected

Function to update masks.

◆ UpdateMovingMasks()

template<class TElastix >
void elastix::MultiMetricMultiResolutionRegistration< TElastix >::UpdateMovingMasks ( unsigned int  level)
protected

Field Documentation

◆ m_ShowExactMetricValue

template<class TElastix >
bool elastix::MultiMetricMultiResolutionRegistration< TElastix >::m_ShowExactMetricValue
protected

Definition at line 236 of file elxMultiMetricMultiResolutionRegistration.h.



Generated on 1667476801 for elastix by doxygen 1.9.4 elastix logo