ITK
4.9.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) std::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.
Static Public Member Functions | |
static Pointer | New () |
Static Public Member Functions inherited from itk::Object | |
static bool | GetGlobalWarningDisplay () |
static void | GlobalWarningDisplayOff () |
static void | GlobalWarningDisplayOn () |
static Pointer | New () |
static void | SetGlobalWarningDisplay (bool flag) |
Static Public Member Functions inherited from itk::LightObject | |
static void | BreakOnError () |
static Pointer | New () |
Private Member Functions | |
KullbackLeiblerCompareHistogramImageToImageMetric (Self const &) | |
void | operator= (Self const &) |
typedef SmartPointer< const Self > itk::KullbackLeiblerCompareHistogramImageToImageMetric< TFixedImage, TMovingImage >::ConstPointer |
Definition at line 81 of file itkKullbackLeiblerCompareHistogramImageToImageMetric.h.
typedef Superclass::DerivativeType itk::KullbackLeiblerCompareHistogramImageToImageMetric< TFixedImage, TMovingImage >::DerivativeType |
Definition at line 100 of file itkKullbackLeiblerCompareHistogramImageToImageMetric.h.
typedef Superclass::FixedImageConstPointer itk::KullbackLeiblerCompareHistogramImageToImageMetric< TFixedImage, TMovingImage >::FixedImageConstPointer |
Definition at line 103 of file itkKullbackLeiblerCompareHistogramImageToImageMetric.h.
typedef Superclass::FixedImageType itk::KullbackLeiblerCompareHistogramImageToImageMetric< TFixedImage, TMovingImage >::FixedImageType |
Definition at line 101 of file itkKullbackLeiblerCompareHistogramImageToImageMetric.h.
typedef Superclass::GradientPixelType itk::KullbackLeiblerCompareHistogramImageToImageMetric< TFixedImage, TMovingImage >::GradientPixelType |
Definition at line 97 of file itkKullbackLeiblerCompareHistogramImageToImageMetric.h.
typedef Superclass::HistogramFrequencyType itk::KullbackLeiblerCompareHistogramImageToImageMetric< TFixedImage, TMovingImage >::HistogramFrequencyType |
Definition at line 112 of file itkKullbackLeiblerCompareHistogramImageToImageMetric.h.
typedef Superclass::HistogramIteratorType itk::KullbackLeiblerCompareHistogramImageToImageMetric< TFixedImage, TMovingImage >::HistogramIteratorType |
Definition at line 113 of file itkKullbackLeiblerCompareHistogramImageToImageMetric.h.
typedef Superclass::MeasurementVectorType itk::KullbackLeiblerCompareHistogramImageToImageMetric< TFixedImage, TMovingImage >::HistogramMeasurementVectorType |
Definition at line 110 of file itkKullbackLeiblerCompareHistogramImageToImageMetric.h.
typedef Superclass::HistogramPointerType itk::KullbackLeiblerCompareHistogramImageToImageMetric< TFixedImage, TMovingImage >::HistogramPointerType |
Definition at line 114 of file itkKullbackLeiblerCompareHistogramImageToImageMetric.h.
typedef Superclass::HistogramSizeType itk::KullbackLeiblerCompareHistogramImageToImageMetric< TFixedImage, TMovingImage >::HistogramSizeType |
Definition at line 108 of file itkKullbackLeiblerCompareHistogramImageToImageMetric.h.
typedef Superclass::HistogramType itk::KullbackLeiblerCompareHistogramImageToImageMetric< TFixedImage, TMovingImage >::HistogramType |
Definition at line 107 of file itkKullbackLeiblerCompareHistogramImageToImageMetric.h.
typedef Superclass::InterpolatorPointer itk::KullbackLeiblerCompareHistogramImageToImageMetric< TFixedImage, TMovingImage >::InterpolatorPointer |
Definition at line 116 of file itkKullbackLeiblerCompareHistogramImageToImageMetric.h.
typedef Superclass::InterpolatorType itk::KullbackLeiblerCompareHistogramImageToImageMetric< TFixedImage, TMovingImage >::InterpolatorType |
Definition at line 115 of file itkKullbackLeiblerCompareHistogramImageToImageMetric.h.
typedef Superclass::MeasureType itk::KullbackLeiblerCompareHistogramImageToImageMetric< TFixedImage, TMovingImage >::MeasureType |
Definition at line 99 of file itkKullbackLeiblerCompareHistogramImageToImageMetric.h.
typedef Superclass::MovingImageConstPointer itk::KullbackLeiblerCompareHistogramImageToImageMetric< TFixedImage, TMovingImage >::MovingImageConstPointer |
Definition at line 105 of file itkKullbackLeiblerCompareHistogramImageToImageMetric.h.
typedef Superclass::MovingImageType itk::KullbackLeiblerCompareHistogramImageToImageMetric< TFixedImage, TMovingImage >::MovingImageType |
Definition at line 102 of file itkKullbackLeiblerCompareHistogramImageToImageMetric.h.
typedef SmartPointer< Self > itk::KullbackLeiblerCompareHistogramImageToImageMetric< TFixedImage, TMovingImage >::Pointer |
Definition at line 80 of file itkKullbackLeiblerCompareHistogramImageToImageMetric.h.
typedef Superclass::RealType itk::KullbackLeiblerCompareHistogramImageToImageMetric< TFixedImage, TMovingImage >::RealType |
Types transferred from the base class
Definition at line 88 of file itkKullbackLeiblerCompareHistogramImageToImageMetric.h.
typedef KullbackLeiblerCompareHistogramImageToImageMetric itk::KullbackLeiblerCompareHistogramImageToImageMetric< TFixedImage, TMovingImage >::Self |
Standard class typedefs.
Definition at line 77 of file itkKullbackLeiblerCompareHistogramImageToImageMetric.h.
typedef CompareHistogramImageToImageMetric< TFixedImage, TMovingImage > itk::KullbackLeiblerCompareHistogramImageToImageMetric< TFixedImage, TMovingImage >::Superclass |
Definition at line 79 of file itkKullbackLeiblerCompareHistogramImageToImageMetric.h.
typedef Superclass::ConstPointer itk::KullbackLeiblerCompareHistogramImageToImageMetric< TFixedImage, TMovingImage >::TransformConstPointer |
Definition at line 94 of file itkKullbackLeiblerCompareHistogramImageToImageMetric.h.
typedef Superclass::TransformJacobianType itk::KullbackLeiblerCompareHistogramImageToImageMetric< TFixedImage, TMovingImage >::TransformJacobianType |
Definition at line 96 of file itkKullbackLeiblerCompareHistogramImageToImageMetric.h.
typedef Superclass::TransformParametersType itk::KullbackLeiblerCompareHistogramImageToImageMetric< TFixedImage, TMovingImage >::TransformParametersType |
Definition at line 95 of file itkKullbackLeiblerCompareHistogramImageToImageMetric.h.
typedef Superclass::TransformPointer itk::KullbackLeiblerCompareHistogramImageToImageMetric< TFixedImage, TMovingImage >::TransformPointer |
Definition at line 93 of file itkKullbackLeiblerCompareHistogramImageToImageMetric.h.
typedef Superclass::TransformType itk::KullbackLeiblerCompareHistogramImageToImageMetric< TFixedImage, TMovingImage >::TransformType |
Definition at line 92 of file itkKullbackLeiblerCompareHistogramImageToImageMetric.h.
|
protected |
Constructor is protected to ensure that New()
function is used to create instances.
|
inlineprotectedvirtual |
Constructor is protected to ensure that New()
function is used to create instances.
Definition at line 137 of file itkKullbackLeiblerCompareHistogramImageToImageMetric.h.
|
private |
|
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.
|
overrideprotectedvirtual |
Evaluates the mutual information from the histogram.
Implements itk::CompareHistogramImageToImageMetric< TFixedImage, TMovingImage >.
|
protected |
Form the Histogram for the Training data
|
virtual |
Get epsilon, the histogram frequency to use if the frequency is 0
|
virtual |
Run-time type information (and related methods).
Reimplemented from itk::CompareHistogramImageToImageMetric< TFixedImage, TMovingImage >.
|
inlineoverridevirtual |
Return the number of parameters required by the Transform
Reimplemented from itk::CompareHistogramImageToImageMetric< TFixedImage, TMovingImage >.
Definition at line 125 of file itkKullbackLeiblerCompareHistogramImageToImageMetric.h.
References itk::Transform< TParametersValueType, NInputDimensions, NOutputDimensions >::GetNumberOfParameters(), and itk::ImageToImageMetric< TFixedImage, TMovingImage >::GetTransform().
|
overridevirtual |
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 |
Method for creation through the object factory.
|
private |
|
overrideprotectedvirtual |
Constructor is protected to ensure that New()
function is used to create instances.
Reimplemented from itk::CompareHistogramImageToImageMetric< TFixedImage, TMovingImage >.
|
virtual |
Set epsilon, which is added to each bin in both Histogram
|
protected |
Definition at line 148 of file itkKullbackLeiblerCompareHistogramImageToImageMetric.h.