NifTK  16.4.1 - 0798f20
CMIC's Translational Medical Imaging Platform
Public Types | Public Member Functions | Protected Member Functions | List of all members
itk::FiniteDifferenceGradientSimilarityMeasure< TFixedImage, TMovingImage > Class Template Reference

AbstractBase class, just to implement the finite difference gradient method. More...

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

Public Types

typedef
FiniteDifferenceGradientSimilarityMeasure 
Self
 
typedef SimilarityMeasure
< TFixedImage, TMovingImage > 
Superclass
 
typedef SmartPointer< SelfPointer
 
typedef SmartPointer< const SelfConstPointer
 
typedef Array< double > ScalesType
 
typedef Superclass::DerivativeType DerivativeType
 
typedef Superclass::TransformType TransformType
 
typedef
Superclass::TransformParametersType 
TransformParametersType
 
typedef Superclass::MeasureType MeasureType
 
- Public Types inherited from itk::SimilarityMeasure< TFixedImage, TMovingImage >
typedef SimilarityMeasure Self
 
typedef
ImageToImageMetricWithConstraint
< TFixedImage, TMovingImage > 
Superclass
 
typedef SmartPointer< SelfPointer
 
typedef SmartPointer< const SelfConstPointer
 
typedef Superclass::TransformType TransformType
 
typedef itk::UCLBaseTransform
< double,
TFixedImage::ImageDimension,
TMovingImage::ImageDimension > 
UCLBaseTransformType
 
typedef
Superclass::TransformPointer 
TransformPointer
 
typedef
Superclass::TransformParametersType 
TransformParametersType
 
typedef
Superclass::TransformJacobianType 
TransformJacobianType
 
typedef Superclass::InputPointType InputPointType
 
typedef Superclass::OutputPointType OutputPointType
 
typedef Superclass::MeasureType MeasureType
 
typedef Superclass::DerivativeType DerivativeType
 
typedef Superclass::FixedImageType FixedImageType
 
typedef FixedImageType::SizeType FixedImageSizeType
 
typedef
Superclass::FixedImageType::PixelType 
FixedImagePixelType
 
typedef Superclass::MovingImageType MovingImageType
 
typedef MovingImageType::SizeType MovingImageSizeType
 
typedef
Superclass::MovingImageType::PixelType 
MovingImagePixelType
 
typedef
Superclass::FixedImageConstPointer 
FixedImageConstPointer
 
typedef
Superclass::MovingImageConstPointer 
MovingImageConstPointer
 
typedef ImageFileWriter
< TFixedImage > 
ImageFileWriterType
 
typedef
Superclass::InterpolatorType 
InterpolatorType
 
typedef Image< char,
TFixedImage::ImageDimension > 
MidwayImageType
 
typedef Image< float,
TFixedImage::ImageDimension > 
FloatImageType
 
typedef Image< unsigned char,
TFixedImage::ImageDimension > 
UnsignedCharImageType
 
typedef
SignedMaurerDistanceMapImageFilter
< UnsignedCharImageType,
FloatImageType
FixedDistanceMapImageFilterType
 
typedef
SignedMaurerDistanceMapImageFilter
< UnsignedCharImageType,
FloatImageType
MovingDistanceMapImageFilterType
 
typedef
LinearInterpolateImageFunction
< FloatImageType, double > 
DistanceMapLinearInterpolatorType
 
typedef
itk::EulerAffineTransform
< double,
TFixedImage::ImageDimension,
TMovingImage::ImageDimension > 
AffineTransformType
 
typedef const
ImageMaskSpatialObject
< TFixedImage::ImageDimension > 
FixedMaskType
 
typedef const
ImageMaskSpatialObject
< TMovingImage::ImageDimension > 
MovingMaskType
 
- Public Types inherited from itk::ImageToImageMetricWithConstraint< TFixedImage, TMovingImage >
typedef
ImageToImageMetricWithConstraint 
Self
 
typedef ImageToImageMetric
< TFixedImage, TMovingImage > 
Superclass
 
typedef SmartPointer< SelfPointer
 
typedef SmartPointer< const SelfConstPointer
 
typedef itk::Constraint ConstraintType
 
typedef ConstraintType::Pointer ConstraintPointer
 
typedef MetricDerivativeBridge
< TFixedImage, TMovingImage > 
MetricDerivativeBridgeType
 
typedef
MetricDerivativeBridgeType::Pointer 
MetricDerivativePointer
 
typedef Superclass::MeasureType MeasureType
 
typedef Superclass::DerivativeType DerivativeType
 
typedef Superclass::ParametersType TransformParametersType
 

Public Member Functions

virtual const char * GetClassName () const
 
virtual void GetCostFunctionDerivative (const TransformParametersType &parameters, DerivativeType &derivative) const
 
void SetTransform (TransformType *transform)
 
virtual void SetDerivativeStepLength (double _arg)
 
virtual double GetDerivativeStepLength ()
 
virtual void SetDerivativeStepLengthScales (ScalesType _arg)
 
virtual const ScalesTypeGetDerivativeStepLengthScales ()
 
virtual void SetUseDerivativeScaleArray (bool _arg)
 
virtual bool GetUseDerivativeScaleArray ()
 
- Public Member Functions inherited from itk::SimilarityMeasure< TFixedImage, TMovingImage >
void Initialize () throw (ExceptionObject)
 
void InitializeIntensityBounds () throw (ExceptionObject)
 
void SetIntensityBounds (const FixedImagePixelType fixedLower, const FixedImagePixelType fixedUpper, const MovingImagePixelType movingLower, const MovingImagePixelType movingUpper)
 
virtual FixedImagePixelType GetFixedLowerBound () const
 
virtual FixedImagePixelType GetFixedUpperBound () const
 
virtual MovingImagePixelType GetMovingLowerBound () const
 
virtual MovingImagePixelType GetMovingUpperBound () const
 
virtual long int GetNumberOfFixedSamples ()
 
virtual long int GetNumberOfMovingSamples ()
 
virtual void SetTwoSidedMetric (bool _arg)
 
virtual bool GetTwoSidedMetric ()
 
virtual void SetWriteFixedImage (bool _arg)
 
virtual bool GetWriteFixedImage ()
 
virtual void SetFixedImageFileName (std::string _arg)
 
virtual std::string GetFixedImageFileName ()
 
virtual void SetFixedImageFileExt (std::string _arg)
 
virtual std::string GetFixedImageFileExt ()
 
virtual void SetWriteTransformedMovingImage (bool _arg)
 
virtual bool GetWriteTransformedMovingImage ()
 
virtual void SetTransformedMovingImageFileName (std::string _arg)
 
virtual std::string GetTransformedMovingImageFileName ()
 
virtual void SetTransformedMovingImageFileExt (std::string _arg)
 
virtual std::string GetTransformedMovingImageFileExt ()
 
virtual void SetDirectVoxelComparison (bool _arg)
 
virtual bool GetDirectVoxelComparison ()
 
virtual void SetSymmetricMetric (int _arg)
 
virtual int GetSymmetricMetric ()
 
virtual void SetIsUpdateMatrix (bool _arg)
 
virtual bool GetIsUpdateMatrix ()
 
virtual void SetTransformedMovingImagePadValue (MovingImagePixelType _arg)
 
virtual MovingImagePixelType GetTransformedMovingImagePadValue ()
 
virtual void SetUseWeighting (bool _arg)
 
virtual bool GetUseWeighting ()
 
virtual void SetWeightingDistanceThreshold (double _arg)
 
virtual double GetWeightingDistanceThreshold ()
 
virtual void SetFixedImageInterpolator (InterpolatorType *_arg)
 
virtual void SetMovingImageInterpolator (InterpolatorType *_arg)
 
virtual InterpolatorTypeGetFixedImageInterpolator ()
 
virtual InterpolatorTypeGetMovingImageInterpolator ()
 
virtual void SetFixedImageTransform (TransformType *_arg)
 
virtual TransformTypeGetFixedImageTransform ()
 
virtual void SetInitialiseIntensityBoundsUsingMask (bool _arg)
 
virtual bool GetInitialiseIntensityBoundsUsingMask ()
 
virtual void SetIsResampleWholeImage (bool _arg)
 
virtual bool GetIsResampleWholeImage ()
 
virtual bool ShouldBeMaximized ()
 
virtual const TFixedImage * GetTransformedMovingImage () const
 
virtual const TFixedImage * GetTransformedFixedImage () const
 
double GetMeasureOfParameterChange (TransformParametersType lastP, TransformParametersType p)
 
- Public Member Functions inherited from itk::ImageToImageMetricWithConstraint< TFixedImage, TMovingImage >
virtual void SetDerivativeBridge (MetricDerivativeBridgeType *_arg)
 
virtual
MetricDerivativeBridgeType
GetDerivativeBridge ()
 
virtual void SetConstraint (ConstraintType *_arg)
 
virtual ConstraintTypeGetConstraint ()
 
virtual void SetWeightingFactor (double _arg)
 
virtual double GetWeightingFactor ()
 
virtual void SetUseConstraintGradient (bool _arg)
 
virtual bool GetUseConstraintGradient () const
 
virtual void SetPrintOutMetricEvaluation (bool _arg)
 
virtual bool GetPrintOutMetricEvaluation ()
 
virtual MeasureType GetValue (const TransformParametersType &parameters) const
 
virtual void GetConstraintDerivative (const TransformParametersType &parameters, DerivativeType &derivative) const
 
virtual void GetDerivative (const TransformParametersType &parameters, DerivativeType &derivative) const
 
virtual void GetValueAndDerivative (const TransformParametersType &parameters, MeasureType &Value, DerivativeType &derivative) const
 

Protected Member Functions

 FiniteDifferenceGradientSimilarityMeasure ()
 
virtual ~FiniteDifferenceGradientSimilarityMeasure ()
 
void PrintSelf (std::ostream &os, Indent indent) const
 
- Protected Member Functions inherited from itk::SimilarityMeasure< TFixedImage, TMovingImage >
 SimilarityMeasure ()
 
virtual ~SimilarityMeasure ()
 
void PrintSelf (std::ostream &os, Indent indent) const
 
virtual MeasureType GetSimilarity (const TransformParametersType &parameters) const
 
virtual void ResetCostFunction ()=0
 
virtual void AggregateCostFunctionPair (FixedImagePixelType fixedValue, MovingImagePixelType movingValue)=0
 
virtual void AggregateCostFunctionPairWithWeighting (FixedImagePixelType fixedValue, MovingImagePixelType movingValue, double weight)
 
virtual MeasureType FinalizeCostFunction ()=0
 
void WriteImage (const TFixedImage *image, std::string filename) const
 
virtual MeasureType GetSymmetricSimilarity (const TransformParametersType &parameters)
 
virtual MeasureType GetSymmetricSimilarityAtHalfway (const TransformParametersType &parameters)
 
virtual MeasureType GetSimilarityUsingFixedAndMovingImageTransforms (const TransformParametersType &parameters)
 
virtual void InitializeSymmetricMetric ()
 
virtual void InitializeDistanceWeightings ()
 
- Protected Member Functions inherited from itk::ImageToImageMetricWithConstraint< TFixedImage, TMovingImage >
 ImageToImageMetricWithConstraint ()
 
virtual ~ImageToImageMetricWithConstraint ()
 
void PrintSelf (std::ostream &os, Indent indent) const
 
virtual void GetCostFunctionDerivative (const TransformParametersType &parameters, DerivativeType &derivative) const =0
 

Additional Inherited Members

- Static Public Attributes inherited from itk::SimilarityMeasure< TFixedImage, TMovingImage >
static const int SYMMETRIC_METRIC_AVERAGE
 
static const int SYMMETRIC_METRIC_MID_WAY
 
static const int SYMMETRIC_METRIC_BOTH_FIXED_AND_MOVING_TRANSFORM
 
- Protected Attributes inherited from itk::SimilarityMeasure< TFixedImage, TMovingImage >
TFixedImage::Pointer m_TransformedMovingImage
 
TFixedImage::Pointer m_TransformedFixedImage
 
InterpolatorType::Pointer m_FixedImageInterpolator
 
InterpolatorType::Pointer m_MovingImageInterpolator
 
FixedImagePixelType m_FixedLowerBound
 
FixedImagePixelType m_FixedUpperBound
 
MovingImagePixelType m_MovingLowerBound
 
MovingImagePixelType m_MovingUpperBound
 
bool m_UseWeighting
 
double m_WeightingDistanceThreshold
 
MidwayImageType::Pointer m_MidwayImage
 
FixedDistanceMapImageFilterType::Pointer m_FixedDistanceMap
 
MovingDistanceMapImageFilterType::Pointer m_MovingDistanceMap
 
DistanceMapLinearInterpolatorType::Pointer m_FixedDistanceMapInterpolator
 
DistanceMapLinearInterpolatorType::Pointer m_MovingDistanceMapInterpolator
 
TransformType::Pointer m_FixedImageTransform
 
bool m_InitialiseIntensityBoundsUsingMask
 
bool m_IsResampleWholeImage
 
- Protected Attributes inherited from itk::ImageToImageMetricWithConstraint< TFixedImage, TMovingImage >
MetricDerivativePointer m_DerivativeBridge
 
ConstraintPointer m_Constraint
 
double m_WeightingFactor
 
bool m_UseConstraintGradient
 
bool m_PrintOutMetricEvaluation
 

Detailed Description

template<typename TFixedImage, typename TMovingImage>
class itk::FiniteDifferenceGradientSimilarityMeasure< TFixedImage, TMovingImage >

AbstractBase class, just to implement the finite difference gradient method.

Note that this class is NOT thread safe.

Member Typedef Documentation

template<typename TFixedImage , typename TMovingImage >
typedef SmartPointer<const Self> itk::FiniteDifferenceGradientSimilarityMeasure< TFixedImage, TMovingImage >::ConstPointer
template<typename TFixedImage , typename TMovingImage >
typedef Superclass::DerivativeType itk::FiniteDifferenceGradientSimilarityMeasure< TFixedImage, TMovingImage >::DerivativeType

Types transferred from the base class

template<typename TFixedImage , typename TMovingImage >
typedef Superclass::MeasureType itk::FiniteDifferenceGradientSimilarityMeasure< TFixedImage, TMovingImage >::MeasureType
template<typename TFixedImage , typename TMovingImage >
typedef SmartPointer<Self> itk::FiniteDifferenceGradientSimilarityMeasure< TFixedImage, TMovingImage >::Pointer
template<typename TFixedImage , typename TMovingImage >
typedef Array<double> itk::FiniteDifferenceGradientSimilarityMeasure< TFixedImage, TMovingImage >::ScalesType

The scales type.

template<typename TFixedImage , typename TMovingImage >
typedef FiniteDifferenceGradientSimilarityMeasure itk::FiniteDifferenceGradientSimilarityMeasure< TFixedImage, TMovingImage >::Self

Standard class typedefs.

template<typename TFixedImage , typename TMovingImage >
typedef SimilarityMeasure<TFixedImage, TMovingImage > itk::FiniteDifferenceGradientSimilarityMeasure< TFixedImage, TMovingImage >::Superclass
template<typename TFixedImage , typename TMovingImage >
typedef Superclass::TransformParametersType itk::FiniteDifferenceGradientSimilarityMeasure< TFixedImage, TMovingImage >::TransformParametersType
template<typename TFixedImage , typename TMovingImage >
typedef Superclass::TransformType itk::FiniteDifferenceGradientSimilarityMeasure< TFixedImage, TMovingImage >::TransformType

Constructor & Destructor Documentation

template<typename TFixedImage , typename TMovingImage >
itk::FiniteDifferenceGradientSimilarityMeasure< TFixedImage, TMovingImage >::FiniteDifferenceGradientSimilarityMeasure ( )
protected
template<typename TFixedImage , typename TMovingImage >
virtual itk::FiniteDifferenceGradientSimilarityMeasure< TFixedImage, TMovingImage >::~FiniteDifferenceGradientSimilarityMeasure ( )
inlineprotectedvirtual

Member Function Documentation

template<typename TFixedImage , typename TMovingImage >
virtual const char* itk::FiniteDifferenceGradientSimilarityMeasure< TFixedImage, TMovingImage >::GetClassName ( ) const
virtual
template<typename TFixedImage , typename TMovingImage >
virtual void itk::FiniteDifferenceGradientSimilarityMeasure< TFixedImage, TMovingImage >::GetCostFunctionDerivative ( const TransformParametersType parameters,
DerivativeType derivative 
) const
virtual

Get the derivatives of the match measure.

template<typename TFixedImage , typename TMovingImage >
virtual double itk::FiniteDifferenceGradientSimilarityMeasure< TFixedImage, TMovingImage >::GetDerivativeStepLength ( )
virtual

Returns the step length used to calculate the derivative. Default 0.1, which will be terrible for scale parameters.

template<typename TFixedImage , typename TMovingImage >
virtual const ScalesType& itk::FiniteDifferenceGradientSimilarityMeasure< TFixedImage, TMovingImage >::GetDerivativeStepLengthScales ( )
virtual

Returns the derivate step length scales. Default 1. ie. all parameters equally scaled.

template<typename TFixedImage , typename TMovingImage >
virtual bool itk::FiniteDifferenceGradientSimilarityMeasure< TFixedImage, TMovingImage >::GetUseDerivativeScaleArray ( )
virtual
template<typename TFixedImage , typename TMovingImage >
void itk::FiniteDifferenceGradientSimilarityMeasure< TFixedImage, TMovingImage >::PrintSelf ( std::ostream &  os,
Indent  indent 
) const
protected
template<typename TFixedImage , typename TMovingImage >
virtual void itk::FiniteDifferenceGradientSimilarityMeasure< TFixedImage, TMovingImage >::SetDerivativeStepLength ( double  _arg)
virtual

Sets the step length used to calculate the derivative. Default 0.1, which will be terrible for scale parameters.

template<typename TFixedImage , typename TMovingImage >
virtual void itk::FiniteDifferenceGradientSimilarityMeasure< TFixedImage, TMovingImage >::SetDerivativeStepLengthScales ( ScalesType  _arg)
virtual

Sets the derivative step length scales. Default 1. ie. all parameters equally scaled.

template<typename TFixedImage , typename TMovingImage >
void itk::FiniteDifferenceGradientSimilarityMeasure< TFixedImage, TMovingImage >::SetTransform ( TransformType transform)

Define the transform and thereby the parameter space of the metric and the space of its derivatives.

template<typename TFixedImage , typename TMovingImage >
virtual void itk::FiniteDifferenceGradientSimilarityMeasure< TFixedImage, TMovingImage >::SetUseDerivativeScaleArray ( bool  _arg)
virtual

Depending on registration type, we may or may not need the scale array. Here we set a flag to decide if we resize it to the same size as the parameter array. For example, if we are doing NMI using finite differences, we need the scales array. If however, we are calculating NMI, but are calculating gradient at control points (like Free Form), or at voxels (like Fluid), then we dont need this array, and additionally for deformable registration, this array could be huge, so we make sure we dont have to incur the memory cost. Defaults to true.


The documentation for this class was generated from the following file: