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::ViolaWellsMutualInformationMetric< TElastix > Class Template Reference

#include <elxViolaWellsMutualInformationMetric.h>

Detailed Description

template<class TElastix>
class elastix::ViolaWellsMutualInformationMetric< TElastix >

A metric based on the itk::MutualInformationImageToImageMetric.

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.
: this metric uses stochastic sampling of the images. Do not use a quasi-Newton optimizer or a conjugate gradient. The StandardGradientDescent is a better choice.

The parameters used in this class are:

Parameters:

Metric: Select this metric as follows:
(Metric "ViolaWellsMutualInformation")

NumberOfSpatialSamples: for each resolution the number of samples used to calculate this metrics value and its derivative.
example: (NumberOfSpatialSamples 5000 5000 10000)
The default is 10000 for each resolution.

FixedImageStandardDeviation: for each resolution the standard deviation of the fixed image.
example: (FixedImageStandardDeviation 1.3 1.9 1.0)
The default is 0.4 for each resolution.

MovingImageStandardDeviation: for each resolution the standard deviation of the moving image.
example: (MovingImageStandardDeviation 1.3 1.9 1.0)
The default is 0.4 for each resolution.

See also
MutualInformationImageToImageMetric

Definition at line 61 of file elxViolaWellsMutualInformationMetric.h.

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

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::FixedImageIndexType FixedImageIndexType
 
typedef Superclass1::FixedImageIndexValueType FixedImageIndexValueType
 
typedef Superclass1::FixedImagePointType FixedImagePointType
 
typedef Superclass1::FixedImageType FixedImageType
 
typedef Superclass1::InterpolatorType InterpolatorType
 
typedef Superclass2::ITKBaseType ITKBaseType
 
typedef Superclass1::MeasureType MeasureType
 
typedef Superclass1::MovingImageConstPointer MovingImageCosntPointer
 
typedef Superclass1::MovingImageIndexType MovingImageIndexType
 
typedef Superclass1::MovingImagePointType MovingImagePointType
 
typedef Superclass1::MovingImageType MovingImageType
 
typedef Superclass1::ParametersType ParametersType
 
typedef itk::SmartPointer< SelfPointer
 
typedef Superclass2::RegistrationPointer RegistrationPointer
 
typedef Superclass2::RegistrationType RegistrationType
 
typedef ViolaWellsMutualInformationMetric Self
 
typedef itk::MutualInformationImageToImageMetric< 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 ElastixType::ConfigurationPointer ConfigurationPointer
 
typedef ElastixType::ConfigurationType ConfigurationType
 
typedef ElastixType::Pointer ElastixPointer
 
typedef TElastix ElastixType
 
typedef RegistrationTypeRegistrationPointer
 
typedef ElastixType::RegistrationBaseType RegistrationType
 
typedef BaseComponentSE Self
 
typedef BaseComponent Superclass
 

Public Member Functions

virtual void BeforeEachResolution (void)
 
 elxClassNameMacro ("ViolaWellsMutualInformation")
 
virtual const char * GetClassName () const
 
virtual void Initialize (void) throw ( itk::ExceptionObject )
 
 itkStaticConstMacro (MovingImageDimension, unsigned int, MovingImageType::ImageDimension)
 
- Public Member Functions inherited from elastix::MetricBase< TElastix >
virtual void AfterEachIterationBase (void)
 
virtual void BeforeEachResolutionBase (void)
 
virtual ImageSamplerBaseTypeGetAdvancedMetricImageSampler (void) const
 
virtual bool GetAdvancedMetricUseImageSampler (void) const
 
virtual ITKBaseTypeGetAsITKBaseType (void)
 
virtual const ITKBaseTypeGetAsITKBaseType (void) 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 >
virtual ConfigurationTypeGetConfiguration (void) const
 
virtual ElastixTypeGetElastix (void) const
 
virtual RegistrationPointer GetRegistration (void) const
 
virtual void SetConfiguration (ConfigurationType *_arg)
 
virtual void SetElastix (ElastixType *_arg)
 
- Public Member Functions inherited from elastix::BaseComponent
virtual void AfterEachIteration (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 BeforeRegistration (void)
 
virtual void BeforeRegistrationBase (void)
 
std::string ConvertSecondsToDHMS (const double totalSeconds, const unsigned int precision) const
 
virtual const char * elxGetClassName (void) const
 
virtual const char * GetComponentLabel (void) const
 
virtual void SetComponentLabel (const char *label, unsigned int idx)
 

Static Public Member Functions

static Pointer New ()
 

Protected Member Functions

 ViolaWellsMutualInformationMetric ()
 
virtual ~ViolaWellsMutualInformationMetric ()
 
- Protected Member Functions inherited from elastix::MetricBase< TElastix >
virtual MeasureType GetExactValue (const ParametersType &parameters)
 
 MetricBase ()
 
virtual ~MetricBase ()
 
- Protected Member Functions inherited from elastix::BaseComponentSE< TElastix >
 BaseComponentSE ()
 
virtual ~BaseComponentSE ()
 
- Protected Member Functions inherited from elastix::BaseComponent
 BaseComponent ()
 
virtual ~BaseComponent ()
 

Private Member Functions

void operator= (const Self &)
 
 ViolaWellsMutualInformationMetric (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
 
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

Definition at line 118 of file elxViolaWellsMutualInformationMetric.h.

Definition at line 117 of file elxViolaWellsMutualInformationMetric.h.

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

Definition at line 77 of file elxViolaWellsMutualInformationMetric.h.

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

Definition at line 98 of file elxViolaWellsMutualInformationMetric.h.

Definition at line 116 of file elxViolaWellsMutualInformationMetric.h.

Typedef's inherited from Elastix.

Definition at line 115 of file elxViolaWellsMutualInformationMetric.h.

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

Definition at line 102 of file elxViolaWellsMutualInformationMetric.h.

template<class TElastix >
typedef Superclass1::FixedImageIndexType elastix::ViolaWellsMutualInformationMetric< TElastix >::FixedImageIndexType

Definition at line 104 of file elxViolaWellsMutualInformationMetric.h.

template<class TElastix >
typedef Superclass1::FixedImageIndexValueType elastix::ViolaWellsMutualInformationMetric< TElastix >::FixedImageIndexValueType

Definition at line 105 of file elxViolaWellsMutualInformationMetric.h.

template<class TElastix >
typedef Superclass1::FixedImagePointType elastix::ViolaWellsMutualInformationMetric< TElastix >::FixedImagePointType

Definition at line 107 of file elxViolaWellsMutualInformationMetric.h.

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

Definition at line 100 of file elxViolaWellsMutualInformationMetric.h.

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

Definition at line 96 of file elxViolaWellsMutualInformationMetric.h.

Definition at line 121 of file elxViolaWellsMutualInformationMetric.h.

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

Definition at line 97 of file elxViolaWellsMutualInformationMetric.h.

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

Definition at line 103 of file elxViolaWellsMutualInformationMetric.h.

template<class TElastix >
typedef Superclass1::MovingImageIndexType elastix::ViolaWellsMutualInformationMetric< TElastix >::MovingImageIndexType

Definition at line 106 of file elxViolaWellsMutualInformationMetric.h.

template<class TElastix >
typedef Superclass1::MovingImagePointType elastix::ViolaWellsMutualInformationMetric< TElastix >::MovingImagePointType

Definition at line 108 of file elxViolaWellsMutualInformationMetric.h.

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

Definition at line 101 of file elxViolaWellsMutualInformationMetric.h.

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

Definition at line 99 of file elxViolaWellsMutualInformationMetric.h.

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

Definition at line 76 of file elxViolaWellsMutualInformationMetric.h.

Definition at line 120 of file elxViolaWellsMutualInformationMetric.h.

Definition at line 119 of file elxViolaWellsMutualInformationMetric.h.

Standard ITK-stuff.

Definition at line 71 of file elxViolaWellsMutualInformationMetric.h.

template<class TElastix >
typedef itk::MutualInformationImageToImageMetric< typename MetricBase< TElastix >::FixedImageType, typename MetricBase< TElastix >::MovingImageType > elastix::ViolaWellsMutualInformationMetric< TElastix >::Superclass1

Definition at line 74 of file elxViolaWellsMutualInformationMetric.h.

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

Definition at line 75 of file elxViolaWellsMutualInformationMetric.h.

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

Definition at line 95 of file elxViolaWellsMutualInformationMetric.h.

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

Definition at line 94 of file elxViolaWellsMutualInformationMetric.h.

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

Typedefs inherited from the superclass.

Definition at line 93 of file elxViolaWellsMutualInformationMetric.h.

Constructor & Destructor Documentation

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

The constructor.

template<class TElastix >
virtual elastix::ViolaWellsMutualInformationMetric< TElastix >::~ViolaWellsMutualInformationMetric ( )
inlineprotectedvirtual

The destructor.

Definition at line 140 of file elxViolaWellsMutualInformationMetric.h.

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

The private constructor.

Member Function Documentation

template<class TElastix >
virtual void elastix::ViolaWellsMutualInformationMetric< TElastix >::BeforeEachResolution ( void  )
virtual

Execute stuff before each new pyramid resolution:

  • Set the number of spatial samples.
  • Set the standard deviation of the fixed image.
  • Set the standard deviation of the moving image.

Reimplemented from elastix::BaseComponent.

template<class TElastix >
elastix::ViolaWellsMutualInformationMetric< TElastix >::elxClassNameMacro ( "ViolaWellsMutualInformation"  )

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

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

Run-time type information (and related methods).

Reimplemented from elastix::MetricBase< TElastix >.

template<class TElastix >
virtual void elastix::ViolaWellsMutualInformationMetric< TElastix >::Initialize ( void  )
throw (itk::ExceptionObject
)
virtual

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

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

The moving image dimension.

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

Method for creation through the object factory.

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

The private copy constructor.



Generated on 04-09-2015 for elastix by doxygen 1.8.9.1 elastix logo