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

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 >:
Collaboration diagram for itk::NormalizedMutualInformationHistogramImageToImageMetric< TFixedImage, TMovingImage >:

List of all members.

Public Types

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

Public Member Functions

virtual ::itk::LightObject::Pointer CreateAnother (void) const
virtual const char * GetNameOfClass () const

Static Public Member Functions

static Pointer New ()

Protected Member Functions

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

Private Member Functions

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

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://books.google.com/books?id=2dtQNsk-qBQC 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 52 of file itkNormalizedMutualInformationHistogramImageToImageMetric.h.


Member Typedef Documentation

template<class TFixedImage , class TMovingImage >
typedef SmartPointer< const Self > itk::NormalizedMutualInformationHistogramImageToImageMetric< TFixedImage, TMovingImage >::ConstPointer
template<class TFixedImage , class TMovingImage >
typedef Superclass::DerivativeType itk::NormalizedMutualInformationHistogramImageToImageMetric< TFixedImage, TMovingImage >::DerivativeType
template<class TFixedImage , class TMovingImage >
typedef Superclass::FixedImageConstPointer itk::NormalizedMutualInformationHistogramImageToImageMetric< TFixedImage, TMovingImage >::FixedImageConstPointer
template<class TFixedImage , class TMovingImage >
typedef Superclass::FixedImageType itk::NormalizedMutualInformationHistogramImageToImageMetric< TFixedImage, TMovingImage >::FixedImageType
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 75 of file itkNormalizedMutualInformationHistogramImageToImageMetric.h.

template<class TFixedImage , class TMovingImage >
typedef HistogramType::AbsoluteFrequencyType itk::NormalizedMutualInformationHistogramImageToImageMetric< TFixedImage, TMovingImage >::HistogramFrequencyType
template<class TFixedImage , class TMovingImage >
typedef HistogramType::Iterator itk::NormalizedMutualInformationHistogramImageToImageMetric< TFixedImage, TMovingImage >::HistogramIteratorType
template<class TFixedImage , class TMovingImage >
typedef HistogramType::MeasurementVectorType itk::NormalizedMutualInformationHistogramImageToImageMetric< TFixedImage, TMovingImage >::HistogramMeasurementVectorType
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 84 of file itkNormalizedMutualInformationHistogramImageToImageMetric.h.

template<class TFixedImage , class TMovingImage >
typedef Superclass::MeasureType itk::NormalizedMutualInformationHistogramImageToImageMetric< TFixedImage, TMovingImage >::MeasureType
template<class TFixedImage , class TMovingImage >
typedef Superclass::MovingImageConstPointer itk::NormalizedMutualInformationHistogramImageToImageMetric< TFixedImage, TMovingImage >::MovingImageConstPointer
template<class TFixedImage , class TMovingImage >
typedef Superclass::MovingImageType itk::NormalizedMutualInformationHistogramImageToImageMetric< TFixedImage, TMovingImage >::MovingImageType
template<class TFixedImage , class TMovingImage >
typedef SmartPointer< Self > itk::NormalizedMutualInformationHistogramImageToImageMetric< TFixedImage, TMovingImage >::Pointer
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 67 of file itkNormalizedMutualInformationHistogramImageToImageMetric.h.

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

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 91 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 92 of file itkNormalizedMutualInformationHistogramImageToImageMetric.h.

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

Member Function Documentation

template<class TFixedImage , class TMovingImage >
virtual::itk::LightObject::Pointer itk::NormalizedMutualInformationHistogramImageToImageMetric< TFixedImage, TMovingImage >::CreateAnother ( void  ) const [virtual]

Create an object from an instance, potentially deferring to a factory. This method allows you to create an instance of an object that is exactly the same type as the referring object. This is useful in cases where an object has been cast back to a base class.

Reimplemented from itk::Object.

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 >
static Pointer itk::NormalizedMutualInformationHistogramImageToImageMetric< TFixedImage, TMovingImage >::New ( ) [static]

Method for creation through the object factory.

Reimplemented from itk::Object.

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

Mutex lock to protect modification to the reference count

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


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