ITK
4.1.0
Insight Segmentation and Registration Toolkit
|
#include <itkKullbackLeiblerCompareHistogramImageToImageMetric.h>
Computes the Kubler Lieblach(KL) metric between the histogram of the two images to be registered and a training histogram.
This class is templated over the type of the fixed and moving images to be compared.
This class computers the KL-metric by comparing the histograms of the testing histogram formed by the overlap of intensities in the images, to a training histogram. It is based on the following paper:
Albert C.S. Chung, William M. Wells III, Alexander Norbash, and W. Eric L. Grimson, Multi-modal Image Registration by Minimising Kullback-Leibler Distance, In Medical Image Computing and Computer-Assisted Intervention - MICCAI 2002, LNCS 2489, pp. 525 - 532.
The metric is given by KL(P_test||P_train) = Sum_{i1,i2} P_test(i1,i2) vcl_log(P_test(i1,i2)/P_train(i1,i2)) where P_test and P_train are probabilities given my normalized histograms, and i1 and i2 are the intensity bins in the histogram.
Definition at line 72 of file itkKullbackLeiblerCompareHistogramImageToImageMetric.h.
typedef SmartPointer< const Self > itk::KullbackLeiblerCompareHistogramImageToImageMetric< TFixedImage, TMovingImage >::ConstPointer |
Reimplemented from itk::CompareHistogramImageToImageMetric< TFixedImage, TMovingImage >.
Definition at line 81 of file itkKullbackLeiblerCompareHistogramImageToImageMetric.h.
typedef Superclass::DerivativeType itk::KullbackLeiblerCompareHistogramImageToImageMetric< TFixedImage, TMovingImage >::DerivativeType |
Type of the derivative.
Reimplemented from itk::CompareHistogramImageToImageMetric< TFixedImage, TMovingImage >.
Definition at line 100 of file itkKullbackLeiblerCompareHistogramImageToImageMetric.h.
typedef Superclass::FixedImageConstPointer itk::KullbackLeiblerCompareHistogramImageToImageMetric< TFixedImage, TMovingImage >::FixedImageConstPointer |
Reimplemented from itk::CompareHistogramImageToImageMetric< TFixedImage, TMovingImage >.
Definition at line 103 of file itkKullbackLeiblerCompareHistogramImageToImageMetric.h.
typedef Superclass::FixedImageType itk::KullbackLeiblerCompareHistogramImageToImageMetric< TFixedImage, TMovingImage >::FixedImageType |
Type of the fixed Image.
Reimplemented from itk::CompareHistogramImageToImageMetric< TFixedImage, TMovingImage >.
Definition at line 101 of file itkKullbackLeiblerCompareHistogramImageToImageMetric.h.
typedef Superclass::GradientPixelType itk::KullbackLeiblerCompareHistogramImageToImageMetric< TFixedImage, TMovingImage >::GradientPixelType |
Gaussian filter to compute the gradient of the Moving Image
Reimplemented from itk::CompareHistogramImageToImageMetric< TFixedImage, TMovingImage >.
Definition at line 97 of file itkKullbackLeiblerCompareHistogramImageToImageMetric.h.
typedef Superclass::HistogramFrequencyType itk::KullbackLeiblerCompareHistogramImageToImageMetric< TFixedImage, TMovingImage >::HistogramFrequencyType |
Reimplemented from itk::CompareHistogramImageToImageMetric< TFixedImage, TMovingImage >.
Definition at line 112 of file itkKullbackLeiblerCompareHistogramImageToImageMetric.h.
typedef Superclass::HistogramIteratorType itk::KullbackLeiblerCompareHistogramImageToImageMetric< TFixedImage, TMovingImage >::HistogramIteratorType |
Reimplemented from itk::CompareHistogramImageToImageMetric< TFixedImage, TMovingImage >.
Definition at line 113 of file itkKullbackLeiblerCompareHistogramImageToImageMetric.h.
typedef Superclass::MeasurementVectorType itk::KullbackLeiblerCompareHistogramImageToImageMetric< TFixedImage, TMovingImage >::HistogramMeasurementVectorType |
Reimplemented from itk::CompareHistogramImageToImageMetric< TFixedImage, TMovingImage >.
Definition at line 110 of file itkKullbackLeiblerCompareHistogramImageToImageMetric.h.
typedef Superclass::HistogramPointerType itk::KullbackLeiblerCompareHistogramImageToImageMetric< TFixedImage, TMovingImage >::HistogramPointerType |
Reimplemented from itk::CompareHistogramImageToImageMetric< TFixedImage, TMovingImage >.
Definition at line 114 of file itkKullbackLeiblerCompareHistogramImageToImageMetric.h.
typedef Superclass::HistogramSizeType itk::KullbackLeiblerCompareHistogramImageToImageMetric< TFixedImage, TMovingImage >::HistogramSizeType |
Reimplemented from itk::CompareHistogramImageToImageMetric< TFixedImage, TMovingImage >.
Definition at line 108 of file itkKullbackLeiblerCompareHistogramImageToImageMetric.h.
typedef Superclass::HistogramType itk::KullbackLeiblerCompareHistogramImageToImageMetric< 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::CompareHistogramImageToImageMetric< TFixedImage, TMovingImage >.
Definition at line 107 of file itkKullbackLeiblerCompareHistogramImageToImageMetric.h.
typedef Superclass::InterpolatorPointer itk::KullbackLeiblerCompareHistogramImageToImageMetric< TFixedImage, TMovingImage >::InterpolatorPointer |
Reimplemented from itk::CompareHistogramImageToImageMetric< TFixedImage, TMovingImage >.
Definition at line 116 of file itkKullbackLeiblerCompareHistogramImageToImageMetric.h.
typedef Superclass::InterpolatorType itk::KullbackLeiblerCompareHistogramImageToImageMetric< TFixedImage, TMovingImage >::InterpolatorType |
Type of the Interpolator Base class
Reimplemented from itk::CompareHistogramImageToImageMetric< TFixedImage, TMovingImage >.
Definition at line 115 of file itkKullbackLeiblerCompareHistogramImageToImageMetric.h.
typedef Superclass::MeasureType itk::KullbackLeiblerCompareHistogramImageToImageMetric< TFixedImage, TMovingImage >::MeasureType |
Type of the measure.
Reimplemented from itk::CompareHistogramImageToImageMetric< TFixedImage, TMovingImage >.
Definition at line 99 of file itkKullbackLeiblerCompareHistogramImageToImageMetric.h.
typedef Superclass::MovingImageConstPointer itk::KullbackLeiblerCompareHistogramImageToImageMetric< TFixedImage, TMovingImage >::MovingImageConstPointer |
Reimplemented from itk::CompareHistogramImageToImageMetric< TFixedImage, TMovingImage >.
Definition at line 105 of file itkKullbackLeiblerCompareHistogramImageToImageMetric.h.
typedef Superclass::MovingImageType itk::KullbackLeiblerCompareHistogramImageToImageMetric< TFixedImage, TMovingImage >::MovingImageType |
Type of the moving Image.
Reimplemented from itk::CompareHistogramImageToImageMetric< TFixedImage, TMovingImage >.
Definition at line 102 of file itkKullbackLeiblerCompareHistogramImageToImageMetric.h.
typedef SmartPointer< Self > itk::KullbackLeiblerCompareHistogramImageToImageMetric< TFixedImage, TMovingImage >::Pointer |
Reimplemented from itk::CompareHistogramImageToImageMetric< TFixedImage, TMovingImage >.
Definition at line 80 of file itkKullbackLeiblerCompareHistogramImageToImageMetric.h.
typedef Superclass::RealType itk::KullbackLeiblerCompareHistogramImageToImageMetric< TFixedImage, TMovingImage >::RealType |
Types transferred from the base class
Reimplemented from itk::CompareHistogramImageToImageMetric< TFixedImage, TMovingImage >.
Definition at line 88 of file itkKullbackLeiblerCompareHistogramImageToImageMetric.h.
typedef KullbackLeiblerCompareHistogramImageToImageMetric itk::KullbackLeiblerCompareHistogramImageToImageMetric< TFixedImage, TMovingImage >::Self |
Standard class typedefs.
Reimplemented from itk::CompareHistogramImageToImageMetric< TFixedImage, TMovingImage >.
Definition at line 77 of file itkKullbackLeiblerCompareHistogramImageToImageMetric.h.
typedef CompareHistogramImageToImageMetric< TFixedImage, TMovingImage > itk::KullbackLeiblerCompareHistogramImageToImageMetric< TFixedImage, TMovingImage >::Superclass |
Reimplemented from itk::CompareHistogramImageToImageMetric< TFixedImage, TMovingImage >.
Definition at line 79 of file itkKullbackLeiblerCompareHistogramImageToImageMetric.h.
typedef Superclass::ConstPointer itk::KullbackLeiblerCompareHistogramImageToImageMetric< TFixedImage, TMovingImage >::TransformConstPointer |
Reimplemented from itk::CompareHistogramImageToImageMetric< TFixedImage, TMovingImage >.
Definition at line 94 of file itkKullbackLeiblerCompareHistogramImageToImageMetric.h.
typedef Superclass::TransformJacobianType itk::KullbackLeiblerCompareHistogramImageToImageMetric< TFixedImage, TMovingImage >::TransformJacobianType |
Reimplemented from itk::CompareHistogramImageToImageMetric< TFixedImage, TMovingImage >.
Definition at line 96 of file itkKullbackLeiblerCompareHistogramImageToImageMetric.h.
typedef Superclass::TransformParametersType itk::KullbackLeiblerCompareHistogramImageToImageMetric< TFixedImage, TMovingImage >::TransformParametersType |
Reimplemented from itk::CompareHistogramImageToImageMetric< TFixedImage, TMovingImage >.
Definition at line 95 of file itkKullbackLeiblerCompareHistogramImageToImageMetric.h.
typedef Superclass::TransformPointer itk::KullbackLeiblerCompareHistogramImageToImageMetric< TFixedImage, TMovingImage >::TransformPointer |
Reimplemented from itk::CompareHistogramImageToImageMetric< TFixedImage, TMovingImage >.
Definition at line 93 of file itkKullbackLeiblerCompareHistogramImageToImageMetric.h.
typedef Superclass::TransformType itk::KullbackLeiblerCompareHistogramImageToImageMetric< TFixedImage, TMovingImage >::TransformType |
Type of the Transform Base class
Reimplemented from itk::CompareHistogramImageToImageMetric< TFixedImage, TMovingImage >.
Definition at line 92 of file itkKullbackLeiblerCompareHistogramImageToImageMetric.h.
itk::KullbackLeiblerCompareHistogramImageToImageMetric< TFixedImage, TMovingImage >::KullbackLeiblerCompareHistogramImageToImageMetric | ( | ) | [protected] |
Constructor is protected to ensure that New()
function is used to create instances.
virtual itk::KullbackLeiblerCompareHistogramImageToImageMetric< TFixedImage, TMovingImage >::~KullbackLeiblerCompareHistogramImageToImageMetric | ( | ) | [inline, protected, virtual] |
Constructor is protected to ensure that New()
function is used to create instances.
Definition at line 138 of file itkKullbackLeiblerCompareHistogramImageToImageMetric.h.
itk::KullbackLeiblerCompareHistogramImageToImageMetric< TFixedImage, TMovingImage >::KullbackLeiblerCompareHistogramImageToImageMetric | ( | Self const & | ) | [private] |
virtual::itk::LightObject::Pointer itk::KullbackLeiblerCompareHistogramImageToImageMetric< 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.
virtual MeasureType itk::KullbackLeiblerCompareHistogramImageToImageMetric< TFixedImage, TMovingImage >::EvaluateMeasure | ( | HistogramType & | histogram | ) | const [protected, virtual] |
Evaluates the mutual information from the histogram.
Implements itk::CompareHistogramImageToImageMetric< TFixedImage, TMovingImage >.
void itk::KullbackLeiblerCompareHistogramImageToImageMetric< TFixedImage, TMovingImage >::FormTrainingHistogram | ( | ) | throw ( ExceptionObject ) [protected] |
Form the Histogram for the Training data
Reimplemented from itk::CompareHistogramImageToImageMetric< TFixedImage, TMovingImage >.
virtual const double& itk::KullbackLeiblerCompareHistogramImageToImageMetric< TFixedImage, TMovingImage >::GetEpsilon | ( | ) | [virtual] |
Get epsilon, the histogram frequency to use if the frequency is 0
virtual const char* itk::KullbackLeiblerCompareHistogramImageToImageMetric< TFixedImage, TMovingImage >::GetNameOfClass | ( | ) | const [virtual] |
Run-time type information (and related methods).
Reimplemented from itk::CompareHistogramImageToImageMetric< TFixedImage, TMovingImage >.
unsigned int itk::KullbackLeiblerCompareHistogramImageToImageMetric< TFixedImage, TMovingImage >::GetNumberOfParameters | ( | void | ) | const [inline, virtual] |
Return the number of parameters required by the Transform
Reimplemented from itk::CompareHistogramImageToImageMetric< TFixedImage, TMovingImage >.
Definition at line 125 of file itkKullbackLeiblerCompareHistogramImageToImageMetric.h.
void itk::KullbackLeiblerCompareHistogramImageToImageMetric< 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::CompareHistogramImageToImageMetric< TFixedImage, TMovingImage >.
static Pointer itk::KullbackLeiblerCompareHistogramImageToImageMetric< TFixedImage, TMovingImage >::New | ( | ) | [static] |
Method for creation through the object factory.
Reimplemented from itk::Object.
void itk::KullbackLeiblerCompareHistogramImageToImageMetric< TFixedImage, TMovingImage >::operator= | ( | Self const & | ) | [private] |
Mutex lock to protect modification to the reference count
Reimplemented from itk::CompareHistogramImageToImageMetric< TFixedImage, TMovingImage >.
void itk::KullbackLeiblerCompareHistogramImageToImageMetric< 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::CompareHistogramImageToImageMetric< TFixedImage, TMovingImage >.
virtual void itk::KullbackLeiblerCompareHistogramImageToImageMetric< TFixedImage, TMovingImage >::SetEpsilon | ( | double | _arg | ) | [virtual] |
Set epsilon, which is added to each bin in both Histogram
double itk::KullbackLeiblerCompareHistogramImageToImageMetric< TFixedImage, TMovingImage >::m_Epsilon [protected] |
Definition at line 149 of file itkKullbackLeiblerCompareHistogramImageToImageMetric.h.