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

Compares Histograms between two images to be registered to a Training Histogram. More...

#include <itkCompareHistogramImageToImageMetric.h>

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

List of all members.

Public Types

typedef SmartPointer< const SelfConstPointer
typedef Superclass::DerivativeType DerivativeType
typedef
Superclass::FixedImageConstPointer 
FixedImageConstPointer
typedef
Superclass::FixedImageRegionType 
FixedImageRegionType
typedef Superclass::FixedImageType FixedImageType
typedef
Superclass::GradientPixelType 
GradientPixelType
typedef
HistogramType::AbsoluteFrequencyType 
HistogramAbsoluteFrequencyType
typedef
HistogramAbsoluteFrequencyType 
HistogramFrequencyType
typedef HistogramType::Iterator HistogramIteratorType
typedef
HistogramType::MeasurementVectorType 
HistogramMeasurementVectorType
typedef HistogramType::Pointer HistogramPointerType
typedef
Superclass::HistogramSizeType 
HistogramSizeType
typedef Superclass::HistogramType HistogramType
typedef
Superclass::InterpolatorPointer 
InterpolatorPointer
typedef
Superclass::InterpolatorType 
InterpolatorType
typedef Superclass::MeasureType MeasureType
typedef
Superclass::MovingImageConstPointer 
MovingImageConstPointer
typedef Superclass::MovingImageType MovingImageType
typedef SmartPointer< SelfPointer
typedef Superclass::RealType RealType
typedef
CompareHistogramImageToImageMetric 
Self
typedef
HistogramImageToImageMetric
< TFixedImage, TMovingImage > 
Superclass
typedef TransformType::ConstPointer TransformConstPointer
typedef
Superclass::TransformJacobianType 
TransformJacobianType
typedef
Superclass::TransformParametersType 
TransformParametersType
typedef
Superclass::TransformPointer 
TransformPointer
typedef Superclass::TransformType TransformType

Public Member Functions

virtual const char * GetNameOfClass () const
unsigned int GetNumberOfParameters (void) const
virtual const FixedImageTypeGetTrainingFixedImage ()
virtual const
FixedImageRegionType
GetTrainingFixedImageRegion ()
virtual const
HistogramPointerType
GetTrainingHistogram ()
virtual InterpolatorTypeGetTrainingInterpolator ()
virtual const MovingImageTypeGetTrainingMovingImage ()
virtual TransformTypeGetTrainingTransform ()
void Initialize () throw ( ExceptionObject )
virtual void SetTrainingFixedImage (const FixedImageType *_arg)
virtual void SetTrainingFixedImageRegion (FixedImageRegionType _arg)
virtual void SetTrainingHistogram (HistogramPointerType _arg)
virtual void SetTrainingInterpolator (InterpolatorType *_arg)
virtual void SetTrainingMovingImage (const MovingImageType *_arg)
virtual void SetTrainingTransform (TransformType *_arg)

Protected Member Functions

virtual MeasureType EvaluateMeasure (HistogramType &histogram) const =0
void FormTrainingHistogram () throw ( ExceptionObject )
 CompareHistogramImageToImageMetric ()
virtual ~CompareHistogramImageToImageMetric ()
void PrintSelf (std::ostream &os, Indent indent) const

Private Member Functions

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

Private Attributes

FixedImageConstPointer m_TrainingFixedImage
FixedImageRegionType m_TrainingFixedImageRegion
HistogramPointerType m_TrainingHistogram
InterpolatorPointer m_TrainingInterpolator
MovingImageConstPointer m_TrainingMovingImage
TransformPointer m_TrainingTransform

Detailed Description

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

Compares Histograms between two images to be registered to a Training Histogram.

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

This metric computes the similarity between the histogram produced by two images overlapping and a training histogram.

It is to be sub-classed by the method of comparing the histograms.

Generally, the histogram from the training data is to be computed in exactly the same way as the histogram from the images to be compared are computed. Thus, the user can set the interpolator, region, two training images and the transfrom and the training histogram will be formed. OR, the user can simply calculate the training histogram seperately and set it.

Warning:
The Initialize function does nothing if the training histogram already exists. Thus repeated calls to the Initialize function do nothing after the first call. If you wish the training histogram to be re-calculated, you should set it to 0.
Author:
Samson Timoner.

Definition at line 56 of file itkCompareHistogramImageToImageMetric.h.


Member Typedef Documentation

template<class TFixedImage , class TMovingImage >
typedef SmartPointer< const Self > itk::CompareHistogramImageToImageMetric< TFixedImage, TMovingImage >::ConstPointer
template<class TFixedImage , class TMovingImage >
typedef Superclass::DerivativeType itk::CompareHistogramImageToImageMetric< TFixedImage, TMovingImage >::DerivativeType
template<class TFixedImage , class TMovingImage >
typedef Superclass::FixedImageConstPointer itk::CompareHistogramImageToImageMetric< TFixedImage, TMovingImage >::FixedImageConstPointer
template<class TFixedImage , class TMovingImage >
typedef Superclass::FixedImageRegionType itk::CompareHistogramImageToImageMetric< TFixedImage, TMovingImage >::FixedImageRegionType
template<class TFixedImage , class TMovingImage >
typedef Superclass::FixedImageType itk::CompareHistogramImageToImageMetric< TFixedImage, TMovingImage >::FixedImageType
template<class TFixedImage , class TMovingImage >
typedef Superclass::GradientPixelType itk::CompareHistogramImageToImageMetric< TFixedImage, TMovingImage >::GradientPixelType
template<class TFixedImage , class TMovingImage >
typedef HistogramType::AbsoluteFrequencyType itk::CompareHistogramImageToImageMetric< TFixedImage, TMovingImage >::HistogramAbsoluteFrequencyType

Definition at line 91 of file itkCompareHistogramImageToImageMetric.h.

template<class TFixedImage , class TMovingImage >
typedef HistogramAbsoluteFrequencyType itk::CompareHistogramImageToImageMetric< TFixedImage, TMovingImage >::HistogramFrequencyType
template<class TFixedImage , class TMovingImage >
typedef HistogramType::Iterator itk::CompareHistogramImageToImageMetric< TFixedImage, TMovingImage >::HistogramIteratorType
template<class TFixedImage , class TMovingImage >
typedef HistogramType::MeasurementVectorType itk::CompareHistogramImageToImageMetric< TFixedImage, TMovingImage >::HistogramMeasurementVectorType
template<class TFixedImage , class TMovingImage >
typedef HistogramType::Pointer itk::CompareHistogramImageToImageMetric< TFixedImage, TMovingImage >::HistogramPointerType
template<class TFixedImage , class TMovingImage >
typedef Superclass::HistogramSizeType itk::CompareHistogramImageToImageMetric< TFixedImage, TMovingImage >::HistogramSizeType
template<class TFixedImage , class TMovingImage >
typedef Superclass::HistogramType itk::CompareHistogramImageToImageMetric< TFixedImage, TMovingImage >::HistogramType

Typedefs for histogram. This should have been defined as Histogram<RealType,2> but a bug in VC++7 produced an internal compiler error with such declaration.

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

Reimplemented in itk::KullbackLeiblerCompareHistogramImageToImageMetric< TFixedImage, TMovingImage >.

Definition at line 88 of file itkCompareHistogramImageToImageMetric.h.

template<class TFixedImage , class TMovingImage >
typedef Superclass::InterpolatorPointer itk::CompareHistogramImageToImageMetric< TFixedImage, TMovingImage >::InterpolatorPointer
template<class TFixedImage , class TMovingImage >
typedef Superclass::InterpolatorType itk::CompareHistogramImageToImageMetric< TFixedImage, TMovingImage >::InterpolatorType
template<class TFixedImage , class TMovingImage >
typedef Superclass::MeasureType itk::CompareHistogramImageToImageMetric< TFixedImage, TMovingImage >::MeasureType
template<class TFixedImage , class TMovingImage >
typedef Superclass::MovingImageConstPointer itk::CompareHistogramImageToImageMetric< TFixedImage, TMovingImage >::MovingImageConstPointer
template<class TFixedImage , class TMovingImage >
typedef Superclass::MovingImageType itk::CompareHistogramImageToImageMetric< TFixedImage, TMovingImage >::MovingImageType
template<class TFixedImage , class TMovingImage >
typedef SmartPointer< Self > itk::CompareHistogramImageToImageMetric< TFixedImage, TMovingImage >::Pointer
template<class TFixedImage , class TMovingImage >
typedef Superclass::RealType itk::CompareHistogramImageToImageMetric< TFixedImage, TMovingImage >::RealType
template<class TFixedImage , class TMovingImage >
typedef CompareHistogramImageToImageMetric itk::CompareHistogramImageToImageMetric< TFixedImage, TMovingImage >::Self
template<class TFixedImage , class TMovingImage >
typedef HistogramImageToImageMetric< TFixedImage, TMovingImage > itk::CompareHistogramImageToImageMetric< TFixedImage, TMovingImage >::Superclass
template<class TFixedImage , class TMovingImage >
typedef TransformType::ConstPointer itk::CompareHistogramImageToImageMetric< TFixedImage, TMovingImage >::TransformConstPointer
template<class TFixedImage , class TMovingImage >
typedef Superclass::TransformJacobianType itk::CompareHistogramImageToImageMetric< TFixedImage, TMovingImage >::TransformJacobianType
template<class TFixedImage , class TMovingImage >
typedef Superclass::TransformParametersType itk::CompareHistogramImageToImageMetric< TFixedImage, TMovingImage >::TransformParametersType
template<class TFixedImage , class TMovingImage >
typedef Superclass::TransformPointer itk::CompareHistogramImageToImageMetric< TFixedImage, TMovingImage >::TransformPointer
template<class TFixedImage , class TMovingImage >
typedef Superclass::TransformType itk::CompareHistogramImageToImageMetric< TFixedImage, TMovingImage >::TransformType

Constructor & Destructor Documentation

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

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

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

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

Definition at line 152 of file itkCompareHistogramImageToImageMetric.h.

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

Member Function Documentation

template<class TFixedImage , class TMovingImage >
virtual MeasureType itk::CompareHistogramImageToImageMetric< TFixedImage, TMovingImage >::EvaluateMeasure ( HistogramType histogram) const [protected, pure virtual]

Evaluates the comparison histogram metric. All sub-classes must re-implement method.

Implemented in itk::KullbackLeiblerCompareHistogramImageToImageMetric< TFixedImage, TMovingImage >.

template<class TFixedImage , class TMovingImage >
void itk::CompareHistogramImageToImageMetric< TFixedImage, TMovingImage >::FormTrainingHistogram ( ) throw ( ExceptionObject ) [protected]

Form the Histogram for the Training data

Reimplemented in itk::KullbackLeiblerCompareHistogramImageToImageMetric< TFixedImage, TMovingImage >.

template<class TFixedImage , class TMovingImage >
virtual const char* itk::CompareHistogramImageToImageMetric< TFixedImage, TMovingImage >::GetNameOfClass ( ) const [virtual]
template<class TFixedImage , class TMovingImage >
unsigned int itk::CompareHistogramImageToImageMetric< TFixedImage, TMovingImage >::GetNumberOfParameters ( void  ) const [inline, virtual]
template<class TFixedImage , class TMovingImage >
virtual const FixedImageType* itk::CompareHistogramImageToImageMetric< TFixedImage, TMovingImage >::GetTrainingFixedImage ( ) [virtual]

Get the Training Fixed Image.

template<class TFixedImage , class TMovingImage >
virtual const FixedImageRegionType& itk::CompareHistogramImageToImageMetric< TFixedImage, TMovingImage >::GetTrainingFixedImageRegion ( ) [virtual]

Get the region over which the training histogram will be computed

template<class TFixedImage , class TMovingImage >
virtual const HistogramPointerType& itk::CompareHistogramImageToImageMetric< TFixedImage, TMovingImage >::GetTrainingHistogram ( ) [virtual]

Get the histogram to be used in the metric calculation

template<class TFixedImage , class TMovingImage >
virtual InterpolatorType* itk::CompareHistogramImageToImageMetric< TFixedImage, TMovingImage >::GetTrainingInterpolator ( ) [virtual]

Get a pointer to the Interpolator.

template<class TFixedImage , class TMovingImage >
virtual const MovingImageType* itk::CompareHistogramImageToImageMetric< TFixedImage, TMovingImage >::GetTrainingMovingImage ( ) [virtual]

Get the Training Moving Image.

template<class TFixedImage , class TMovingImage >
virtual TransformType* itk::CompareHistogramImageToImageMetric< TFixedImage, TMovingImage >::GetTrainingTransform ( ) [virtual]

Get a pointer to the Transform.

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

Forms the histogram of the training images to prepare to evaluate the metric. Must set all parameters first.

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

Reimplemented in itk::KullbackLeiblerCompareHistogramImageToImageMetric< TFixedImage, TMovingImage >.

template<class TFixedImage , class TMovingImage >
void itk::CompareHistogramImageToImageMetric< TFixedImage, TMovingImage >::operator= ( Self const &  ) [private]

Mutex lock to protect modification to the reference count

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

Reimplemented in itk::KullbackLeiblerCompareHistogramImageToImageMetric< TFixedImage, TMovingImage >.

template<class TFixedImage , class TMovingImage >
void itk::CompareHistogramImageToImageMetric< TFixedImage, TMovingImage >::PrintSelf ( std::ostream &  os,
Indent  indent 
) const [protected, virtual]

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

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

Reimplemented in itk::KullbackLeiblerCompareHistogramImageToImageMetric< TFixedImage, TMovingImage >.

template<class TFixedImage , class TMovingImage >
virtual void itk::CompareHistogramImageToImageMetric< TFixedImage, TMovingImage >::SetTrainingFixedImage ( const FixedImageType _arg) [virtual]

Set the Training Fixed Image.

template<class TFixedImage , class TMovingImage >
virtual void itk::CompareHistogramImageToImageMetric< TFixedImage, TMovingImage >::SetTrainingFixedImageRegion ( FixedImageRegionType  _arg) [virtual]

Set the region over which the training histogram will be computed

template<class TFixedImage , class TMovingImage >
virtual void itk::CompareHistogramImageToImageMetric< TFixedImage, TMovingImage >::SetTrainingHistogram ( HistogramPointerType  _arg) [virtual]

Set the histogram to be used in the metric calculation

template<class TFixedImage , class TMovingImage >
virtual void itk::CompareHistogramImageToImageMetric< TFixedImage, TMovingImage >::SetTrainingInterpolator ( InterpolatorType _arg) [virtual]

Set the Interpolator.

template<class TFixedImage , class TMovingImage >
virtual void itk::CompareHistogramImageToImageMetric< TFixedImage, TMovingImage >::SetTrainingMovingImage ( const MovingImageType _arg) [virtual]

Set the Training Moving Image.

template<class TFixedImage , class TMovingImage >
virtual void itk::CompareHistogramImageToImageMetric< TFixedImage, TMovingImage >::SetTrainingTransform ( TransformType _arg) [virtual]

Set the Training Transform.


Member Data Documentation

template<class TFixedImage , class TMovingImage >
FixedImageConstPointer itk::CompareHistogramImageToImageMetric< TFixedImage, TMovingImage >::m_TrainingFixedImage [private]

Definition at line 169 of file itkCompareHistogramImageToImageMetric.h.

template<class TFixedImage , class TMovingImage >
FixedImageRegionType itk::CompareHistogramImageToImageMetric< TFixedImage, TMovingImage >::m_TrainingFixedImageRegion [private]

Definition at line 173 of file itkCompareHistogramImageToImageMetric.h.

template<class TFixedImage , class TMovingImage >
HistogramPointerType itk::CompareHistogramImageToImageMetric< TFixedImage, TMovingImage >::m_TrainingHistogram [private]

Definition at line 174 of file itkCompareHistogramImageToImageMetric.h.

template<class TFixedImage , class TMovingImage >
InterpolatorPointer itk::CompareHistogramImageToImageMetric< TFixedImage, TMovingImage >::m_TrainingInterpolator [private]

Definition at line 172 of file itkCompareHistogramImageToImageMetric.h.

template<class TFixedImage , class TMovingImage >
MovingImageConstPointer itk::CompareHistogramImageToImageMetric< TFixedImage, TMovingImage >::m_TrainingMovingImage [private]

Definition at line 170 of file itkCompareHistogramImageToImageMetric.h.

template<class TFixedImage , class TMovingImage >
TransformPointer itk::CompareHistogramImageToImageMetric< TFixedImage, TMovingImage >::m_TrainingTransform [private]

Definition at line 171 of file itkCompareHistogramImageToImageMetric.h.


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