ITK  4.0.0
Insight Segmentation and Registration Toolkit
Public Types | Public Member Functions | Protected Member Functions | Protected Attributes | Private Member Functions | Private Attributes
itk::HistogramImageToImageMetric< TFixedImage, TMovingImage > Class Template Reference

Computes similarity between two objects to be registered. More...

#include <itkHistogramImageToImageMetric.h>

Inheritance diagram for itk::HistogramImageToImageMetric< TFixedImage, TMovingImage >:
Collaboration diagram for itk::HistogramImageToImageMetric< TFixedImage, TMovingImage >:

List of all members.

Public Types

typedef SmartPointer< const SelfConstPointer
typedef Superclass::DerivativeType DerivativeType
typedef
Superclass::FixedImageConstPointer 
FixedImageConstPointerType
typedef
Superclass::FixedImageType::PixelType 
FixedImagePixelType
typedef Superclass::FixedImageType FixedImageType
typedef
Superclass::GradientPixelType 
GradientPixelType
typedef HistogramType::Pointer HistogramPointer
typedef HistogramType::SizeType HistogramSizeType
typedef Statistics::Histogram
< double > 
HistogramType
typedef Superclass::InputPointType InputPointType
typedef
HistogramType::MeasurementVectorType 
MeasurementVectorType
typedef Superclass::MeasureType MeasureType
typedef
Superclass::MovingImageConstPointer 
MovingImageConstPointerType
typedef
Superclass::MovingImageType::PixelType 
MovingImagePixelType
typedef Superclass::MovingImageType MovingImageType
typedef Superclass::OutputPointType OutputPointType
typedef SmartPointer< SelfPointer
typedef Superclass::RealType RealType
typedef Array< double > ScalesType
typedef HistogramImageToImageMetric Self
typedef ImageToImageMetric
< TFixedImage, TMovingImage > 
Superclass
typedef
Superclass::TransformJacobianType 
TransformJacobianType
typedef
Superclass::TransformParametersType 
TransformParametersType
typedef
Superclass::TransformPointer 
TransformPointer
typedef Superclass::TransformType TransformType

Public Member Functions

void GetDerivative (const TransformParametersType &parameters, DerivativeType &derivative) const
virtual double GetDerivativeStepLength () const
virtual const ScalesTypeGetDerivativeStepLengthScales ()
virtual const HistogramPointerGetHistogram ()
virtual const HistogramSizeTypeGetHistogramSize ()
virtual const char * GetNameOfClass () const
virtual const FixedImagePixelTypeGetPaddingValue ()
MeasureType GetValue (const TransformParametersType &parameters) const
void GetValueAndDerivative (const TransformParametersType &parameters, MeasureType &Value, DerivativeType &Derivative) const
void Initialize () throw ( ExceptionObject )
virtual void SetDerivativeStepLength (double _arg)
virtual void SetDerivativeStepLengthScales (ScalesType _arg)
virtual void SetHistogramSize (HistogramSizeType _arg)
void SetLowerBound (const MeasurementVectorType &bound)
virtual void SetPaddingValue (FixedImagePixelType _arg)
void SetTransform (TransformType *transform)
void SetUpperBound (const MeasurementVectorType &bound)
virtual void SetUpperBoundIncreaseFactor (double _arg)
virtual double GetUpperBoundIncreaseFactor () const
virtual void SetUsePaddingValue (bool _arg)
virtual bool GetUsePaddingValue () const

Protected Member Functions

void ComputeHistogram (const TransformParametersType &parameters, HistogramType &histogram) const
void ComputeHistogram (const TransformParametersType &parameters, unsigned int parameter, double step, HistogramType &histogram) const
void CopyHistogram (HistogramType &target, HistogramType &source) const
virtual MeasureType EvaluateMeasure (HistogramType &histogram) const =0
 HistogramImageToImageMetric ()
void PrintSelf (std::ostream &os, Indent indent) const
virtual ~HistogramImageToImageMetric ()

Protected Attributes

HistogramSizeType m_HistogramSize
MeasurementVectorType m_LowerBound
bool m_LowerBoundSetByUser
MeasurementVectorType m_UpperBound
double m_UpperBoundIncreaseFactor
bool m_UpperBoundSetByUser

Private Member Functions

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

Private Attributes

double m_DerivativeStepLength
ScalesType m_DerivativeStepLengthScales
HistogramPointer m_Histogram
FixedImagePixelType m_PaddingValue
bool m_UsePaddingValue

Detailed Description

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

Computes similarity between two objects to be registered.

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

The metric computes the similarity measure between pixels in the moving image and pixels in the fixed image using a histogram.

Definition at line 39 of file itkHistogramImageToImageMetric.h.


Member Typedef Documentation

template<class TFixedImage , class TMovingImage >
typedef SmartPointer< const Self > itk::HistogramImageToImageMetric< TFixedImage, TMovingImage >::ConstPointer
template<class TFixedImage , class TMovingImage >
typedef Superclass::DerivativeType itk::HistogramImageToImageMetric< TFixedImage, TMovingImage >::DerivativeType
template<class TFixedImage , class TMovingImage >
typedef Superclass::FixedImageConstPointer itk::HistogramImageToImageMetric< TFixedImage, TMovingImage >::FixedImageConstPointerType

Definition at line 68 of file itkHistogramImageToImageMetric.h.

template<class TFixedImage , class TMovingImage >
typedef Superclass::FixedImageType::PixelType itk::HistogramImageToImageMetric< TFixedImage, TMovingImage >::FixedImagePixelType
template<class TFixedImage , class TMovingImage >
typedef Superclass::FixedImageType itk::HistogramImageToImageMetric< TFixedImage, TMovingImage >::FixedImageType
template<class TFixedImage , class TMovingImage >
typedef Superclass::GradientPixelType itk::HistogramImageToImageMetric< TFixedImage, TMovingImage >::GradientPixelType
template<class TFixedImage , class TMovingImage >
typedef HistogramType::Pointer itk::HistogramImageToImageMetric< TFixedImage, TMovingImage >::HistogramPointer

Definition at line 79 of file itkHistogramImageToImageMetric.h.

template<class TFixedImage , class TMovingImage >
typedef HistogramType::SizeType itk::HistogramImageToImageMetric< TFixedImage, TMovingImage >::HistogramSizeType
template<class TFixedImage , class TMovingImage >
typedef Statistics::Histogram< double > itk::HistogramImageToImageMetric< TFixedImage, TMovingImage >::HistogramType
template<class TFixedImage , class TMovingImage >
typedef Superclass::InputPointType itk::HistogramImageToImageMetric< TFixedImage, TMovingImage >::InputPointType
template<class TFixedImage , class TMovingImage >
typedef HistogramType::MeasurementVectorType itk::HistogramImageToImageMetric< TFixedImage, TMovingImage >::MeasurementVectorType

Definition at line 77 of file itkHistogramImageToImageMetric.h.

template<class TFixedImage , class TMovingImage >
typedef Superclass::MeasureType itk::HistogramImageToImageMetric< TFixedImage, TMovingImage >::MeasureType
template<class TFixedImage , class TMovingImage >
typedef Superclass::MovingImageConstPointer itk::HistogramImageToImageMetric< TFixedImage, TMovingImage >::MovingImageConstPointerType

Definition at line 70 of file itkHistogramImageToImageMetric.h.

template<class TFixedImage , class TMovingImage >
typedef Superclass::MovingImageType::PixelType itk::HistogramImageToImageMetric< TFixedImage, TMovingImage >::MovingImagePixelType
template<class TFixedImage , class TMovingImage >
typedef Superclass::MovingImageType itk::HistogramImageToImageMetric< TFixedImage, TMovingImage >::MovingImageType
template<class TFixedImage , class TMovingImage >
typedef Superclass::OutputPointType itk::HistogramImageToImageMetric< TFixedImage, TMovingImage >::OutputPointType
template<class TFixedImage , class TMovingImage >
typedef SmartPointer< Self > itk::HistogramImageToImageMetric< TFixedImage, TMovingImage >::Pointer
template<class TFixedImage , class TMovingImage >
typedef Superclass::RealType itk::HistogramImageToImageMetric< TFixedImage, TMovingImage >::RealType
template<class TFixedImage , class TMovingImage >
typedef Array< double > itk::HistogramImageToImageMetric< TFixedImage, TMovingImage >::ScalesType

The scales type.

Definition at line 124 of file itkHistogramImageToImageMetric.h.

template<class TFixedImage , class TMovingImage >
typedef HistogramImageToImageMetric itk::HistogramImageToImageMetric< TFixedImage, TMovingImage >::Self
template<class TFixedImage , class TMovingImage >
typedef ImageToImageMetric< TFixedImage, TMovingImage > itk::HistogramImageToImageMetric< TFixedImage, TMovingImage >::Superclass
template<class TFixedImage , class TMovingImage >
typedef Superclass::TransformJacobianType itk::HistogramImageToImageMetric< TFixedImage, TMovingImage >::TransformJacobianType
template<class TFixedImage , class TMovingImage >
typedef Superclass::TransformParametersType itk::HistogramImageToImageMetric< TFixedImage, TMovingImage >::TransformParametersType
template<class TFixedImage , class TMovingImage >
typedef Superclass::TransformPointer itk::HistogramImageToImageMetric< TFixedImage, TMovingImage >::TransformPointer
template<class TFixedImage , class TMovingImage >
typedef Superclass::TransformType itk::HistogramImageToImageMetric< TFixedImage, TMovingImage >::TransformType

Constructor & Destructor Documentation

template<class TFixedImage , class TMovingImage >
itk::HistogramImageToImageMetric< TFixedImage, TMovingImage >::HistogramImageToImageMetric ( ) [protected]

Constructor is protected to ensure that New() function is used to create instances.

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

Definition at line 161 of file itkHistogramImageToImageMetric.h.

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

Member Function Documentation

template<class TFixedImage , class TMovingImage >
void itk::HistogramImageToImageMetric< TFixedImage, TMovingImage >::ComputeHistogram ( const TransformParametersType parameters,
HistogramType histogram 
) const [protected]

Computes the joint histogram from the transformation parameters passed to the function.

template<class TFixedImage , class TMovingImage >
void itk::HistogramImageToImageMetric< TFixedImage, TMovingImage >::ComputeHistogram ( const TransformParametersType parameters,
unsigned int  parameter,
double  step,
HistogramType histogram 
) const [protected]

Computes the joint histogram from the transformation parameters passed to the function.

template<class TFixedImage , class TMovingImage >
void itk::HistogramImageToImageMetric< TFixedImage, TMovingImage >::CopyHistogram ( HistogramType target,
HistogramType source 
) const [protected]

Copies a histogram.

template<class TFixedImage , class TMovingImage >
virtual MeasureType itk::HistogramImageToImageMetric< TFixedImage, TMovingImage >::EvaluateMeasure ( HistogramType histogram) const [protected, pure virtual]
template<class TFixedImage , class TMovingImage >
void itk::HistogramImageToImageMetric< TFixedImage, TMovingImage >::GetDerivative ( const TransformParametersType parameters,
DerivativeType derivative 
) const

Get the derivatives of the match measure.

template<class TFixedImage , class TMovingImage >
virtual double itk::HistogramImageToImageMetric< TFixedImage, TMovingImage >::GetDerivativeStepLength ( ) const [virtual]

Returns the step length used to calculate the derivative.

template<class TFixedImage , class TMovingImage >
virtual const ScalesType& itk::HistogramImageToImageMetric< TFixedImage, TMovingImage >::GetDerivativeStepLengthScales ( ) [virtual]

Returns the derivate step length scales.

template<class TFixedImage , class TMovingImage >
virtual const HistogramPointer& itk::HistogramImageToImageMetric< TFixedImage, TMovingImage >::GetHistogram ( ) [virtual]

Return the joint histogram. This is updated during every call to the GetValue() method. The histogram can for instance be used by itk::HistogramToImageFilter to plot the joint histogram.

template<class TFixedImage , class TMovingImage >
virtual const HistogramSizeType& itk::HistogramImageToImageMetric< TFixedImage, TMovingImage >::GetHistogramSize ( ) [virtual]

Gets the histogram size.

template<class TFixedImage , class TMovingImage >
virtual const char* itk::HistogramImageToImageMetric< TFixedImage, TMovingImage >::GetNameOfClass ( ) const [virtual]
template<class TFixedImage , class TMovingImage >
virtual const FixedImagePixelType& itk::HistogramImageToImageMetric< TFixedImage, TMovingImage >::GetPaddingValue ( ) [virtual]

Returns the padding value.

template<class TFixedImage , class TMovingImage >
virtual double itk::HistogramImageToImageMetric< TFixedImage, TMovingImage >::GetUpperBoundIncreaseFactor ( ) const [virtual]

Factor to increase the upper bound for the samples in the histogram. Default value is 0.001

template<class TFixedImage , class TMovingImage >
virtual bool itk::HistogramImageToImageMetric< TFixedImage, TMovingImage >::GetUsePaddingValue ( ) const [virtual]

Set whether the padding value should be used to determine which pixels should be ignored when calculating the similarity measure. Those pixels in the fixed image which have the padding value will be ignored.

template<class TFixedImage , class TMovingImage >
MeasureType itk::HistogramImageToImageMetric< TFixedImage, TMovingImage >::GetValue ( const TransformParametersType parameters) const

Get the value for single valued optimizers.

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

Get value and derivatives for multiple valued optimizers.

template<class TFixedImage , class TMovingImage >
void itk::HistogramImageToImageMetric< TFixedImage, TMovingImage >::Initialize ( ) throw ( ExceptionObject ) [virtual]
template<class TFixedImage , class TMovingImage >
void itk::HistogramImageToImageMetric< TFixedImage, TMovingImage >::operator= ( const Self ) [private]
template<class TFixedImage , class TMovingImage >
void itk::HistogramImageToImageMetric< TFixedImage, TMovingImage >::PrintSelf ( std::ostream &  os,
Indent  indent 
) const [protected, virtual]
template<class TFixedImage , class TMovingImage >
virtual void itk::HistogramImageToImageMetric< TFixedImage, TMovingImage >::SetDerivativeStepLength ( double  _arg) [virtual]

Sets the step length used to calculate the derivative.

template<class TFixedImage , class TMovingImage >
virtual void itk::HistogramImageToImageMetric< TFixedImage, TMovingImage >::SetDerivativeStepLengthScales ( ScalesType  _arg) [virtual]

Sets the derivative step length scales.

template<class TFixedImage , class TMovingImage >
virtual void itk::HistogramImageToImageMetric< TFixedImage, TMovingImage >::SetHistogramSize ( HistogramSizeType  _arg) [virtual]

Sets the histogram size. Note this function must be called before Initialize().

template<class TFixedImage , class TMovingImage >
void itk::HistogramImageToImageMetric< TFixedImage, TMovingImage >::SetLowerBound ( const MeasurementVectorType bound)

Set the lower bounds of the intensities to be considered for computing the histogram. This option allows to focus the computation of the Metric in a particular range of intensities that correspond to features of interest.

template<class TFixedImage , class TMovingImage >
virtual void itk::HistogramImageToImageMetric< TFixedImage, TMovingImage >::SetPaddingValue ( FixedImagePixelType  _arg) [virtual]

The padding value.

template<class TFixedImage , class TMovingImage >
void itk::HistogramImageToImageMetric< TFixedImage, TMovingImage >::SetTransform ( TransformType transform)

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

template<class TFixedImage , class TMovingImage >
void itk::HistogramImageToImageMetric< TFixedImage, TMovingImage >::SetUpperBound ( const MeasurementVectorType bound)

Set the upper bounds of the intensities to be considered for computing the histogram. This option allows to focus the computation of the Metric in a particular range of intensities that correspond to features of interest.

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

Factor to increase the upper bound for the samples in the histogram. Default value is 0.001

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

Set whether the padding value should be used to determine which pixels should be ignored when calculating the similarity measure. Those pixels in the fixed image which have the padding value will be ignored.


Member Data Documentation

template<class TFixedImage , class TMovingImage >
double itk::HistogramImageToImageMetric< TFixedImage, TMovingImage >::m_DerivativeStepLength [private]

The step length used to calculate the derivative.

Definition at line 218 of file itkHistogramImageToImageMetric.h.

template<class TFixedImage , class TMovingImage >
ScalesType itk::HistogramImageToImageMetric< TFixedImage, TMovingImage >::m_DerivativeStepLengthScales [private]

The derivative step length scales.

Definition at line 221 of file itkHistogramImageToImageMetric.h.

template<class TFixedImage , class TMovingImage >
HistogramPointer itk::HistogramImageToImageMetric< TFixedImage, TMovingImage >::m_Histogram [private]

Pointer to the joint histogram. This is updated during every call to GetValue()

Definition at line 225 of file itkHistogramImageToImageMetric.h.

template<class TFixedImage , class TMovingImage >
HistogramSizeType itk::HistogramImageToImageMetric< TFixedImage, TMovingImage >::m_HistogramSize [protected]

The histogram size.

Definition at line 164 of file itkHistogramImageToImageMetric.h.

template<class TFixedImage , class TMovingImage >
MeasurementVectorType itk::HistogramImageToImageMetric< TFixedImage, TMovingImage >::m_LowerBound [mutable, protected]

The lower bound for samples in the histogram.

Definition at line 167 of file itkHistogramImageToImageMetric.h.

template<class TFixedImage , class TMovingImage >
bool itk::HistogramImageToImageMetric< TFixedImage, TMovingImage >::m_LowerBoundSetByUser [protected]

Boolean flag to indicate whether the user supplied lower bounds or whether they should be computed from the min of image intensities

Definition at line 177 of file itkHistogramImageToImageMetric.h.

template<class TFixedImage , class TMovingImage >
FixedImagePixelType itk::HistogramImageToImageMetric< TFixedImage, TMovingImage >::m_PaddingValue [private]

The padding value.

Definition at line 210 of file itkHistogramImageToImageMetric.h.

template<class TFixedImage , class TMovingImage >
MeasurementVectorType itk::HistogramImageToImageMetric< TFixedImage, TMovingImage >::m_UpperBound [mutable, protected]

The upper bound for samples in the histogram.

Definition at line 170 of file itkHistogramImageToImageMetric.h.

template<class TFixedImage , class TMovingImage >
double itk::HistogramImageToImageMetric< TFixedImage, TMovingImage >::m_UpperBoundIncreaseFactor [protected]

The increase in the upper bound.

Definition at line 173 of file itkHistogramImageToImageMetric.h.

template<class TFixedImage , class TMovingImage >
bool itk::HistogramImageToImageMetric< TFixedImage, TMovingImage >::m_UpperBoundSetByUser [protected]

Boolean flag to indicate whether the user supplied upper bounds or whether they should be computed from the max of image intensities

Definition at line 181 of file itkHistogramImageToImageMetric.h.

template<class TFixedImage , class TMovingImage >
bool itk::HistogramImageToImageMetric< TFixedImage, TMovingImage >::m_UsePaddingValue [private]

True if those pixels in the fixed image with the same value as the padding value should be ignored when calculating the similarity measure.

Definition at line 215 of file itkHistogramImageToImageMetric.h.


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