ITK  4.4.0
Insight Segmentation and Registration Toolkit
Public Types | Public Member Functions | Static Public Member Functions | Protected Member Functions | Protected Attributes | Private Member Functions | List of all members
itk::KullbackLeiblerCompareHistogramImageToImageMetric< TFixedImage, TMovingImage > Class Template Reference

#include <itkKullbackLeiblerCompareHistogramImageToImageMetric.h>

+ Inheritance diagram for itk::KullbackLeiblerCompareHistogramImageToImageMetric< TFixedImage, TMovingImage >:
+ Collaboration diagram for itk::KullbackLeiblerCompareHistogramImageToImageMetric< TFixedImage, TMovingImage >:

Detailed Description

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

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.

PARAMETERS
Epsilon is added to every bin in both histograms. This prevents division by zero problems. Epsilon should generally be set to a number smaller than one divided by the total number bins in the histogram. So, for a 256 by 256 histogram, Epsilon should be much less than 1e-5. Tests have shown that choices of epsilon are not very important as long as it is small enough. The default is 1e-12. I doubt you will need to change it.
Author
Samson Timoner
SUPPORT
This work was supported by the Functional Imaging Research in Schizophrenia Testbed (FIRST) Biomedical Informatics Research Network (BIRN, http://www.birncommunity.org/), which is funded by the National Center for Research Resources at the National Institutes of Health (NIH). This work is also funded by the Neuroimage Analysis Center (P41 RR13218).

Definition at line 72 of file itkKullbackLeiblerCompareHistogramImageToImageMetric.h.

Public Types

typedef SmartPointer< const SelfConstPointer
 
typedef Superclass::DerivativeType DerivativeType
 
typedef
Superclass::FixedImageConstPointer 
FixedImageConstPointer
 
typedef Superclass::FixedImageType FixedImageType
 
typedef
Superclass::GradientPixelType 
GradientPixelType
 
typedef
Superclass::HistogramFrequencyType 
HistogramFrequencyType
 
typedef
Superclass::HistogramIteratorType 
HistogramIteratorType
 
typedef
Superclass::MeasurementVectorType 
HistogramMeasurementVectorType
 
typedef
Superclass::HistogramPointerType 
HistogramPointerType
 
typedef
Superclass::HistogramSizeType 
HistogramSizeType
 
typedef Superclass::HistogramType HistogramType
 
typedef
Superclass::InterpolatorPointer 
InterpolatorPointer
 
typedef
Superclass::InterpolatorType 
InterpolatorType
 
typedef Superclass::MeasureType MeasureType
 
typedef
Superclass::MovingImageConstPointer 
MovingImageConstPointer
 
typedef Superclass::MovingImageType MovingImageType
 
typedef SmartPointer< SelfPointer
 
typedef Superclass::RealType RealType
 
typedef
KullbackLeiblerCompareHistogramImageToImageMetric 
Self
 
typedef
CompareHistogramImageToImageMetric
< TFixedImage, TMovingImage > 
Superclass
 
typedef Superclass::ConstPointer TransformConstPointer
 
typedef
Superclass::TransformJacobianType 
TransformJacobianType
 
typedef
Superclass::TransformParametersType 
TransformParametersType
 
typedef
Superclass::TransformPointer 
TransformPointer
 
typedef Superclass::TransformType TransformType
 
- Public Types inherited from itk::CompareHistogramImageToImageMetric< TFixedImage, TMovingImage >
typedef SmartPointer< const SelfConstPointer
 
typedef Superclass::DerivativeType DerivativeType
 
typedef
Superclass::FixedImageConstPointer 
FixedImageConstPointer
 
typedef
Superclass::FixedImageRegionType 
FixedImageRegionType
 
typedef Superclass::FixedImageType FixedImageType
 
typedef
Superclass::GradientPixelType 
GradientPixelType
 
typedef
HistogramType::AbsoluteFrequencyType 
HistogramAbsoluteFrequencyType
 
typedef
HistogramAbsoluteFrequencyType 
HistogramFrequencyType
 
typedef HistogramType::Iterator HistogramIteratorType
 
typedef
HistogramType::MeasurementVectorType 
HistogramMeasurementVectorType
 
typedef HistogramType::Pointer HistogramPointerType
 
typedef
Superclass::HistogramSizeType 
HistogramSizeType
 
typedef Superclass::HistogramType HistogramType
 
typedef
Superclass::InterpolatorPointer 
InterpolatorPointer
 
typedef
Superclass::InterpolatorType 
InterpolatorType
 
typedef Superclass::MeasureType MeasureType
 
typedef
Superclass::MovingImageConstPointer 
MovingImageConstPointer
 
typedef Superclass::MovingImageType MovingImageType
 
typedef SmartPointer< SelfPointer
 
typedef Superclass::RealType RealType
 
typedef
CompareHistogramImageToImageMetric 
Self
 
typedef
HistogramImageToImageMetric
< TFixedImage, TMovingImage > 
Superclass
 
typedef TransformType::ConstPointer TransformConstPointer
 
typedef
Superclass::TransformJacobianType 
TransformJacobianType
 
typedef
Superclass::TransformParametersType 
TransformParametersType
 
typedef
Superclass::TransformPointer 
TransformPointer
 
typedef Superclass::TransformType TransformType
 
- Public Types inherited from itk::HistogramImageToImageMetric< TFixedImage, TMovingImage >
typedef SmartPointer< const SelfConstPointer
 
typedef Superclass::DerivativeType DerivativeType
 
typedef
Superclass::FixedImageConstPointer 
FixedImageConstPointerType
 
typedef
Superclass::FixedImageType::PixelType 
FixedImagePixelType
 
typedef Superclass::FixedImageType FixedImageType
 
typedef
Superclass::GradientPixelType 
GradientPixelType
 
typedef HistogramType::Pointer HistogramPointer
 
typedef HistogramType::SizeType HistogramSizeType
 
typedef Statistics::Histogram
< double > 
HistogramType
 
typedef Superclass::InputPointType InputPointType
 
typedef
HistogramType::MeasurementVectorType 
MeasurementVectorType
 
typedef Superclass::MeasureType MeasureType
 
typedef
Superclass::MovingImageConstPointer 
MovingImageConstPointerType
 
typedef
Superclass::MovingImageType::PixelType 
MovingImagePixelType
 
typedef Superclass::MovingImageType MovingImageType
 
typedef Superclass::OutputPointType OutputPointType
 
typedef SmartPointer< SelfPointer
 
typedef Superclass::RealType RealType
 
typedef Array< double > ScalesType
 
typedef HistogramImageToImageMetric Self
 
typedef ImageToImageMetric
< TFixedImage, TMovingImage > 
Superclass
 
typedef
Superclass::TransformJacobianType 
TransformJacobianType
 
typedef
Superclass::TransformParametersType 
TransformParametersType
 
typedef
Superclass::TransformPointer 
TransformPointer
 
typedef Superclass::TransformType TransformType
 
- Public Types inherited from itk::ImageToImageMetric< TFixedImage, TMovingImage >
typedef SmartPointer< const SelfConstPointer
 
typedef
Superclass::ParametersValueType 
CoordinateRepresentationType
 
typedef Superclass::DerivativeType DerivativeType
 
typedef
FixedImageType::ConstPointer 
FixedImageConstPointer
 
typedef std::vector
< FixedImageIndexType
FixedImageIndexContainer
 
typedef FixedImageType::IndexType FixedImageIndexType
 
typedef
FixedImageIndexType::IndexValueType 
FixedImageIndexValueType
 
typedef
FixedImageMaskType::ConstPointer 
FixedImageMaskConstPointer
 
typedef FixedImageMaskType::Pointer FixedImageMaskPointer
 
typedef SpatialObject
< itkGetStaticConstMacro(FixedImageDimension) > 
FixedImageMaskType
 
typedef TFixedImage::PixelType FixedImagePixelType
 
typedef
TransformType::InputPointType 
FixedImagePointType
 
typedef FixedImageType::RegionType FixedImageRegionType
 
typedef TFixedImage FixedImageType
 
typedef
TransformType::InputPointType 
InputPointType
 
typedef InterpolatorType::Pointer InterpolatorPointer
 
typedef
InterpolateImageFunction
< MovingImageType,
CoordinateRepresentationType
InterpolatorType
 
typedef Superclass::MeasureType MeasureType
 
typedef
MovingImageType::ConstPointer 
MovingImageConstPointer
 
typedef MovingImageType::IndexType MovingImageIndexType
 
typedef
MovingImageMaskType::ConstPointer 
MovingImageMaskConstPointer
 
typedef
MovingImageMaskType::Pointer 
MovingImageMaskPointer
 
typedef SpatialObject
< itkGetStaticConstMacro(MovingImageDimension) > 
MovingImageMaskType
 
typedef TMovingImage::PixelType MovingImagePixelType
 
typedef
TransformType::OutputPointType 
MovingImagePointType
 
typedef TMovingImage MovingImageType
 
typedef MultiThreader MultiThreaderType
 
typedef
TransformType::OutputPointType 
OutputPointType
 
typedef Superclass::ParametersType ParametersType
 
typedef SmartPointer< SelfPointer
 
typedef ImageToImageMetric Self
 
typedef SingleValuedCostFunction Superclass
 
typedef TransformType::JacobianType TransformJacobianType
 
typedef
TransformType::ParametersType 
TransformParametersType
 
typedef TransformType::Pointer TransformPointer
 
typedef Transform
< CoordinateRepresentationType,
itkGetStaticConstMacro(MovingImageDimension),
itkGetStaticConstMacro(FixedImageDimension) > 
TransformType
 
typedef NumericTraits
< MovingImagePixelType >
::RealType 
RealType
 
typedef CovariantVector
< RealType,
itkGetStaticConstMacro(MovingImageDimension) > 
GradientPixelType
 
typedef Image
< GradientPixelType,
itkGetStaticConstMacro(MovingImageDimension) > 
GradientImageType
 
typedef SmartPointer
< GradientImageType
GradientImagePointer
 
typedef
GradientRecursiveGaussianImageFilter
< MovingImageType,
GradientImageType
GradientImageFilterType
 
typedef
GradientImageFilterType::Pointer 
GradientImageFilterPointer
 
- Public Types inherited from itk::SingleValuedCostFunction
typedef SmartPointer< const SelfConstPointer
 
typedef Array
< ParametersValueType
DerivativeType
 
typedef double MeasureType
 
typedef Superclass::ParametersType ParametersType
 
typedef
Superclass::ParametersValueType 
ParametersValueType
 
typedef SmartPointer< SelfPointer
 
typedef SingleValuedCostFunction Self
 
typedef CostFunction Superclass
 
- Public Types inherited from itk::CostFunction
typedef SmartPointer< const SelfConstPointer
 
typedef OptimizerParameters
< ParametersValueType
ParametersType
 
typedef double ParametersValueType
 
typedef SmartPointer< SelfPointer
 
typedef CostFunction Self
 
typedef Object Superclass
 
- Public Types inherited from itk::Object
typedef SmartPointer< const SelfConstPointer
 
typedef SmartPointer< SelfPointer
 
typedef Object Self
 
typedef LightObject Superclass
 
- Public Types inherited from itk::LightObject
typedef SmartPointer< const SelfConstPointer
 
typedef SmartPointer< SelfPointer
 
typedef LightObject Self
 

Public Member Functions

virtual ::itk::LightObject::Pointer CreateAnother (void) const
 
virtual const double & GetEpsilon ()
 
virtual const char * GetNameOfClass () const
 
unsigned int GetNumberOfParameters (void) const
 
void Initialize () throw ( ExceptionObject )
 
virtual void SetEpsilon (double _arg)
 
- Public Member Functions inherited from itk::CompareHistogramImageToImageMetric< TFixedImage, TMovingImage >
virtual void SetTrainingFixedImage (const FixedImageType *_arg)
 
virtual void SetTrainingHistogram (HistogramPointerType _arg)
 
virtual const
HistogramPointerType
GetTrainingHistogram ()
 
virtual void SetTrainingMovingImage (const MovingImageType *_arg)
 
virtual const MovingImageTypeGetTrainingMovingImage () const
 
virtual void SetTrainingTransform (TransformType *_arg)
 
virtual TransformTypeGetModifiableTrainingTransform ()
 
virtual const TransformTypeGetTrainingTransform () const
 
virtual void SetTrainingInterpolator (InterpolatorType *_arg)
 
virtual InterpolatorTypeGetModifiableTrainingInterpolator ()
 
virtual const InterpolatorTypeGetTrainingInterpolator () const
 
virtual void SetTrainingFixedImageRegion (FixedImageRegionType _arg)
 
virtual const
FixedImageRegionType
GetTrainingFixedImageRegion ()
 
- Public Member Functions inherited from itk::HistogramImageToImageMetric< TFixedImage, TMovingImage >
void GetDerivative (const TransformParametersType &parameters, DerivativeType &derivative) const
 
virtual double GetDerivativeStepLength () const
 
virtual const ScalesTypeGetDerivativeStepLengthScales ()
 
virtual const HistogramPointerGetHistogram ()
 
virtual const HistogramSizeTypeGetHistogramSize ()
 
const MeasurementVectorTypeGetLowerBound () const
 
virtual const FixedImagePixelTypeGetPaddingValue ()
 
const MeasurementVectorTypeGetUpperBound () const
 
MeasureType GetValue (const TransformParametersType &parameters) const
 
void GetValueAndDerivative (const TransformParametersType &parameters, MeasureType &Value, DerivativeType &Derivative) const
 
virtual void SetDerivativeStepLength (double _arg)
 
virtual void SetDerivativeStepLengthScales (ScalesType _arg)
 
virtual void SetHistogramSize (HistogramSizeType _arg)
 
void SetLowerBound (const MeasurementVectorType &bound)
 
virtual void SetPaddingValue (FixedImagePixelType _arg)
 
void SetTransform (TransformType *transform)
 
void SetUpperBound (const MeasurementVectorType &bound)
 
virtual void SetUpperBoundIncreaseFactor (double _arg)
 
virtual double GetUpperBoundIncreaseFactor () const
 
virtual void SetUsePaddingValue (bool _arg)
 
virtual bool GetUsePaddingValue () const
 
- Public Member Functions inherited from itk::ImageToImageMetric< TFixedImage, TMovingImage >
virtual void ComputeGradient (void)
 
virtual const
FixedImageRegionType
GetFixedImageRegion ()
 
virtual const FixedImagePixelTypeGetFixedImageSamplesIntensityThreshold ()
 
virtual const GradientImageTypeGetGradientImage () const
 
virtual const InterpolatorTypeGetInterpolator () const
 
virtual GradientImageTypeGetModifiableGradientImage ()
 
virtual InterpolatorTypeGetModifiableInterpolator ()
 
virtual TransformTypeGetModifiableTransform ()
 
SizeValueType GetNumberOfMovingImageSamples (void)
 
virtual const SizeValueTypeGetNumberOfPixelsCounted ()
 
SizeValueType GetNumberOfSpatialSamples (void)
 
virtual const TransformTypeGetTransform () const
 
virtual const bool & GetUseAllPixels ()
 
virtual const bool & GetUseFixedImageIndexes ()
 
virtual const bool & GetUseFixedImageSamplesIntensityThreshold ()
 
virtual const bool & GetUseSequentialSampling ()
 
virtual void MultiThreadingInitialize (void) throw ( ExceptionObject )
 
void SetFixedImageIndexes (const FixedImageIndexContainer &indexes)
 
void SetFixedImageRegion (const FixedImageRegionType reg)
 
void SetFixedImageSamplesIntensityThreshold (const FixedImagePixelType &thresh)
 
virtual void SetInterpolator (InterpolatorType *_arg)
 
void SetNumberOfSpatialSamples (SizeValueType num)
 
virtual void SetTransform (TransformType *_arg)
 
void SetTransformParameters (const ParametersType &parameters) const
 
void SetUseAllPixels (bool useAllPixels)
 
void SetUseFixedImageIndexes (bool useIndex)
 
void SetUseFixedImageSamplesIntensityThreshold (bool useThresh)
 
void SetUseSequentialSampling (bool sequentialSampling)
 
void UseAllPixelsOff (void)
 
void UseAllPixelsOn (void)
 
virtual void SetFixedImage (const FixedImageType *_arg)
 
virtual const FixedImageTypeGetFixedImage () const
 
virtual void SetMovingImage (const MovingImageType *_arg)
 
virtual const MovingImageTypeGetMovingImage () const
 
virtual void SetMovingImageMask (MovingImageMaskType *_arg)
 
virtual void SetMovingImageMask (const MovingImageMaskType *_arg)
 
virtual const MovingImageMaskTypeGetMovingImageMask () const
 
virtual void SetFixedImageMask (FixedImageMaskType *_arg)
 
virtual void SetFixedImageMask (const FixedImageMaskType *_arg)
 
virtual const FixedImageMaskTypeGetFixedImageMask () const
 
void SetNumberOfThreads (ThreadIdType numberOfThreads)
 
virtual const ThreadIdTypeGetNumberOfThreads ()
 
virtual void SetComputeGradient (bool _arg)
 
virtual const bool & GetComputeGradient ()
 
virtual void ComputeGradientOn ()
 
virtual void ComputeGradientOff ()
 
virtual void SetNumberOfFixedImageSamples (SizeValueType numSamples)
 
virtual const SizeValueTypeGetNumberOfFixedImageSamples ()
 
void ReinitializeSeed ()
 
void ReinitializeSeed (int seed)
 
virtual void SetUseCachingOfBSplineWeights (bool _arg)
 
virtual const bool & GetUseCachingOfBSplineWeights ()
 
virtual void UseCachingOfBSplineWeightsOn ()
 
virtual void UseCachingOfBSplineWeightsOff ()
 
virtual MultiThreaderTypeGetModifiableThreader ()
 
virtual const MultiThreaderTypeGetThreader () const
 
const TransformPointerGetThreaderTransform ()
 
- Public Member Functions inherited from itk::SingleValuedCostFunction
virtual void GetDerivative (const ParametersType &parameters, DerivativeType &derivative) const =0
 
virtual MeasureType GetValue (const ParametersType &parameters) const =0
 
virtual void GetValueAndDerivative (const ParametersType &parameters, MeasureType &value, DerivativeType &derivative) const
 

Static Public Member Functions

static Pointer New ()
 

Protected Member Functions

virtual MeasureType EvaluateMeasure (HistogramType &histogram) const
 
void FormTrainingHistogram () throw ( ExceptionObject )
 
 KullbackLeiblerCompareHistogramImageToImageMetric ()
 
virtual ~KullbackLeiblerCompareHistogramImageToImageMetric ()
 
void PrintSelf (std::ostream &os, Indent indent) const
 
- Protected Member Functions inherited from itk::CompareHistogramImageToImageMetric< TFixedImage, TMovingImage >
void FormTrainingHistogram () throw ( ExceptionObject )
 
 CompareHistogramImageToImageMetric ()
 
virtual ~CompareHistogramImageToImageMetric ()
 
- Protected Member Functions inherited from itk::HistogramImageToImageMetric< TFixedImage, TMovingImage >
void ComputeHistogram (const TransformParametersType &parameters, HistogramType &histogram) const
 
void ComputeHistogram (const TransformParametersType &parameters, unsigned int parameter, double step, HistogramType &histogram) const
 
void CopyHistogram (HistogramType &target, HistogramType &source) const
 
virtual MeasureType EvaluateMeasure (HistogramType &histogram) const =0
 
 HistogramImageToImageMetric ()
 
virtual ~HistogramImageToImageMetric ()
 
- Protected Member Functions inherited from itk::ImageToImageMetric< TFixedImage, TMovingImage >
virtual void ComputeImageDerivatives (const MovingImagePointType &mappedPoint, ImageDerivativesType &gradient, ThreadIdType threadID) const
 
void GetValueAndDerivativeMultiThreadedInitiate (void) const
 
void GetValueAndDerivativeMultiThreadedPostProcessInitiate (void) const
 
void GetValueAndDerivativeMultiThreadedPreProcessInitiate (void) const
 
virtual void GetValueAndDerivativeThread (ThreadIdType threadID) const
 
virtual void GetValueAndDerivativeThreadPostProcess (ThreadIdType, bool) const
 
virtual void GetValueAndDerivativeThreadPreProcess (ThreadIdType, bool) const
 
virtual bool GetValueAndDerivativeThreadProcessSample (ThreadIdType, SizeValueType, const MovingImagePointType &, double, const ImageDerivativesType &) const
 
void GetValueMultiThreadedInitiate (void) const
 
void GetValueMultiThreadedPostProcessInitiate (void) const
 
void GetValueMultiThreadedPreProcessInitiate (void) const
 
virtual void GetValueThread (ThreadIdType threadID) const
 
virtual void GetValueThreadPostProcess (ThreadIdType, bool) const
 
virtual void GetValueThreadPreProcess (ThreadIdType, bool) const
 
virtual bool GetValueThreadProcessSample (ThreadIdType, SizeValueType, const MovingImagePointType &, double) const
 
 ImageToImageMetric ()
 
virtual void PreComputeTransformValues (void)
 
virtual void SampleFixedImageIndexes (FixedImageSampleContainer &samples) const
 
virtual void SampleFixedImageRegion (FixedImageSampleContainer &samples) const
 
virtual void SampleFullFixedImageRegion (FixedImageSampleContainer &samples) const
 
virtual void SynchronizeTransforms () const
 
virtual void TransformPoint (unsigned int sampleNumber, MovingImagePointType &mappedPoint, bool &sampleWithinSupportRegion, double &movingImageValue, ThreadIdType threadID) const
 
virtual void TransformPointWithDerivatives (unsigned int sampleNumber, MovingImagePointType &mappedPoint, bool &sampleWithinSupportRegion, double &movingImageValue, ImageDerivativesType &gradient, ThreadIdType threadID) const
 
virtual ~ImageToImageMetric ()
 
- Protected Member Functions inherited from itk::SingleValuedCostFunction
 SingleValuedCostFunction ()
 
virtual ~SingleValuedCostFunction ()
 
- Protected Member Functions inherited from itk::CostFunction
 CostFunction ()
 
virtual ~CostFunction ()
 
- Protected Member Functions inherited from itk::Object
 Object ()
 
bool PrintObservers (std::ostream &os, Indent indent) const
 
virtual void SetTimeStamp (const TimeStamp &time)
 
virtual ~Object ()
 
- Protected Member Functions inherited from itk::LightObject
virtual LightObject::Pointer InternalClone () const
 
 LightObject ()
 
virtual void PrintHeader (std::ostream &os, Indent indent) const
 
virtual void PrintTrailer (std::ostream &os, Indent indent) const
 
virtual ~LightObject ()
 

Protected Attributes

double m_Epsilon
 

Private Member Functions

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

Additional Inherited Members

- Static Public Attributes inherited from itk::ImageToImageMetric< TFixedImage, TMovingImage >
static const unsigned int MovingImageDimension = TMovingImage::ImageDimension
 
static const unsigned int FixedImageDimension = TFixedImage::ImageDimension
 
- Protected Types inherited from itk::ImageToImageMetric< TFixedImage, TMovingImage >
typedef std::vector< bool > BooleanArrayType
 
typedef
BSplineInterpolateImageFunction
< MovingImageType,
CoordinateRepresentationType
BSplineInterpolatorType
 
typedef FixedArray
< SizeValueType,
FixedImageType::ImageDimension > 
BSplineParametersOffsetType
 
typedef
BSplineTransformType::ParameterIndexArrayType 
BSplineTransformIndexArrayType
 
typedef Array2D< IndexValueTypeBSplineTransformIndicesArrayType
 
typedef BSplineBaseTransform
< CoordinateRepresentationType,
FixedImageType::ImageDimension,
itkGetStaticConstMacro(DeformationSplineOrder) > 
BSplineTransformType
 
typedef Array2D< WeightsValueTypeBSplineTransformWeightsArrayType
 
typedef
BSplineTransformType::WeightsType 
BSplineTransformWeightsType
 
typedef
CentralDifferenceImageFunction
< MovingImageType,
CoordinateRepresentationType
DerivativeFunctionType
 
typedef std::vector
< FixedImageSamplePoint
FixedImageSampleContainer
 
typedef CovariantVector
< double,
itkGetStaticConstMacro(MovingImageDimension) > 
ImageDerivativesType
 
typedef
BSplineTransformIndexArrayType::ValueType 
IndexValueType
 
typedef std::vector
< MovingImagePointType
MovingImagePointArrayType
 
typedef
BSplineTransformWeightsType::ValueType 
WeightsValueType
 
- Static Protected Member Functions inherited from itk::ImageToImageMetric< TFixedImage, TMovingImage >
static ITK_THREAD_RETURN_TYPE GetValueAndDerivativeMultiThreaded (void *arg)
 
static ITK_THREAD_RETURN_TYPE GetValueAndDerivativeMultiThreadedPostProcess (void *arg)
 
static ITK_THREAD_RETURN_TYPE GetValueAndDerivativeMultiThreadedPreProcess (void *arg)
 
static ITK_THREAD_RETURN_TYPE GetValueMultiThreaded (void *arg)
 
static ITK_THREAD_RETURN_TYPE GetValueMultiThreadedPostProcess (void *arg)
 
static ITK_THREAD_RETURN_TYPE GetValueMultiThreadedPreProcess (void *arg)
 
- Static Protected Attributes inherited from itk::ImageToImageMetric< TFixedImage, TMovingImage >
static const unsigned int DeformationSplineOrder = 3
 

Member Typedef Documentation

template<class TFixedImage , class TMovingImage >
typedef SmartPointer< const Self > itk::KullbackLeiblerCompareHistogramImageToImageMetric< TFixedImage, TMovingImage >::ConstPointer
template<class TFixedImage , class TMovingImage >
typedef Superclass::DerivativeType itk::KullbackLeiblerCompareHistogramImageToImageMetric< TFixedImage, TMovingImage >::DerivativeType
template<class TFixedImage , class TMovingImage >
typedef Superclass::FixedImageConstPointer itk::KullbackLeiblerCompareHistogramImageToImageMetric< TFixedImage, TMovingImage >::FixedImageConstPointer
template<class TFixedImage , class TMovingImage >
typedef Superclass::FixedImageType itk::KullbackLeiblerCompareHistogramImageToImageMetric< TFixedImage, TMovingImage >::FixedImageType
template<class TFixedImage , class TMovingImage >
typedef Superclass::GradientPixelType itk::KullbackLeiblerCompareHistogramImageToImageMetric< TFixedImage, TMovingImage >::GradientPixelType
template<class TFixedImage , class TMovingImage >
typedef Superclass::HistogramFrequencyType itk::KullbackLeiblerCompareHistogramImageToImageMetric< TFixedImage, TMovingImage >::HistogramFrequencyType
template<class TFixedImage , class TMovingImage >
typedef Superclass::HistogramIteratorType itk::KullbackLeiblerCompareHistogramImageToImageMetric< TFixedImage, TMovingImage >::HistogramIteratorType
template<class TFixedImage , class TMovingImage >
typedef Superclass::MeasurementVectorType itk::KullbackLeiblerCompareHistogramImageToImageMetric< TFixedImage, TMovingImage >::HistogramMeasurementVectorType
template<class TFixedImage , class TMovingImage >
typedef Superclass::HistogramPointerType itk::KullbackLeiblerCompareHistogramImageToImageMetric< TFixedImage, TMovingImage >::HistogramPointerType
template<class TFixedImage , class TMovingImage >
typedef Superclass::HistogramSizeType itk::KullbackLeiblerCompareHistogramImageToImageMetric< TFixedImage, TMovingImage >::HistogramSizeType
template<class TFixedImage , class TMovingImage >
typedef Superclass::HistogramType itk::KullbackLeiblerCompareHistogramImageToImageMetric< TFixedImage, TMovingImage >::HistogramType
template<class TFixedImage , class TMovingImage >
typedef Superclass::InterpolatorPointer itk::KullbackLeiblerCompareHistogramImageToImageMetric< TFixedImage, TMovingImage >::InterpolatorPointer
template<class TFixedImage , class TMovingImage >
typedef Superclass::InterpolatorType itk::KullbackLeiblerCompareHistogramImageToImageMetric< TFixedImage, TMovingImage >::InterpolatorType
template<class TFixedImage , class TMovingImage >
typedef Superclass::MeasureType itk::KullbackLeiblerCompareHistogramImageToImageMetric< TFixedImage, TMovingImage >::MeasureType
template<class TFixedImage , class TMovingImage >
typedef Superclass::MovingImageConstPointer itk::KullbackLeiblerCompareHistogramImageToImageMetric< TFixedImage, TMovingImage >::MovingImageConstPointer
template<class TFixedImage , class TMovingImage >
typedef Superclass::MovingImageType itk::KullbackLeiblerCompareHistogramImageToImageMetric< TFixedImage, TMovingImage >::MovingImageType
template<class TFixedImage , class TMovingImage >
typedef SmartPointer< Self > itk::KullbackLeiblerCompareHistogramImageToImageMetric< TFixedImage, TMovingImage >::Pointer
template<class TFixedImage , class TMovingImage >
typedef Superclass::RealType itk::KullbackLeiblerCompareHistogramImageToImageMetric< TFixedImage, TMovingImage >::RealType

Types transferred from the base class

Definition at line 88 of file itkKullbackLeiblerCompareHistogramImageToImageMetric.h.

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

Standard class typedefs.

Definition at line 77 of file itkKullbackLeiblerCompareHistogramImageToImageMetric.h.

template<class TFixedImage , class TMovingImage >
typedef CompareHistogramImageToImageMetric< TFixedImage, TMovingImage > itk::KullbackLeiblerCompareHistogramImageToImageMetric< TFixedImage, TMovingImage >::Superclass
template<class TFixedImage , class TMovingImage >
typedef Superclass::ConstPointer itk::KullbackLeiblerCompareHistogramImageToImageMetric< TFixedImage, TMovingImage >::TransformConstPointer
template<class TFixedImage , class TMovingImage >
typedef Superclass::TransformJacobianType itk::KullbackLeiblerCompareHistogramImageToImageMetric< TFixedImage, TMovingImage >::TransformJacobianType
template<class TFixedImage , class TMovingImage >
typedef Superclass::TransformParametersType itk::KullbackLeiblerCompareHistogramImageToImageMetric< TFixedImage, TMovingImage >::TransformParametersType
template<class TFixedImage , class TMovingImage >
typedef Superclass::TransformPointer itk::KullbackLeiblerCompareHistogramImageToImageMetric< TFixedImage, TMovingImage >::TransformPointer
template<class TFixedImage , class TMovingImage >
typedef Superclass::TransformType itk::KullbackLeiblerCompareHistogramImageToImageMetric< TFixedImage, TMovingImage >::TransformType

Constructor & Destructor Documentation

template<class TFixedImage , class TMovingImage >
itk::KullbackLeiblerCompareHistogramImageToImageMetric< TFixedImage, TMovingImage >::KullbackLeiblerCompareHistogramImageToImageMetric ( )
protected

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

template<class TFixedImage , class TMovingImage >
virtual itk::KullbackLeiblerCompareHistogramImageToImageMetric< TFixedImage, TMovingImage >::~KullbackLeiblerCompareHistogramImageToImageMetric ( )
inlineprotectedvirtual

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

Definition at line 138 of file itkKullbackLeiblerCompareHistogramImageToImageMetric.h.

template<class TFixedImage , class TMovingImage >
itk::KullbackLeiblerCompareHistogramImageToImageMetric< TFixedImage, TMovingImage >::KullbackLeiblerCompareHistogramImageToImageMetric ( Self const &  )
private

Member Function Documentation

template<class TFixedImage , class TMovingImage >
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.

template<class TFixedImage , class TMovingImage >
virtual MeasureType itk::KullbackLeiblerCompareHistogramImageToImageMetric< TFixedImage, TMovingImage >::EvaluateMeasure ( HistogramType histogram) const
protectedvirtual

Evaluates the mutual information from the histogram.

Implements itk::CompareHistogramImageToImageMetric< TFixedImage, TMovingImage >.

template<class TFixedImage , class TMovingImage >
void itk::KullbackLeiblerCompareHistogramImageToImageMetric< TFixedImage, TMovingImage >::FormTrainingHistogram ( ) throw ( ExceptionObject )
protected

Form the Histogram for the Training data

template<class TFixedImage , class TMovingImage >
virtual const double& itk::KullbackLeiblerCompareHistogramImageToImageMetric< TFixedImage, TMovingImage >::GetEpsilon ( )
virtual

Get epsilon, the histogram frequency to use if the frequency is 0

template<class TFixedImage , class TMovingImage >
virtual const char* itk::KullbackLeiblerCompareHistogramImageToImageMetric< TFixedImage, TMovingImage >::GetNameOfClass ( ) const
virtual

Run-time type information (and related methods).

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

template<class TFixedImage , class TMovingImage >
unsigned int itk::KullbackLeiblerCompareHistogramImageToImageMetric< TFixedImage, TMovingImage >::GetNumberOfParameters ( void  ) const
inlinevirtual

Return the number of parameters required by the Transform

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

Definition at line 125 of file itkKullbackLeiblerCompareHistogramImageToImageMetric.h.

template<class TFixedImage , class TMovingImage >
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 >.

template<class TFixedImage , class TMovingImage >
static Pointer itk::KullbackLeiblerCompareHistogramImageToImageMetric< TFixedImage, TMovingImage >::New ( )
static

Method for creation through the object factory.

template<class TFixedImage , class TMovingImage >
void itk::KullbackLeiblerCompareHistogramImageToImageMetric< TFixedImage, TMovingImage >::operator= ( Self const &  )
private
template<class TFixedImage , class TMovingImage >
void itk::KullbackLeiblerCompareHistogramImageToImageMetric< TFixedImage, TMovingImage >::PrintSelf ( std::ostream &  os,
Indent  indent 
) const
protectedvirtual

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

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

template<class TFixedImage , class TMovingImage >
virtual void itk::KullbackLeiblerCompareHistogramImageToImageMetric< TFixedImage, TMovingImage >::SetEpsilon ( double  _arg)
virtual

Set epsilon, which is added to each bin in both Histogram

Member Data Documentation

template<class TFixedImage , class TMovingImage >
double itk::KullbackLeiblerCompareHistogramImageToImageMetric< TFixedImage, TMovingImage >::m_Epsilon
protected

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