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 Member Functions | Private Member Functions
elastix::MutualInformationHistogramMetric< TElastix > Class Template Reference

#include <elxMutualInformationHistogramMetric.h>

Detailed Description

template<class TElastix>
class elastix::MutualInformationHistogramMetric< TElastix >

A metric based on the itk::MutualInformationHistogramImageToImageMetric.

This metric is not yet fully supported. But with a little effort it is!

Warning
: this metric is not very well tested in elastix.
: this metric is not based on the AdvancedImageToImageMetric so does not support the ImageSampler framework and might be very slow in combination with B-spline transform.

The parameters used in this class are:

Parameters:
Metric: Select this metric as follows:
(Metric "MutualInformationHistogram")

Definition at line 46 of file elxMutualInformationHistogramMetric.h.

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

Public Types

typedef Superclass2::ConfigurationPointer ConfigurationPointer
 
typedef Superclass2::ConfigurationType ConfigurationType
 
typedef itk::SmartPointer< const SelfConstPointer
 
typedef Superclass1::DerivativeType DerivativeType
 
typedef Superclass2::ElastixPointer ElastixPointer
 
typedef Superclass2::ElastixType ElastixType
 
typedef Superclass1::FixedImageConstPointer FixedImageConstPointer
 
typedef Superclass1::FixedImageType FixedImageType
 
typedef Superclass1::InterpolatorType InterpolatorType
 
typedef Superclass2::ITKBaseType ITKBaseType
 
typedef Superclass1::MeasureType MeasureType
 
typedef Superclass1::MovingImageConstPointer MovingImageCosntPointer
 
typedef Superclass1::MovingImageType MovingImageType
 
typedef Superclass1::ParametersType ParametersType
 
typedef itk::SmartPointer< SelfPointer
 
typedef Superclass2::RegistrationPointer RegistrationPointer
 
typedef Superclass2::RegistrationType RegistrationType
 
typedef Superclass1::ScalesType ScalesType
 
typedef MutualInformationHistogramMetric Self
 
typedef itk::MutualInformationHistogramImageToImageMetric< typename MetricBase< TElastix >::FixedImageType, typename MetricBase< TElastix >::MovingImageTypeSuperclass1
 
typedef MetricBase< TElastix > Superclass2
 
typedef Superclass1::TransformJacobianType TransformJacobianType
 
typedef Superclass1::TransformPointer TransformPointer
 
typedef Superclass1::TransformType TransformType
 
- Public Types inherited from elastix::MetricBase< TElastix >
typedef itk::AdvancedImageToImageMetric< FixedImageType, MovingImageTypeAdvancedMetricType
 
typedef Superclass::ConfigurationPointer ConfigurationPointer
 
typedef Superclass::ConfigurationType ConfigurationType
 
typedef ITKBaseType::ParametersValueType CoordinateRepresentationType
 
typedef Superclass::ElastixPointer ElastixPointer
 
typedef Superclass::ElastixType ElastixType
 
typedef ElastixType::FixedImageType FixedImageType
 
typedef itk::PointSet< CoordinateRepresentationType, FixedImageDimension, itk::DefaultStaticMeshTraits< CoordinateRepresentationType, FixedImageDimension, FixedImageDimension, CoordinateRepresentationType, CoordinateRepresentationType, CoordinateRepresentationType > > FixedPointSetType
 
typedef FixedImageType::PointType FixedPointType
 
typedef FixedPointType::ValueType FixedPointValueType
 
typedef AdvancedMetricType::ImageSamplerType ImageSamplerBaseType
 
typedef itk::SingleValuedCostFunction ITKBaseType
 
typedef ITKBaseType::MeasureType MeasureType
 
typedef AdvancedMetricType::MovingImageDerivativeScalesType MovingImageDerivativeScalesType
 
typedef ElastixType::MovingImageType MovingImageType
 
typedef itk::PointSet< CoordinateRepresentationType, MovingImageDimension, itk::DefaultStaticMeshTraits< CoordinateRepresentationType, MovingImageDimension, MovingImageDimension, CoordinateRepresentationType, CoordinateRepresentationType, CoordinateRepresentationType > > MovingPointSetType
 
typedef MovingImageType::PointType MovingPointType
 
typedef MovingPointType::ValueType MovingPointValueType
 
typedef Superclass::RegistrationPointer RegistrationPointer
 
typedef Superclass::RegistrationType RegistrationType
 
typedef MetricBase Self
 
typedef BaseComponentSE< TElastix > Superclass
 
- 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 BeforeEachResolution (void) override
 
void BeforeRegistration (void) override
 
 elxClassNameMacro ("MutualInformationHistogram")
 
virtual const char * GetClassName () const
 
void Initialize (void) override
 
 itkStaticConstMacro (MovingImageDimension, unsigned int, MovingImageType::ImageDimension)
 
- Public Member Functions inherited from elastix::MetricBase< TElastix >
void AfterEachIterationBase (void) override
 
void BeforeEachResolutionBase (void) override
 
virtual ImageSamplerBaseTypeGetAdvancedMetricImageSampler (void) const
 
virtual bool GetAdvancedMetricUseImageSampler (void) const
 
virtual ITKBaseTypeGetAsITKBaseType (void)
 
virtual const ITKBaseTypeGetAsITKBaseType (void) const
 
virtual const char * GetClassName () const
 
virtual MeasureType GetCurrentExactMetricValue (void) const
 
virtual bool GetShowExactMetricValue (void) const
 
 itkStaticConstMacro (FixedImageDimension, unsigned int, FixedImageType::ImageDimension)
 
 itkStaticConstMacro (MovingImageDimension, unsigned int, MovingImageType::ImageDimension)
 
virtual void SelectNewSamples (void)
 
virtual void SetAdvancedMetricImageSampler (ImageSamplerBaseType *sampler)
 
- 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 elastix::BaseComponent
static std::string ConvertSecondsToDHMS (const double totalSeconds, const unsigned int precision)
 
static void InitializeElastixExecutable ()
 
static bool IsElastixLibrary ()
 

Protected Member Functions

 MutualInformationHistogramMetric ()
 
 ~MutualInformationHistogramMetric () override
 
- Protected Member Functions inherited from elastix::MetricBase< TElastix >
virtual MeasureType GetExactValue (const ParametersType &parameters)
 
 MetricBase ()
 
 ~MetricBase () 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
 

Private Member Functions

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

Additional Inherited Members

- Protected Types inherited from elastix::MetricBase< TElastix >
typedef ExactMetricImageSamplerType::Pointer ExactMetricImageSamplerPointer
 
typedef itk::ImageGridSampler< FixedImageTypeExactMetricImageSamplerType
 
typedef ExactMetricImageSamplerType::SampleGridSpacingType ExactMetricSampleGridSpacingType
 
typedef ITKBaseType::ParametersType ParametersType
 
- Protected Attributes inherited from elastix::MetricBase< TElastix >
MeasureType m_CurrentExactMetricValue
 
unsigned int m_ExactMetricEachXNumberOfIterations
 
ExactMetricSampleGridSpacingType m_ExactMetricSampleGridSpacing
 
ExactMetricImageSamplerPointer m_ExactMetricSampler
 
bool m_ShowExactMetricValue
 
- Protected Attributes inherited from elastix::BaseComponentSE< TElastix >
ConfigurationPointer m_Configuration {}
 
ElastixPointer m_Elastix {}
 
RegistrationPointer m_Registration {}
 

Member Typedef Documentation

◆ ConfigurationPointer

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

Definition at line 99 of file elxMutualInformationHistogramMetric.h.

◆ ConfigurationType

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

Definition at line 98 of file elxMutualInformationHistogramMetric.h.

◆ ConstPointer

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

Definition at line 62 of file elxMutualInformationHistogramMetric.h.

◆ DerivativeType

template<class TElastix >
typedef Superclass1::DerivativeType elastix::MutualInformationHistogramMetric< TElastix >::DerivativeType

Definition at line 83 of file elxMutualInformationHistogramMetric.h.

◆ ElastixPointer

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

Definition at line 97 of file elxMutualInformationHistogramMetric.h.

◆ ElastixType

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

Typedef's inherited from Elastix.

Definition at line 96 of file elxMutualInformationHistogramMetric.h.

◆ FixedImageConstPointer

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

Definition at line 87 of file elxMutualInformationHistogramMetric.h.

◆ FixedImageType

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

Definition at line 85 of file elxMutualInformationHistogramMetric.h.

◆ InterpolatorType

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

Definition at line 81 of file elxMutualInformationHistogramMetric.h.

◆ ITKBaseType

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

Definition at line 102 of file elxMutualInformationHistogramMetric.h.

◆ MeasureType

template<class TElastix >
typedef Superclass1::MeasureType elastix::MutualInformationHistogramMetric< TElastix >::MeasureType

Definition at line 82 of file elxMutualInformationHistogramMetric.h.

◆ MovingImageCosntPointer

template<class TElastix >
typedef Superclass1::MovingImageConstPointer elastix::MutualInformationHistogramMetric< TElastix >::MovingImageCosntPointer

Definition at line 88 of file elxMutualInformationHistogramMetric.h.

◆ MovingImageType

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

Definition at line 86 of file elxMutualInformationHistogramMetric.h.

◆ ParametersType

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

Definition at line 84 of file elxMutualInformationHistogramMetric.h.

◆ Pointer

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

Definition at line 61 of file elxMutualInformationHistogramMetric.h.

◆ RegistrationPointer

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

Definition at line 101 of file elxMutualInformationHistogramMetric.h.

◆ RegistrationType

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

Definition at line 100 of file elxMutualInformationHistogramMetric.h.

◆ ScalesType

template<class TElastix >
typedef Superclass1::ScalesType elastix::MutualInformationHistogramMetric< TElastix >::ScalesType

Definition at line 89 of file elxMutualInformationHistogramMetric.h.

◆ Self

template<class TElastix >
typedef MutualInformationHistogramMetric elastix::MutualInformationHistogramMetric< TElastix >::Self

Standard ITK-stuff.

Definition at line 56 of file elxMutualInformationHistogramMetric.h.

◆ Superclass1

template<class TElastix >
typedef itk::MutualInformationHistogramImageToImageMetric< typename MetricBase< TElastix >::FixedImageType, typename MetricBase< TElastix >::MovingImageType > elastix::MutualInformationHistogramMetric< TElastix >::Superclass1

Definition at line 59 of file elxMutualInformationHistogramMetric.h.

◆ Superclass2

template<class TElastix >
typedef MetricBase< TElastix > elastix::MutualInformationHistogramMetric< TElastix >::Superclass2

Definition at line 60 of file elxMutualInformationHistogramMetric.h.

◆ TransformJacobianType

template<class TElastix >
typedef Superclass1::TransformJacobianType elastix::MutualInformationHistogramMetric< TElastix >::TransformJacobianType

Definition at line 80 of file elxMutualInformationHistogramMetric.h.

◆ TransformPointer

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

Definition at line 79 of file elxMutualInformationHistogramMetric.h.

◆ TransformType

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

Typedefs inherited from the superclass.

Definition at line 78 of file elxMutualInformationHistogramMetric.h.

Constructor & Destructor Documentation

◆ MutualInformationHistogramMetric() [1/2]

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

The constructor.

◆ ~MutualInformationHistogramMetric()

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

The destructor.

Definition at line 124 of file elxMutualInformationHistogramMetric.h.

◆ MutualInformationHistogramMetric() [2/2]

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

The private constructor.

Member Function Documentation

◆ BeforeEachResolution()

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

Execute stuff before each new pyramid resolution:

  • Nothing yet: still to be implemented.

Reimplemented from elastix::BaseComponent.

◆ BeforeRegistration()

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

Execute stuff before the actual registration:

  • Nothing yet: still to be implemented.

Reimplemented from elastix::BaseComponent.

◆ elxClassNameMacro()

template<class TElastix >
elastix::MutualInformationHistogramMetric< TElastix >::elxClassNameMacro ( "MutualInformationHistogram"  )

Name of this class. Use this name in the parameter file to select this specific metric.
example: (Metric "MutualInformationHistogram")

◆ GetClassName()

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

Run-time type information (and related methods).

Reimplemented from elastix::MetricBase< TElastix >.

◆ Initialize()

template<class TElastix >
void elastix::MutualInformationHistogramMetric< TElastix >::Initialize ( void  )
override

Sets up a timer to measure the initialization time and calls the Superclass' implementation.

◆ itkStaticConstMacro()

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

The moving image dimension.

◆ New()

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

Method for creation through the object factory.

◆ operator=()

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

The private copy constructor.



Generated on 1667476801 for elastix by doxygen 1.9.4 elastix logo