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 | Private Attributes
itk::AdvancedMeanSquaresImageToImageMetric< TFixedImage, TMovingImage > Class Template Reference

#include <itkAdvancedMeanSquaresImageToImageMetric.h>

Inheritance diagram for itk::AdvancedMeanSquaresImageToImageMetric< TFixedImage, TMovingImage >:
Inheritance graph
[legend]
Collaboration diagram for itk::AdvancedMeanSquaresImageToImageMetric< TFixedImage, TMovingImage >:
Collaboration graph
[legend]

Public Types

typedef SmartPointer< const SelfConstPointer
typedef
Superclass::CoordinateRepresentationType 
CoordinateRepresentationType
typedef Superclass::DerivativeType DerivativeType
typedef
Superclass::FixedImageConstPointer 
FixedImageConstPointer
typedef
Superclass::FixedImageLimiterOutputType 
FixedImageLimiterOutputType
typedef
Superclass::FixedImageLimiterType 
FixedImageLimiterType
typedef
Superclass::FixedImageMaskPointer 
FixedImageMaskPointer
typedef
Superclass::FixedImageMaskType 
FixedImageMaskType
typedef
Superclass::FixedImagePixelType 
FixedImagePixelType
typedef
Superclass::FixedImageRegionType 
FixedImageRegionType
typedef Superclass::FixedImageType FixedImageType
typedef
Superclass::GradientImageFilterPointer 
GradientImageFilterPointer
typedef
Superclass::GradientImageFilterType 
GradientImageFilterType
typedef
Superclass::GradientImagePointer 
GradientImagePointer
typedef
Superclass::GradientImageType 
GradientImageType
typedef
Superclass::GradientPixelType 
GradientPixelType
typedef Superclass::HessianType HessianType
typedef
Superclass::HessianValueType 
HessianValueType
typedef
Superclass::ImageSampleContainerPointer 
ImageSampleContainerPointer
typedef
Superclass::ImageSampleContainerType 
ImageSampleContainerType
typedef
Superclass::ImageSamplerPointer 
ImageSamplerPointer
typedef
Superclass::ImageSamplerType 
ImageSamplerType
typedef Superclass::InputPointType InputPointType
typedef
Superclass::InterpolatorPointer 
InterpolatorPointer
typedef
Superclass::InterpolatorType 
InterpolatorType
typedef Superclass::MeasureType MeasureType
typedef
Superclass::MovingImageConstPointer 
MovingImageConstPointer
typedef
Superclass::MovingImageDerivativeScalesType 
MovingImageDerivativeScalesType
typedef
Superclass::MovingImageLimiterOutputType 
MovingImageLimiterOutputType
typedef
Superclass::MovingImageLimiterType 
MovingImageLimiterType
typedef
Superclass::MovingImageMaskPointer 
MovingImageMaskPointer
typedef
Superclass::MovingImageMaskType 
MovingImageMaskType
typedef
Superclass::MovingImagePixelType 
MovingImagePixelType
typedef
Superclass::MovingImageRegionType 
MovingImageRegionType
typedef Superclass::MovingImageType MovingImageType
typedef Superclass::OutputPointType OutputPointType
typedef Superclass::ParametersType ParametersType
typedef SmartPointer< SelfPointer
typedef Superclass::RealType RealType
typedef
AdvancedMeanSquaresImageToImageMetric 
Self
typedef
AdvancedImageToImageMetric
< TFixedImage, TMovingImage > 
Superclass
typedef
Superclass::TransformJacobianType 
TransformJacobianType
typedef
Superclass::TransformParametersType 
TransformParametersType
typedef
Superclass::TransformPointer 
TransformPointer
typedef Superclass::TransformType TransformType

Public Member Functions

virtual const char * GetClassName () const
virtual void GetDerivative (const TransformParametersType &parameters, DerivativeType &derivative) const
virtual unsigned int GetNumberOfSamplesForSelfHessian () const
virtual void GetSelfHessian (const TransformParametersType &parameters, HessianType &H) const
virtual double GetSelfHessianNoiseRange () const
virtual double GetSelfHessianSmoothingSigma () const
virtual bool GetUseNormalization () const
virtual MeasureType GetValue (const TransformParametersType &parameters) const
virtual void GetValueAndDerivative (const TransformParametersType &parameters, MeasureType &Value, DerivativeType &Derivative) const
virtual void Initialize (void) throw ( ExceptionObject )
 itkStaticConstMacro (FixedImageDimension, unsigned int, FixedImageType::ImageDimension)
 itkStaticConstMacro (MovingImageDimension, unsigned int, MovingImageType::ImageDimension)
virtual void SetNumberOfSamplesForSelfHessian (unsigned int _arg)
virtual void SetSelfHessianNoiseRange (double _arg)
virtual void SetSelfHessianSmoothingSigma (double _arg)
virtual void SetUseNormalization (bool _arg)

Static Public Member Functions

static Pointer New ()

Protected Types

typedef
Superclass::BSplineInterpolatorType 
BSplineInterpolatorType
typedef
Superclass::CentralDifferenceGradientFilterType 
CentralDifferenceGradientFilterType
typedef
NearestNeighborInterpolateImageFunction
< FixedImageType,
CoordinateRepresentationType
DummyFixedImageInterpolatorType
typedef
Superclass::FixedImageIndexType 
FixedImageIndexType
typedef
Superclass::FixedImageIndexValueType 
FixedImageIndexValueType
typedef
BSplineInterpolateImageFunction
< FixedImageType,
CoordinateRepresentationType
FixedImageInterpolatorType
typedef
Superclass::FixedImagePointType 
FixedImagePointType
typedef
Superclass::MovingImageContinuousIndexType 
MovingImageContinuousIndexType
typedef
Superclass::MovingImageDerivativeType 
MovingImageDerivativeType
typedef
Superclass::MovingImageIndexType 
MovingImageIndexType
typedef
Superclass::MovingImagePointType 
MovingImagePointType
typedef
Superclass::NonZeroJacobianIndicesType 
NonZeroJacobianIndicesType
typedef ImageGridSampler
< FixedImageType
SelfHessianSamplerType
typedef
SmoothingRecursiveGaussianImageFilter
< FixedImageType,
FixedImageType
SmootherType

Protected Member Functions

 AdvancedMeanSquaresImageToImageMetric ()
void EvaluateTransformJacobianInnerProduct (const TransformJacobianType &jacobian, const MovingImageDerivativeType &movingImageDerivative, DerivativeType &imageJacobian) const
void PrintSelf (std::ostream &os, Indent indent) const
void UpdateSelfHessianTerms (const DerivativeType &imageJacobian, const NonZeroJacobianIndicesType &nzji, HessianType &H) const
void UpdateValueAndDerivativeTerms (const RealType fixedImageValue, const RealType movingImageValue, const DerivativeType &imageJacobian, const NonZeroJacobianIndicesType &nzji, MeasureType &measure, DerivativeType &deriv) const
virtual ~AdvancedMeanSquaresImageToImageMetric ()

Protected Attributes

double m_NormalizationFactor

Private Member Functions

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

Private Attributes

unsigned int m_NumberOfSamplesForSelfHessian
double m_SelfHessianNoiseRange
double m_SelfHessianSmoothingSigma
bool m_UseNormalization

Detailed Description

template<class TFixedImage, class TMovingImage>
class itk::AdvancedMeanSquaresImageToImageMetric< TFixedImage, TMovingImage >

Compute Mean square difference between two images, based on AdvancedImageToImageMetric...

This Class is templated over the type of the fixed and moving images to be compared.

This metric computes the sum of squared differenced between pixels in the moving image and pixels in the fixed image. The spatial correspondance between both images is established through a Transform. Pixel values are taken from the Moving image. Their positions are mapped to the Fixed image and result in general in non-grid position on it. Values at these non-grid position of the Fixed image are interpolated using a user-selected Interpolator.

This implementation of the MeanSquareDifference is based on the AdvancedImageToImageMetric, which means that:

Definition at line 54 of file itkAdvancedMeanSquaresImageToImageMetric.h.


Member Typedef Documentation

template<class TFixedImage, class TMovingImage>
typedef Superclass::BSplineInterpolatorType itk::AdvancedMeanSquaresImageToImageMetric< TFixedImage, TMovingImage >::BSplineInterpolatorType [protected]
template<class TFixedImage, class TMovingImage>
typedef Superclass::CentralDifferenceGradientFilterType itk::AdvancedMeanSquaresImageToImageMetric< TFixedImage, TMovingImage >::CentralDifferenceGradientFilterType [protected]
template<class TFixedImage, class TMovingImage>
typedef SmartPointer<const Self> itk::AdvancedMeanSquaresImageToImageMetric< TFixedImage, TMovingImage >::ConstPointer
template<class TFixedImage, class TMovingImage>
typedef Superclass::CoordinateRepresentationType itk::AdvancedMeanSquaresImageToImageMetric< TFixedImage, TMovingImage >::CoordinateRepresentationType

Typedefs from the superclass.

Reimplemented from itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >.

Reimplemented in elastix::AdvancedMeanSquaresMetric< TElastix >.

Definition at line 70 of file itkAdvancedMeanSquaresImageToImageMetric.h.

template<class TFixedImage, class TMovingImage>
typedef Superclass::DerivativeType itk::AdvancedMeanSquaresImageToImageMetric< TFixedImage, TMovingImage >::DerivativeType
template<class TFixedImage, class TMovingImage>
typedef NearestNeighborInterpolateImageFunction< FixedImageType, CoordinateRepresentationType > itk::AdvancedMeanSquaresImageToImageMetric< TFixedImage, TMovingImage >::DummyFixedImageInterpolatorType [protected]

Definition at line 197 of file itkAdvancedMeanSquaresImageToImageMetric.h.

template<class TFixedImage, class TMovingImage>
typedef Superclass::FixedImageConstPointer itk::AdvancedMeanSquaresImageToImageMetric< TFixedImage, TMovingImage >::FixedImageConstPointer
template<class TFixedImage, class TMovingImage>
typedef Superclass::FixedImageIndexType itk::AdvancedMeanSquaresImageToImageMetric< TFixedImage, TMovingImage >::FixedImageIndexType [protected]

Protected Typedefs Typedefs inherited from superclass

Reimplemented from itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >.

Definition at line 180 of file itkAdvancedMeanSquaresImageToImageMetric.h.

template<class TFixedImage, class TMovingImage>
typedef Superclass::FixedImageIndexValueType itk::AdvancedMeanSquaresImageToImageMetric< TFixedImage, TMovingImage >::FixedImageIndexValueType [protected]
template<class TFixedImage, class TMovingImage>
typedef BSplineInterpolateImageFunction< FixedImageType, CoordinateRepresentationType> itk::AdvancedMeanSquaresImageToImageMetric< TFixedImage, TMovingImage >::FixedImageInterpolatorType [protected]

Definition at line 195 of file itkAdvancedMeanSquaresImageToImageMetric.h.

template<class TFixedImage, class TMovingImage>
typedef Superclass::FixedImageLimiterOutputType itk::AdvancedMeanSquaresImageToImageMetric< TFixedImage, TMovingImage >::FixedImageLimiterOutputType
template<class TFixedImage, class TMovingImage>
typedef Superclass::FixedImageLimiterType itk::AdvancedMeanSquaresImageToImageMetric< TFixedImage, TMovingImage >::FixedImageLimiterType
template<class TFixedImage, class TMovingImage>
typedef Superclass::FixedImageMaskPointer itk::AdvancedMeanSquaresImageToImageMetric< TFixedImage, TMovingImage >::FixedImageMaskPointer
template<class TFixedImage, class TMovingImage>
typedef Superclass::FixedImageMaskType itk::AdvancedMeanSquaresImageToImageMetric< TFixedImage, TMovingImage >::FixedImageMaskType
template<class TFixedImage, class TMovingImage>
typedef Superclass::FixedImagePixelType itk::AdvancedMeanSquaresImageToImageMetric< TFixedImage, TMovingImage >::FixedImagePixelType
template<class TFixedImage, class TMovingImage>
typedef Superclass::FixedImagePointType itk::AdvancedMeanSquaresImageToImageMetric< TFixedImage, TMovingImage >::FixedImagePointType [protected]
template<class TFixedImage, class TMovingImage>
typedef Superclass::FixedImageRegionType itk::AdvancedMeanSquaresImageToImageMetric< TFixedImage, TMovingImage >::FixedImageRegionType
template<class TFixedImage, class TMovingImage>
typedef Superclass::FixedImageType itk::AdvancedMeanSquaresImageToImageMetric< TFixedImage, TMovingImage >::FixedImageType
template<class TFixedImage, class TMovingImage>
typedef Superclass::GradientImageFilterPointer itk::AdvancedMeanSquaresImageToImageMetric< TFixedImage, TMovingImage >::GradientImageFilterPointer
template<class TFixedImage, class TMovingImage>
typedef Superclass::GradientImageFilterType itk::AdvancedMeanSquaresImageToImageMetric< TFixedImage, TMovingImage >::GradientImageFilterType
template<class TFixedImage, class TMovingImage>
typedef Superclass::GradientImagePointer itk::AdvancedMeanSquaresImageToImageMetric< TFixedImage, TMovingImage >::GradientImagePointer
template<class TFixedImage, class TMovingImage>
typedef Superclass::GradientImageType itk::AdvancedMeanSquaresImageToImageMetric< TFixedImage, TMovingImage >::GradientImageType
template<class TFixedImage, class TMovingImage>
typedef Superclass::GradientPixelType itk::AdvancedMeanSquaresImageToImageMetric< TFixedImage, TMovingImage >::GradientPixelType
template<class TFixedImage, class TMovingImage>
typedef Superclass::HessianType itk::AdvancedMeanSquaresImageToImageMetric< TFixedImage, TMovingImage >::HessianType
template<class TFixedImage, class TMovingImage>
typedef Superclass::HessianValueType itk::AdvancedMeanSquaresImageToImageMetric< TFixedImage, TMovingImage >::HessianValueType

Some typedefs for computing the SelfHessian

Reimplemented from itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >.

Definition at line 119 of file itkAdvancedMeanSquaresImageToImageMetric.h.

template<class TFixedImage, class TMovingImage>
typedef Superclass::ImageSampleContainerPointer itk::AdvancedMeanSquaresImageToImageMetric< TFixedImage, TMovingImage >::ImageSampleContainerPointer
template<class TFixedImage, class TMovingImage>
typedef Superclass::ImageSampleContainerType itk::AdvancedMeanSquaresImageToImageMetric< TFixedImage, TMovingImage >::ImageSampleContainerType
template<class TFixedImage, class TMovingImage>
typedef Superclass::ImageSamplerPointer itk::AdvancedMeanSquaresImageToImageMetric< TFixedImage, TMovingImage >::ImageSamplerPointer
template<class TFixedImage, class TMovingImage>
typedef Superclass::ImageSamplerType itk::AdvancedMeanSquaresImageToImageMetric< TFixedImage, TMovingImage >::ImageSamplerType
template<class TFixedImage, class TMovingImage>
typedef Superclass::InputPointType itk::AdvancedMeanSquaresImageToImageMetric< TFixedImage, TMovingImage >::InputPointType
template<class TFixedImage, class TMovingImage>
typedef Superclass::InterpolatorPointer itk::AdvancedMeanSquaresImageToImageMetric< TFixedImage, TMovingImage >::InterpolatorPointer
template<class TFixedImage, class TMovingImage>
typedef Superclass::InterpolatorType itk::AdvancedMeanSquaresImageToImageMetric< TFixedImage, TMovingImage >::InterpolatorType
template<class TFixedImage, class TMovingImage>
typedef Superclass::MeasureType itk::AdvancedMeanSquaresImageToImageMetric< TFixedImage, TMovingImage >::MeasureType
template<class TFixedImage, class TMovingImage>
typedef Superclass::MovingImageConstPointer itk::AdvancedMeanSquaresImageToImageMetric< TFixedImage, TMovingImage >::MovingImageConstPointer
template<class TFixedImage, class TMovingImage>
typedef Superclass::MovingImageContinuousIndexType itk::AdvancedMeanSquaresImageToImageMetric< TFixedImage, TMovingImage >::MovingImageContinuousIndexType [protected]
template<class TFixedImage, class TMovingImage>
typedef Superclass::MovingImageDerivativeScalesType itk::AdvancedMeanSquaresImageToImageMetric< TFixedImage, TMovingImage >::MovingImageDerivativeScalesType
template<class TFixedImage, class TMovingImage>
typedef Superclass::MovingImageDerivativeType itk::AdvancedMeanSquaresImageToImageMetric< TFixedImage, TMovingImage >::MovingImageDerivativeType [protected]
template<class TFixedImage, class TMovingImage>
typedef Superclass::MovingImageIndexType itk::AdvancedMeanSquaresImageToImageMetric< TFixedImage, TMovingImage >::MovingImageIndexType [protected]
template<class TFixedImage, class TMovingImage>
typedef Superclass::MovingImageLimiterOutputType itk::AdvancedMeanSquaresImageToImageMetric< TFixedImage, TMovingImage >::MovingImageLimiterOutputType
template<class TFixedImage, class TMovingImage>
typedef Superclass::MovingImageLimiterType itk::AdvancedMeanSquaresImageToImageMetric< TFixedImage, TMovingImage >::MovingImageLimiterType
template<class TFixedImage, class TMovingImage>
typedef Superclass::MovingImageMaskPointer itk::AdvancedMeanSquaresImageToImageMetric< TFixedImage, TMovingImage >::MovingImageMaskPointer
template<class TFixedImage, class TMovingImage>
typedef Superclass::MovingImageMaskType itk::AdvancedMeanSquaresImageToImageMetric< TFixedImage, TMovingImage >::MovingImageMaskType
template<class TFixedImage, class TMovingImage>
typedef Superclass::MovingImagePixelType itk::AdvancedMeanSquaresImageToImageMetric< TFixedImage, TMovingImage >::MovingImagePixelType
template<class TFixedImage, class TMovingImage>
typedef Superclass::MovingImagePointType itk::AdvancedMeanSquaresImageToImageMetric< TFixedImage, TMovingImage >::MovingImagePointType [protected]
template<class TFixedImage, class TMovingImage>
typedef Superclass::MovingImageRegionType itk::AdvancedMeanSquaresImageToImageMetric< TFixedImage, TMovingImage >::MovingImageRegionType
template<class TFixedImage, class TMovingImage>
typedef Superclass::MovingImageType itk::AdvancedMeanSquaresImageToImageMetric< TFixedImage, TMovingImage >::MovingImageType
template<class TFixedImage, class TMovingImage>
typedef Superclass::NonZeroJacobianIndicesType itk::AdvancedMeanSquaresImageToImageMetric< TFixedImage, TMovingImage >::NonZeroJacobianIndicesType [protected]
template<class TFixedImage, class TMovingImage>
typedef Superclass::OutputPointType itk::AdvancedMeanSquaresImageToImageMetric< TFixedImage, TMovingImage >::OutputPointType
template<class TFixedImage, class TMovingImage>
typedef Superclass::ParametersType itk::AdvancedMeanSquaresImageToImageMetric< TFixedImage, TMovingImage >::ParametersType
template<class TFixedImage, class TMovingImage>
typedef SmartPointer<Self> itk::AdvancedMeanSquaresImageToImageMetric< TFixedImage, TMovingImage >::Pointer
template<class TFixedImage, class TMovingImage>
typedef Superclass::RealType itk::AdvancedMeanSquaresImageToImageMetric< TFixedImage, TMovingImage >::RealType
template<class TFixedImage, class TMovingImage>
typedef AdvancedMeanSquaresImageToImageMetric itk::AdvancedMeanSquaresImageToImageMetric< TFixedImage, TMovingImage >::Self
template<class TFixedImage, class TMovingImage>
typedef ImageGridSampler<FixedImageType> itk::AdvancedMeanSquaresImageToImageMetric< TFixedImage, TMovingImage >::SelfHessianSamplerType [protected]

Definition at line 199 of file itkAdvancedMeanSquaresImageToImageMetric.h.

template<class TFixedImage, class TMovingImage>
typedef SmoothingRecursiveGaussianImageFilter< FixedImageType, FixedImageType> itk::AdvancedMeanSquaresImageToImageMetric< TFixedImage, TMovingImage >::SmootherType [protected]

Protected typedefs for SelfHessian

Definition at line 193 of file itkAdvancedMeanSquaresImageToImageMetric.h.

template<class TFixedImage, class TMovingImage>
typedef AdvancedImageToImageMetric< TFixedImage, TMovingImage > itk::AdvancedMeanSquaresImageToImageMetric< TFixedImage, TMovingImage >::Superclass
template<class TFixedImage, class TMovingImage>
typedef Superclass::TransformJacobianType itk::AdvancedMeanSquaresImageToImageMetric< TFixedImage, TMovingImage >::TransformJacobianType
template<class TFixedImage, class TMovingImage>
typedef Superclass::TransformParametersType itk::AdvancedMeanSquaresImageToImageMetric< TFixedImage, TMovingImage >::TransformParametersType
template<class TFixedImage, class TMovingImage>
typedef Superclass::TransformPointer itk::AdvancedMeanSquaresImageToImageMetric< TFixedImage, TMovingImage >::TransformPointer
template<class TFixedImage, class TMovingImage>
typedef Superclass::TransformType itk::AdvancedMeanSquaresImageToImageMetric< TFixedImage, TMovingImage >::TransformType

Constructor & Destructor Documentation

template<class TFixedImage, class TMovingImage>
itk::AdvancedMeanSquaresImageToImageMetric< TFixedImage, TMovingImage >::AdvancedMeanSquaresImageToImageMetric ( ) [protected]
template<class TFixedImage, class TMovingImage>
virtual itk::AdvancedMeanSquaresImageToImageMetric< TFixedImage, TMovingImage >::~AdvancedMeanSquaresImageToImageMetric ( ) [inline, protected, virtual]

Definition at line 174 of file itkAdvancedMeanSquaresImageToImageMetric.h.

template<class TFixedImage, class TMovingImage>
itk::AdvancedMeanSquaresImageToImageMetric< TFixedImage, TMovingImage >::AdvancedMeanSquaresImageToImageMetric ( const Self ) [private]

Member Function Documentation

template<class TFixedImage, class TMovingImage>
void itk::AdvancedMeanSquaresImageToImageMetric< TFixedImage, TMovingImage >::EvaluateTransformJacobianInnerProduct ( const TransformJacobianType jacobian,
const MovingImageDerivativeType movingImageDerivative,
DerivativeType imageJacobian 
) const [protected]

Computes the innerproduct of transform Jacobian with moving image gradient. The results are stored in imageJacobian, which is supposed to have the right size (same length as Jacobian's number of columns).

template<class TFixedImage, class TMovingImage>
virtual const char* itk::AdvancedMeanSquaresImageToImageMetric< TFixedImage, TMovingImage >::GetClassName ( ) const [virtual]

Run-time type information (and related methods).

Reimplemented from itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >.

Reimplemented in elastix::AdvancedMeanSquaresMetric< TElastix >.

template<class TFixedImage, class TMovingImage>
virtual void itk::AdvancedMeanSquaresImageToImageMetric< TFixedImage, TMovingImage >::GetDerivative ( const TransformParametersType parameters,
DerivativeType derivative 
) const [virtual]

Get the derivatives of the match measure.

template<class TFixedImage, class TMovingImage>
virtual unsigned int itk::AdvancedMeanSquaresImageToImageMetric< TFixedImage, TMovingImage >::GetNumberOfSamplesForSelfHessian ( ) const [virtual]
template<class TFixedImage, class TMovingImage>
virtual void itk::AdvancedMeanSquaresImageToImageMetric< TFixedImage, TMovingImage >::GetSelfHessian ( const TransformParametersType parameters,
HessianType H 
) const [virtual]

Experimental feature: compute SelfHessian

Reimplemented from itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >.

template<class TFixedImage, class TMovingImage>
virtual double itk::AdvancedMeanSquaresImageToImageMetric< TFixedImage, TMovingImage >::GetSelfHessianNoiseRange ( ) const [virtual]
template<class TFixedImage, class TMovingImage>
virtual double itk::AdvancedMeanSquaresImageToImageMetric< TFixedImage, TMovingImage >::GetSelfHessianSmoothingSigma ( ) const [virtual]
template<class TFixedImage, class TMovingImage>
virtual bool itk::AdvancedMeanSquaresImageToImageMetric< TFixedImage, TMovingImage >::GetUseNormalization ( ) const [virtual]
template<class TFixedImage, class TMovingImage>
virtual MeasureType itk::AdvancedMeanSquaresImageToImageMetric< TFixedImage, TMovingImage >::GetValue ( const TransformParametersType parameters) const [virtual]

Get the value for single valued optimizers.

template<class TFixedImage, class TMovingImage>
virtual void itk::AdvancedMeanSquaresImageToImageMetric< TFixedImage, TMovingImage >::GetValueAndDerivative ( const TransformParametersType parameters,
MeasureType Value,
DerivativeType Derivative 
) const [virtual]

Get value and derivatives for multiple valued optimizers.

template<class TFixedImage, class TMovingImage>
virtual void itk::AdvancedMeanSquaresImageToImageMetric< TFixedImage, TMovingImage >::Initialize ( void  ) throw ( ExceptionObject ) [virtual]

Initialize the Metric by making sure that all the components are present and plugged together correctly.

  • Call the superclass' implementation
  • Estimate the normalization factor, if asked for.

Reimplemented from itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >.

Reimplemented in elastix::AdvancedMeanSquaresMetric< TElastix >.

template<class TFixedImage, class TMovingImage>
itk::AdvancedMeanSquaresImageToImageMetric< TFixedImage, TMovingImage >::itkStaticConstMacro ( FixedImageDimension  ,
unsigned  int,
FixedImageType::ImageDimension   
)

The fixed image dimension.

Reimplemented in elastix::AdvancedMeanSquaresMetric< TElastix >.

template<class TFixedImage, class TMovingImage>
itk::AdvancedMeanSquaresImageToImageMetric< TFixedImage, TMovingImage >::itkStaticConstMacro ( MovingImageDimension  ,
unsigned  int,
MovingImageType::ImageDimension   
)

The moving image dimension.

Reimplemented in elastix::AdvancedMeanSquaresMetric< TElastix >.

template<class TFixedImage, class TMovingImage>
static Pointer itk::AdvancedMeanSquaresImageToImageMetric< TFixedImage, TMovingImage >::New ( ) [static]

Method for creation through the object factory.

Reimplemented in elastix::AdvancedMeanSquaresMetric< TElastix >.

template<class TFixedImage, class TMovingImage>
void itk::AdvancedMeanSquaresImageToImageMetric< TFixedImage, TMovingImage >::operator= ( const Self ) [private]
template<class TFixedImage, class TMovingImage>
void itk::AdvancedMeanSquaresImageToImageMetric< TFixedImage, TMovingImage >::PrintSelf ( std::ostream &  os,
Indent  indent 
) const [protected]
template<class TFixedImage, class TMovingImage>
virtual void itk::AdvancedMeanSquaresImageToImageMetric< TFixedImage, TMovingImage >::SetNumberOfSamplesForSelfHessian ( unsigned int  _arg) [virtual]

Default: 100000

template<class TFixedImage, class TMovingImage>
virtual void itk::AdvancedMeanSquaresImageToImageMetric< TFixedImage, TMovingImage >::SetSelfHessianNoiseRange ( double  _arg) [virtual]

Default: 1.0 mm

template<class TFixedImage, class TMovingImage>
virtual void itk::AdvancedMeanSquaresImageToImageMetric< TFixedImage, TMovingImage >::SetSelfHessianSmoothingSigma ( double  _arg) [virtual]

Default: 1.0 mm

template<class TFixedImage, class TMovingImage>
virtual void itk::AdvancedMeanSquaresImageToImageMetric< TFixedImage, TMovingImage >::SetUseNormalization ( bool  _arg) [virtual]

Set/Get whether to normalize the mean squares measure. This divides the MeanSquares by a factor (range/10)^2, where range represents the maximum gray value range of the images. Based on the ad hoc assumption that range/10 is the maximum average difference that will be observed. Dividing by range^2 sounds less ad hoc, but will yield very small values.

template<class TFixedImage, class TMovingImage>
void itk::AdvancedMeanSquaresImageToImageMetric< TFixedImage, TMovingImage >::UpdateSelfHessianTerms ( const DerivativeType imageJacobian,
const NonZeroJacobianIndicesType nzji,
HessianType H 
) const [protected]

Compute a pixel's contribution to the SelfHessian; Called by GetSelfHessian().

template<class TFixedImage, class TMovingImage>
void itk::AdvancedMeanSquaresImageToImageMetric< TFixedImage, TMovingImage >::UpdateValueAndDerivativeTerms ( const RealType  fixedImageValue,
const RealType  movingImageValue,
const DerivativeType imageJacobian,
const NonZeroJacobianIndicesType nzji,
MeasureType measure,
DerivativeType deriv 
) const [protected]

Compute a pixel's contribution to the measure and derivatives; Called by GetValueAndDerivative().


Field Documentation

template<class TFixedImage, class TMovingImage>
double itk::AdvancedMeanSquaresImageToImageMetric< TFixedImage, TMovingImage >::m_NormalizationFactor [protected]

Definition at line 201 of file itkAdvancedMeanSquaresImageToImageMetric.h.

template<class TFixedImage, class TMovingImage>
unsigned int itk::AdvancedMeanSquaresImageToImageMetric< TFixedImage, TMovingImage >::m_NumberOfSamplesForSelfHessian [private]

Definition at line 235 of file itkAdvancedMeanSquaresImageToImageMetric.h.

template<class TFixedImage, class TMovingImage>
double itk::AdvancedMeanSquaresImageToImageMetric< TFixedImage, TMovingImage >::m_SelfHessianNoiseRange [private]

Definition at line 234 of file itkAdvancedMeanSquaresImageToImageMetric.h.

template<class TFixedImage, class TMovingImage>
double itk::AdvancedMeanSquaresImageToImageMetric< TFixedImage, TMovingImage >::m_SelfHessianSmoothingSigma [private]

Definition at line 233 of file itkAdvancedMeanSquaresImageToImageMetric.h.

template<class TFixedImage, class TMovingImage>
bool itk::AdvancedMeanSquaresImageToImageMetric< TFixedImage, TMovingImage >::m_UseNormalization [private]

Definition at line 232 of file itkAdvancedMeanSquaresImageToImageMetric.h.



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