ITK
5.2.0
Insight Toolkit
|
#include <itkKullbackLeiblerCompareHistogramImageToImageMetric.h>
Public Types | |
using | ConstPointer = SmartPointer< const Self > |
using | DerivativeType = typename Superclass::DerivativeType |
using | FixedImageConstPointer = typename Superclass::FixedImageConstPointer |
using | FixedImageType = typename Superclass::FixedImageType |
using | GradientPixelType = typename Superclass::GradientPixelType |
using | HistogramFrequencyType = typename Superclass::HistogramFrequencyType |
using | HistogramIteratorType = typename Superclass::HistogramIteratorType |
using | HistogramMeasurementVectorType = typename Superclass::MeasurementVectorType |
using | HistogramPointerType = typename Superclass::HistogramPointerType |
using | HistogramSizeType = typename Superclass::HistogramSizeType |
using | HistogramType = typename Superclass::HistogramType |
using | InterpolatorPointer = typename Superclass::InterpolatorPointer |
using | InterpolatorType = typename Superclass::InterpolatorType |
using | MeasureType = typename Superclass::MeasureType |
using | MovingImageConstPointer = typename Superclass::MovingImageConstPointer |
using | MovingImageType = typename Superclass::MovingImageType |
using | Pointer = SmartPointer< Self > |
using | RealType = typename Superclass::RealType |
using | Self = KullbackLeiblerCompareHistogramImageToImageMetric |
using | Superclass = CompareHistogramImageToImageMetric< TFixedImage, TMovingImage > |
using | TransformConstPointer = typename Superclass::ConstPointer |
using | TransformJacobianType = typename Superclass::TransformJacobianType |
using | TransformParametersType = typename Superclass::TransformParametersType |
using | TransformPointer = typename Superclass::TransformPointer |
using | TransformType = typename Superclass::TransformType |
Public Types inherited from itk::CompareHistogramImageToImageMetric< TFixedImage, TMovingImage > | |
using | ConstPointer = SmartPointer< const Self > |
using | DerivativeType = typename Superclass::DerivativeType |
using | FixedImageConstPointer = typename Superclass::FixedImageConstPointer |
using | FixedImageRegionType = typename Superclass::FixedImageRegionType |
using | FixedImageType = typename Superclass::FixedImageType |
using | GradientPixelType = typename Superclass::GradientPixelType |
using | HistogramAbsoluteFrequencyType = typename HistogramType::AbsoluteFrequencyType |
using | HistogramFrequencyType = HistogramAbsoluteFrequencyType |
using | HistogramIteratorType = typename HistogramType::Iterator |
using | HistogramMeasurementVectorType = typename HistogramType::MeasurementVectorType |
using | HistogramPointerType = typename HistogramType::Pointer |
using | HistogramSizeType = typename Superclass::HistogramSizeType |
using | HistogramType = typename Superclass::HistogramType |
using | InterpolatorPointer = typename Superclass::InterpolatorPointer |
using | InterpolatorType = typename Superclass::InterpolatorType |
using | MeasureType = typename Superclass::MeasureType |
using | MovingImageConstPointer = typename Superclass::MovingImageConstPointer |
using | MovingImageType = typename Superclass::MovingImageType |
using | Pointer = SmartPointer< Self > |
using | RealType = typename Superclass::RealType |
using | Self = CompareHistogramImageToImageMetric |
using | Superclass = HistogramImageToImageMetric< TFixedImage, TMovingImage > |
using | TransformConstPointer = typename TransformType::ConstPointer |
using | TransformJacobianType = typename Superclass::TransformJacobianType |
using | TransformParametersType = typename Superclass::TransformParametersType |
using | TransformPointer = typename Superclass::TransformPointer |
using | TransformType = typename Superclass::TransformType |
Public Types inherited from itk::HistogramImageToImageMetric< TFixedImage, TMovingImage > | |
using | ConstPointer = SmartPointer< const Self > |
using | DerivativeType = typename Superclass::DerivativeType |
using | FixedImageConstPointerType = typename Superclass::FixedImageConstPointer |
using | FixedImagePixelType = typename Superclass::FixedImageType::PixelType |
using | FixedImageType = typename Superclass::FixedImageType |
using | GradientPixelType = typename Superclass::GradientPixelType |
using | HistogramPointer = typename HistogramType::Pointer |
using | HistogramSizeType = typename HistogramType::SizeType |
using | HistogramType = Statistics::Histogram< double > |
using | InputPointType = typename Superclass::InputPointType |
using | MeasurementVectorType = typename HistogramType::MeasurementVectorType |
using | MeasureType = typename Superclass::MeasureType |
using | MovingImageConstPointerType = typename Superclass::MovingImageConstPointer |
using | MovingImagePixelType = typename Superclass::MovingImageType::PixelType |
using | MovingImageType = typename Superclass::MovingImageType |
using | OutputPointType = typename Superclass::OutputPointType |
using | Pointer = SmartPointer< Self > |
using | RealType = typename Superclass::RealType |
using | Self = HistogramImageToImageMetric |
using | Superclass = ImageToImageMetric< TFixedImage, TMovingImage > |
using | TransformJacobianType = typename Superclass::TransformJacobianType |
using | TransformParametersType = typename Superclass::TransformParametersType |
using | TransformPointer = typename Superclass::TransformPointer |
using | TransformType = typename Superclass::TransformType |
using | ScalesType = Array< double > |
Public Types inherited from itk::ImageToImageMetric< TFixedImage, TMovingImage > | |
using | ConstPointer = SmartPointer< const Self > |
using | CoordinateRepresentationType = typename Superclass::ParametersValueType |
using | DerivativeType = typename Superclass::DerivativeType |
using | FixedImageConstPointer = typename FixedImageType::ConstPointer |
using | FixedImageIndexContainer = std::vector< FixedImageIndexType > |
using | FixedImageIndexType = typename FixedImageType::IndexType |
using | FixedImageIndexValueType = typename FixedImageIndexType::IndexValueType |
using | FixedImageMaskConstPointer = typename FixedImageMaskType::ConstPointer |
using | FixedImageMaskPointer = typename FixedImageMaskType::Pointer |
using | FixedImageMaskType = SpatialObject< Self::FixedImageDimension > |
using | FixedImagePixelType = typename TFixedImage::PixelType |
using | FixedImagePointType = typename TransformType::InputPointType |
using | FixedImageRegionType = typename FixedImageType::RegionType |
using | FixedImageType = TFixedImage |
using | GradientImageFilterPointer = typename GradientImageFilterType::Pointer |
using | GradientImageFilterType = GradientRecursiveGaussianImageFilter< MovingImageType, GradientImageType > |
using | GradientImagePointer = SmartPointer< GradientImageType > |
using | GradientImageType = Image< GradientPixelType, Self::MovingImageDimension > |
using | GradientPixelType = CovariantVector< RealType, Self::MovingImageDimension > |
using | InputPointType = typename TransformType::InputPointType |
using | InterpolatorPointer = typename InterpolatorType::Pointer |
using | InterpolatorType = InterpolateImageFunction< MovingImageType, CoordinateRepresentationType > |
using | MeasureType = typename Superclass::MeasureType |
using | MovingImageConstPointer = typename MovingImageType::ConstPointer |
using | MovingImageIndexType = typename MovingImageType::IndexType |
using | MovingImageMaskConstPointer = typename MovingImageMaskType::ConstPointer |
using | MovingImageMaskPointer = typename MovingImageMaskType::Pointer |
using | MovingImageMaskType = SpatialObject< Self::MovingImageDimension > |
using | MovingImagePixelType = typename TMovingImage::PixelType |
using | MovingImagePointType = typename TransformType::OutputPointType |
using | MovingImageType = TMovingImage |
using | OutputPointType = typename TransformType::OutputPointType |
using | ParametersType = typename Superclass::ParametersType |
using | Pointer = SmartPointer< Self > |
using | RealType = typename NumericTraits< MovingImagePixelType >::RealType |
using | Self = ImageToImageMetric |
using | Superclass = SingleValuedCostFunction |
using | TransformJacobianType = typename TransformType::JacobianType |
using | TransformParametersType = typename TransformType::ParametersType |
using | TransformPointer = typename TransformType::Pointer |
using | TransformType = Transform< CoordinateRepresentationType, Self::MovingImageDimension, Self::FixedImageDimension > |
using | MultiThreaderType = MultiThreaderBase |
Public Types inherited from itk::SingleValuedCostFunction | |
using | ConstPointer = SmartPointer< const Self > |
using | DerivativeType = Array< ParametersValueType > |
using | MeasureType = double |
using | ParametersType = Superclass::ParametersType |
using | ParametersValueType = Superclass::ParametersValueType |
using | Pointer = SmartPointer< Self > |
using | Self = SingleValuedCostFunction |
using | Superclass = CostFunction |
Public Types inherited from itk::CostFunctionTemplate< TInternalComputationValueType > | |
using | ConstPointer = SmartPointer< const Self > |
using | ParametersType = OptimizerParameters< TInternalComputationValueType > |
using | ParametersValueType = TInternalComputationValueType |
using | Pointer = SmartPointer< Self > |
using | Self = CostFunctionTemplate |
using | Superclass = Object |
Public Types inherited from itk::Object | |
using | ConstPointer = SmartPointer< const Self > |
using | Pointer = SmartPointer< Self > |
using | Self = Object |
using | Superclass = LightObject |
Public Types inherited from itk::LightObject | |
using | ConstPointer = SmartPointer< const Self > |
using | Pointer = SmartPointer< Self > |
using | Self = LightObject |
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 val) |
Static Public Member Functions inherited from itk::LightObject | |
static void | BreakOnError () |
static Pointer | New () |
double | m_Epsilon |
KullbackLeiblerCompareHistogramImageToImageMetric () | |
~KullbackLeiblerCompareHistogramImageToImageMetric () override=default | |
void | PrintSelf (std::ostream &os, Indent indent) const override |
void | FormTrainingHistogram () |
MeasureType | EvaluateMeasure (HistogramType &histogram) const override |
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.
using itk::KullbackLeiblerCompareHistogramImageToImageMetric< TFixedImage, TMovingImage >::ConstPointer = SmartPointer<const Self> |
Definition at line 82 of file itkKullbackLeiblerCompareHistogramImageToImageMetric.h.
using itk::KullbackLeiblerCompareHistogramImageToImageMetric< TFixedImage, TMovingImage >::DerivativeType = typename Superclass::DerivativeType |
Definition at line 100 of file itkKullbackLeiblerCompareHistogramImageToImageMetric.h.
using itk::KullbackLeiblerCompareHistogramImageToImageMetric< TFixedImage, TMovingImage >::FixedImageConstPointer = typename Superclass::FixedImageConstPointer |
Definition at line 103 of file itkKullbackLeiblerCompareHistogramImageToImageMetric.h.
using itk::KullbackLeiblerCompareHistogramImageToImageMetric< TFixedImage, TMovingImage >::FixedImageType = typename Superclass::FixedImageType |
Definition at line 101 of file itkKullbackLeiblerCompareHistogramImageToImageMetric.h.
using itk::KullbackLeiblerCompareHistogramImageToImageMetric< TFixedImage, TMovingImage >::GradientPixelType = typename Superclass::GradientPixelType |
Definition at line 97 of file itkKullbackLeiblerCompareHistogramImageToImageMetric.h.
using itk::KullbackLeiblerCompareHistogramImageToImageMetric< TFixedImage, TMovingImage >::HistogramFrequencyType = typename Superclass::HistogramFrequencyType |
Definition at line 110 of file itkKullbackLeiblerCompareHistogramImageToImageMetric.h.
using itk::KullbackLeiblerCompareHistogramImageToImageMetric< TFixedImage, TMovingImage >::HistogramIteratorType = typename Superclass::HistogramIteratorType |
Definition at line 111 of file itkKullbackLeiblerCompareHistogramImageToImageMetric.h.
using itk::KullbackLeiblerCompareHistogramImageToImageMetric< TFixedImage, TMovingImage >::HistogramMeasurementVectorType = typename Superclass::MeasurementVectorType |
Definition at line 108 of file itkKullbackLeiblerCompareHistogramImageToImageMetric.h.
using itk::KullbackLeiblerCompareHistogramImageToImageMetric< TFixedImage, TMovingImage >::HistogramPointerType = typename Superclass::HistogramPointerType |
Definition at line 112 of file itkKullbackLeiblerCompareHistogramImageToImageMetric.h.
using itk::KullbackLeiblerCompareHistogramImageToImageMetric< TFixedImage, TMovingImage >::HistogramSizeType = typename Superclass::HistogramSizeType |
Definition at line 107 of file itkKullbackLeiblerCompareHistogramImageToImageMetric.h.
using itk::KullbackLeiblerCompareHistogramImageToImageMetric< TFixedImage, TMovingImage >::HistogramType = typename Superclass::HistogramType |
Definition at line 106 of file itkKullbackLeiblerCompareHistogramImageToImageMetric.h.
using itk::KullbackLeiblerCompareHistogramImageToImageMetric< TFixedImage, TMovingImage >::InterpolatorPointer = typename Superclass::InterpolatorPointer |
Definition at line 114 of file itkKullbackLeiblerCompareHistogramImageToImageMetric.h.
using itk::KullbackLeiblerCompareHistogramImageToImageMetric< TFixedImage, TMovingImage >::InterpolatorType = typename Superclass::InterpolatorType |
Definition at line 113 of file itkKullbackLeiblerCompareHistogramImageToImageMetric.h.
using itk::KullbackLeiblerCompareHistogramImageToImageMetric< TFixedImage, TMovingImage >::MeasureType = typename Superclass::MeasureType |
Definition at line 99 of file itkKullbackLeiblerCompareHistogramImageToImageMetric.h.
using itk::KullbackLeiblerCompareHistogramImageToImageMetric< TFixedImage, TMovingImage >::MovingImageConstPointer = typename Superclass::MovingImageConstPointer |
Definition at line 104 of file itkKullbackLeiblerCompareHistogramImageToImageMetric.h.
using itk::KullbackLeiblerCompareHistogramImageToImageMetric< TFixedImage, TMovingImage >::MovingImageType = typename Superclass::MovingImageType |
Definition at line 102 of file itkKullbackLeiblerCompareHistogramImageToImageMetric.h.
using itk::KullbackLeiblerCompareHistogramImageToImageMetric< TFixedImage, TMovingImage >::Pointer = SmartPointer<Self> |
Definition at line 81 of file itkKullbackLeiblerCompareHistogramImageToImageMetric.h.
using itk::KullbackLeiblerCompareHistogramImageToImageMetric< TFixedImage, TMovingImage >::RealType = typename Superclass::RealType |
Types transferred from the base class
Definition at line 91 of file itkKullbackLeiblerCompareHistogramImageToImageMetric.h.
using itk::KullbackLeiblerCompareHistogramImageToImageMetric< TFixedImage, TMovingImage >::Self = KullbackLeiblerCompareHistogramImageToImageMetric |
Standard class type aliases.
Definition at line 79 of file itkKullbackLeiblerCompareHistogramImageToImageMetric.h.
using itk::KullbackLeiblerCompareHistogramImageToImageMetric< TFixedImage, TMovingImage >::Superclass = CompareHistogramImageToImageMetric<TFixedImage, TMovingImage> |
Definition at line 80 of file itkKullbackLeiblerCompareHistogramImageToImageMetric.h.
using itk::KullbackLeiblerCompareHistogramImageToImageMetric< TFixedImage, TMovingImage >::TransformConstPointer = typename Superclass::ConstPointer |
Definition at line 94 of file itkKullbackLeiblerCompareHistogramImageToImageMetric.h.
using itk::KullbackLeiblerCompareHistogramImageToImageMetric< TFixedImage, TMovingImage >::TransformJacobianType = typename Superclass::TransformJacobianType |
Definition at line 96 of file itkKullbackLeiblerCompareHistogramImageToImageMetric.h.
using itk::KullbackLeiblerCompareHistogramImageToImageMetric< TFixedImage, TMovingImage >::TransformParametersType = typename Superclass::TransformParametersType |
Definition at line 95 of file itkKullbackLeiblerCompareHistogramImageToImageMetric.h.
using itk::KullbackLeiblerCompareHistogramImageToImageMetric< TFixedImage, TMovingImage >::TransformPointer = typename Superclass::TransformPointer |
Definition at line 93 of file itkKullbackLeiblerCompareHistogramImageToImageMetric.h.
using itk::KullbackLeiblerCompareHistogramImageToImageMetric< TFixedImage, TMovingImage >::TransformType = typename Superclass::TransformType |
Definition at line 92 of file itkKullbackLeiblerCompareHistogramImageToImageMetric.h.
|
protected |
Constructor is protected to ensure that New()
function is used to create instances.
|
overrideprotecteddefault |
Constructor is protected to ensure that New()
function is used to create instances.
|
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 124 of file itkKullbackLeiblerCompareHistogramImageToImageMetric.h.
|
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.
|
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 |
Constructor is protected to ensure that New()
function is used to create instances.
Definition at line 152 of file itkKullbackLeiblerCompareHistogramImageToImageMetric.h.