Main Page   Groups   Namespace List   Class Hierarchy   Alphabetical List   Compound List   File List   Namespace Members   Compound Members   File Members   Concepts

itk::NormalizedMutualInformationHistogramImageToImageMetric< TFixedImage, TMovingImage > Class Template Reference
[Similarity Metrics of Registration Methods]

Computes normalized mutual information between two images to be registered using the histograms of the intensities in the images. More...

#include <itkNormalizedMutualInformationHistogramImageToImageMetric.h>

Inheritance diagram for itk::NormalizedMutualInformationHistogramImageToImageMetric< TFixedImage, TMovingImage >:

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

Collaboration graph
[legend]
List of all members.

Public Types

typedef NormalizedMutualInformationHistogramImageToImageMetric Self
typedef HistogramImageToImageMetric<
TFixedImage, TMovingImage > 
Superclass
typedef SmartPointer< SelfPointer
typedef SmartPointer< const
Self
ConstPointer
typedef Superclass::RealType RealType
typedef Superclass::TransformType TransformType
typedef Superclass::TransformPointer TransformPointer
typedef Superclass::TransformParametersType TransformParametersType
typedef Superclass::TransformJacobianType TransformJacobianType
typedef Superclass::GradientPixelType GradientPixelType
typedef Superclass::MeasureType MeasureType
typedef Superclass::DerivativeType DerivativeType
typedef Superclass::FixedImageType FixedImageType
typedef Superclass::MovingImageType MovingImageType
typedef Superclass::FixedImageConstPointer FixedImageConstPointer
typedef Superclass::MovingImageConstPointer MovingImageConstPointer
typedef Superclass::HistogramType HistogramType
typedef HistogramType::FrequencyType HistogramFrequencyType
typedef HistogramType::Iterator HistogramIteratorType
typedef HistogramType::MeasurementVectorType HistogramMeasurementVectorType

Public Member Functions

virtual const char * GetNameOfClass () const

Static Public Member Functions

Pointer New ()

Protected Member Functions

virtual MeasureType EvaluateMeasure (HistogramType &histogram) const
 NormalizedMutualInformationHistogramImageToImageMetric ()
virtual ~NormalizedMutualInformationHistogramImageToImageMetric ()

Detailed Description

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

Computes normalized mutual information between two images to be registered using the histograms of the intensities in the images.

The type of Normalize Mutual Information implemented in this class is given by the equation

\[ \frac{ H(A) + H(B) }{ H(A,B) } \]

Where $ H(A) $ is the entropy of image $ A $, $ H(B) $ is the entropy of image $ B $, and $ H(A,B) $ is the joing entropy of images $ A $ and $ B $.

Details of this implementation can be found in the book

"Medical Image Registration" by Hajnal, Hill and Hawkes.

The book is available online at

http://www-ipg.umds.ac.uk/d.hill/hhh/

The implementation of this class corresponds to equation (30) in Chapter 3 of this book. Note that by slightly changing this class it will be trivial to compute the Normalized Mutual Information measures defined in equations (28) and (29) of the same book.

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

Definition at line 56 of file itkNormalizedMutualInformationHistogramImageToImageMetric.h.


Member Typedef Documentation

template<class TFixedImage, class TMovingImage>
typedef SmartPointer<const Self> itk::NormalizedMutualInformationHistogramImageToImageMetric< TFixedImage, TMovingImage >::ConstPointer
 

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

Definition at line 64 of file itkNormalizedMutualInformationHistogramImageToImageMetric.h.

template<class TFixedImage, class TMovingImage>
typedef Superclass::DerivativeType itk::NormalizedMutualInformationHistogramImageToImageMetric< TFixedImage, TMovingImage >::DerivativeType
 

Type of the derivative.

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

Definition at line 83 of file itkNormalizedMutualInformationHistogramImageToImageMetric.h.

template<class TFixedImage, class TMovingImage>
typedef Superclass::FixedImageConstPointer itk::NormalizedMutualInformationHistogramImageToImageMetric< TFixedImage, TMovingImage >::FixedImageConstPointer
 

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

Definition at line 86 of file itkNormalizedMutualInformationHistogramImageToImageMetric.h.

template<class TFixedImage, class TMovingImage>
typedef Superclass::FixedImageType itk::NormalizedMutualInformationHistogramImageToImageMetric< TFixedImage, TMovingImage >::FixedImageType
 

Type of the fixed Image.

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

Definition at line 84 of file itkNormalizedMutualInformationHistogramImageToImageMetric.h.

template<class TFixedImage, class TMovingImage>
typedef Superclass::GradientPixelType itk::NormalizedMutualInformationHistogramImageToImageMetric< TFixedImage, TMovingImage >::GradientPixelType
 

Gaussian filter to compute the gradient of the Moving Image

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

Definition at line 80 of file itkNormalizedMutualInformationHistogramImageToImageMetric.h.

template<class TFixedImage, class TMovingImage>
typedef HistogramType::FrequencyType itk::NormalizedMutualInformationHistogramImageToImageMetric< TFixedImage, TMovingImage >::HistogramFrequencyType
 

Definition at line 91 of file itkNormalizedMutualInformationHistogramImageToImageMetric.h.

template<class TFixedImage, class TMovingImage>
typedef HistogramType::Iterator itk::NormalizedMutualInformationHistogramImageToImageMetric< TFixedImage, TMovingImage >::HistogramIteratorType
 

Definition at line 92 of file itkNormalizedMutualInformationHistogramImageToImageMetric.h.

template<class TFixedImage, class TMovingImage>
typedef HistogramType::MeasurementVectorType itk::NormalizedMutualInformationHistogramImageToImageMetric< TFixedImage, TMovingImage >::HistogramMeasurementVectorType
 

Definition at line 94 of file itkNormalizedMutualInformationHistogramImageToImageMetric.h.

template<class TFixedImage, class TMovingImage>
typedef Superclass::HistogramType itk::NormalizedMutualInformationHistogramImageToImageMetric< 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 >.

Definition at line 90 of file itkNormalizedMutualInformationHistogramImageToImageMetric.h.

template<class TFixedImage, class TMovingImage>
typedef Superclass::MeasureType itk::NormalizedMutualInformationHistogramImageToImageMetric< TFixedImage, TMovingImage >::MeasureType
 

Type of the measure.

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

Definition at line 82 of file itkNormalizedMutualInformationHistogramImageToImageMetric.h.

template<class TFixedImage, class TMovingImage>
typedef Superclass::MovingImageConstPointer itk::NormalizedMutualInformationHistogramImageToImageMetric< TFixedImage, TMovingImage >::MovingImageConstPointer
 

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

Definition at line 88 of file itkNormalizedMutualInformationHistogramImageToImageMetric.h.

template<class TFixedImage, class TMovingImage>
typedef Superclass::MovingImageType itk::NormalizedMutualInformationHistogramImageToImageMetric< TFixedImage, TMovingImage >::MovingImageType
 

Type of the moving Image.

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

Definition at line 85 of file itkNormalizedMutualInformationHistogramImageToImageMetric.h.

template<class TFixedImage, class TMovingImage>
typedef SmartPointer<Self> itk::NormalizedMutualInformationHistogramImageToImageMetric< TFixedImage, TMovingImage >::Pointer
 

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

Definition at line 63 of file itkNormalizedMutualInformationHistogramImageToImageMetric.h.

template<class TFixedImage, class TMovingImage>
typedef Superclass::RealType itk::NormalizedMutualInformationHistogramImageToImageMetric< TFixedImage, TMovingImage >::RealType
 

Types transferred from the base class

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

Definition at line 74 of file itkNormalizedMutualInformationHistogramImageToImageMetric.h.

template<class TFixedImage, class TMovingImage>
typedef NormalizedMutualInformationHistogramImageToImageMetric itk::NormalizedMutualInformationHistogramImageToImageMetric< TFixedImage, TMovingImage >::Self
 

Standard class typedefs.

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

Definition at line 61 of file itkNormalizedMutualInformationHistogramImageToImageMetric.h.

template<class TFixedImage, class TMovingImage>
typedef HistogramImageToImageMetric<TFixedImage, TMovingImage> itk::NormalizedMutualInformationHistogramImageToImageMetric< TFixedImage, TMovingImage >::Superclass
 

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

Definition at line 62 of file itkNormalizedMutualInformationHistogramImageToImageMetric.h.

template<class TFixedImage, class TMovingImage>
typedef Superclass::TransformJacobianType itk::NormalizedMutualInformationHistogramImageToImageMetric< TFixedImage, TMovingImage >::TransformJacobianType
 

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

Definition at line 79 of file itkNormalizedMutualInformationHistogramImageToImageMetric.h.

template<class TFixedImage, class TMovingImage>
typedef Superclass::TransformParametersType itk::NormalizedMutualInformationHistogramImageToImageMetric< TFixedImage, TMovingImage >::TransformParametersType
 

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

Definition at line 78 of file itkNormalizedMutualInformationHistogramImageToImageMetric.h.

template<class TFixedImage, class TMovingImage>
typedef Superclass::TransformPointer itk::NormalizedMutualInformationHistogramImageToImageMetric< TFixedImage, TMovingImage >::TransformPointer
 

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

Definition at line 76 of file itkNormalizedMutualInformationHistogramImageToImageMetric.h.

template<class TFixedImage, class TMovingImage>
typedef Superclass::TransformType itk::NormalizedMutualInformationHistogramImageToImageMetric< TFixedImage, TMovingImage >::TransformType
 

Type of the Transform Base class

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

Definition at line 75 of file itkNormalizedMutualInformationHistogramImageToImageMetric.h.


Constructor & Destructor Documentation

template<class TFixedImage, class TMovingImage>
itk::NormalizedMutualInformationHistogramImageToImageMetric< TFixedImage, TMovingImage >::NormalizedMutualInformationHistogramImageToImageMetric  )  [inline, protected]
 

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

Definition at line 99 of file itkNormalizedMutualInformationHistogramImageToImageMetric.h.

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

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

Definition at line 100 of file itkNormalizedMutualInformationHistogramImageToImageMetric.h.


Member Function Documentation

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

Evaluates the normalized mutual information from the histogram.

Implements itk::HistogramImageToImageMetric< TFixedImage, TMovingImage >.

template<class TFixedImage, class TMovingImage>
virtual const char* itk::NormalizedMutualInformationHistogramImageToImageMetric< TFixedImage, TMovingImage >::GetNameOfClass  )  const [virtual]
 

Run-time type information (and related methods).

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

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

Method for creation through the object factory.

Reimplemented from itk::Object.


The documentation for this class was generated from the following file:
Generated at Thu May 25 01:58:08 2006 for ITK by doxygen 1.3.5 written by Dimitri van Heesch, © 1997-2000