ITK  4.10.0
Insight Segmentation and Registration Toolkit
Classes | Public Types | Public Member Functions | Static Public Member Functions | Static Public Attributes | Protected Types | Protected Member Functions | Protected Attributes | Private Member Functions | Friends | List of all members
itk::MattesMutualInformationImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits > Class Template Reference

#include <itkMattesMutualInformationImageToImageMetricv4.h>

+ Inheritance diagram for itk::MattesMutualInformationImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits >:
+ Collaboration diagram for itk::MattesMutualInformationImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits >:

Detailed Description

template<typename TFixedImage, typename TMovingImage, typename TVirtualImage = TFixedImage, typename TInternalComputationValueType = double, typename TMetricTraits = DefaultImageToImageMetricTraitsv4<TFixedImage,TMovingImage,TVirtualImage,TInternalComputationValueType>>
class itk::MattesMutualInformationImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits >

Computes the mutual information between two images to be registered using the method of Mattes et al.

MattesMutualInformationImageToImageMetric computes the mutual information between a fixed and moving image to be registered.

This class is templated over the FixedImage type and the MovingImage type.

The calculations are based on the method of Mattes et al [1,2] where the probability density distribution are estimated using Parzen histograms. Since the fixed image PDF does not contribute to the derivatives, it does not need to be smooth. Hence, a zero order (box car) BSpline kernel is used for the fixed image intensity PDF. On the other hand, to ensure smoothness a third order BSpline kernel is used for the moving image intensity PDF.

During each call of GetValue(), GetDerivatives(), GetValueAndDerivatives(), marginal and joint intensity PDF's values are estimated at discrete position or bins. The number of bins used can be set via SetNumberOfHistogramBins(). To handle data with arbitray magnitude and dynamic range, the image intensity is scale such that any contribution to the histogram will fall into a valid bin.

One the PDF's have been contructed, the mutual information is obtained by doubling summing over the discrete PDF values.

Warning
Local-support transforms are not yet supported. If used, an exception is thrown during Initialize().
Note
The per-iteration post-processing code is not multi-threaded, but could be readily be made so for a small performance gain. See GetValueCommonAfterThreadedExecution(), GetValueAndDerivative() and threader::AfterThreadedExecution().

The algorithm and much of the code was copied from the previous Mattes MI metric, i.e. itkMattesMutualInformationImageToImageMetric.

See MattesMutualInformationImageToImageMetricv4GetValueAndDerivativeThreader::ProcessPoint for poritons of the algorithm implementation.

See ImageToImageMetricv4 for details of common metric operation and options.

References: [1] "Nonrigid multimodality image registration" D. Mattes, D. R. Haynor, H. Vesselle, T. Lewellen and W. Eubank Medical Imaging 2001: Image Processing, 2001, pp. 1609-1620. [2] "PET-CT Image Registration in the Chest Using Free-form Deformations" D. Mattes, D. R. Haynor, H. Vesselle, T. Lewellen and W. Eubank IEEE Transactions in Medical Imaging. Vol.22, No.1, January 2003. pp.120-128. [3] "Optimization of Mutual Information for MultiResolution Image Registration" P. Thevenaz and M. Unser IEEE Transactions in Image Processing, 9(12) December 2000.

See also
itkImageToImageMetricv4
Examples:
Examples/RegistrationITKv4/DeformableRegistration12.cxx, Examples/RegistrationITKv4/DeformableRegistration8.cxx, Examples/RegistrationITKv4/ImageRegistration11.cxx, Examples/RegistrationITKv4/ImageRegistration13.cxx, Examples/RegistrationITKv4/ImageRegistration4.cxx, Examples/RegistrationITKv4/MultiResImageRegistration1.cxx, Examples/RegistrationITKv4/MultiStageImageRegistration1.cxx, and Examples/RegistrationITKv4/MultiStageImageRegistration2.cxx.

Definition at line 101 of file itkMattesMutualInformationImageToImageMetricv4.h.

Classes

class  DerivativeBufferManager
 

Public Types

typedef SmartPointer< const SelfConstPointer
 
typedef Superclass::DerivativeType DerivativeType
 
typedef DerivativeType::ValueType DerivativeValueType
 
typedef Superclass::FixedImageGradientType FixedImageGradientType
 
typedef Superclass::FixedImageIndexType FixedImageIndexType
 
typedef Superclass::FixedImagePixelType FixedImagePixelType
 
typedef Superclass::FixedImagePointType FixedImagePointType
 
typedef Superclass::FixedImageType FixedImageType
 
typedef Superclass::FixedSampledPointSetPointer FixedSampledPointSetPointer
 
typedef Superclass::JacobianType JacobianType
 
typedef Image< PDFValueType, 3 > JointPDFDerivativesType
 
typedef Image< PDFValueType, 2 > JointPDFType
 
typedef Superclass::MeasureType MeasureType
 
typedef Superclass::MovingImageGradientType MovingImageGradientType
 
typedef Superclass::MovingImagePixelType MovingImagePixelType
 
typedef Superclass::MovingImagePointType MovingImagePointType
 
typedef Superclass::MovingTransformType MovingTransformType
 
typedef TInternalComputationValueType PDFValueType
 
typedef SmartPointer< SelfPointer
 
typedef MattesMutualInformationImageToImageMetricv4 Self
 
typedef ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits > Superclass
 
typedef Superclass::VirtualImageType VirtualImageType
 
typedef Superclass::VirtualIndexType VirtualIndexType
 
typedef Superclass::VirtualPointSetType VirtualPointSetType
 
typedef Superclass::VirtualPointType VirtualPointType
 
- Public Types inherited from itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits >
typedef SmartPointer< const SelfConstPointer
 
typedef Superclass::CoordinateRepresentationType CoordinateRepresentationType
 
typedef MetricTraits::DefaultFixedImageGradientCalculator DefaultFixedImageGradientCalculator
 
typedef MetricTraits::DefaultFixedImageGradientFilter DefaultFixedImageGradientFilter
 
typedef MetricTraits::DefaultMovingImageGradientCalculator DefaultMovingImageGradientCalculator
 
typedef MetricTraits::DefaultMovingImageGradientFilter DefaultMovingImageGradientFilter
 
typedef Superclass::DerivativeType DerivativeType
 
typedef DerivativeType::ValueType DerivativeValueType
 
typedef Superclass::DimensionType DimensionType
 
typedef MetricTraits::FixedGradientPixelType FixedGradientPixelType
 
typedef CovariantVector< typename FixedImageGradientType::ValueType, FixedImageDimensionFixedImageComponentGradientType
 
typedef FixedImageType::ConstPointer FixedImageConstPointer
 
typedef FixedImageGradientCalculatorType::Pointer FixedImageGradientCalculatorPointer
 
typedef MetricTraits::FixedImageGradientCalculatorType FixedImageGradientCalculatorType
 
typedef FixedImageGradientFilterType::Pointer FixedImageGradientFilterPointer
 
typedef MetricTraits::FixedImageGradientFilterType FixedImageGradientFilterType
 
typedef FixedImageGradientImageType::Pointer FixedImageGradientImagePointer
 
typedef MetricTraits::FixedImageGradientImageType FixedImageGradientImageType
 
typedef MetricTraits::FixedImageGradientType FixedImageGradientType
 
typedef FixedImageType::IndexType FixedImageIndexType
 
typedef FixedImageMaskType::ConstPointer FixedImageMaskConstPointer
 
typedef FixedImageMaskType::Pointer FixedImageMaskPointer
 
typedef SpatialObject< itkGetStaticConstMacro(FixedImageDimension) > FixedImageMaskType
 
typedef FixedImageType::PixelType FixedImagePixelType
 
typedef FixedImageType::Pointer FixedImagePointer
 
typedef FixedImageType::PointType FixedImagePointType
 
typedef TFixedImage FixedImageType
 
typedef Superclass::FixedInputPointType FixedInputPointType
 
typedef FixedInterpolatorType::Pointer FixedInterpolatorPointer
 
typedef InterpolateImageFunction< FixedImageType, CoordinateRepresentationTypeFixedInterpolatorType
 
typedef Superclass::FixedOutputPointType FixedOutputPointType
 
typedef FixedImagePixelType FixedPixelType
 
typedef MetricTraits::FixedRealType FixedRealType
 
typedef FixedSampledPointSetType::ConstPointer FixedSampledPointSetConstPointer
 
typedef FixedSampledPointSetType::Pointer FixedSampledPointSetPointer
 
typedef PointSet< typename FixedImageType::PixelType, itkGetStaticConstMacro(FixedImageDimension)> FixedSampledPointSetType
 
typedef NumericTraits< FixedRealType >::ScalarRealType FixedScalarRealType
 
typedef Superclass::FixedTransformJacobianType FixedTransformJacobianType
 
typedef Superclass::FixedTransformParametersType FixedTransformParametersType
 
typedef Superclass::FixedTransformPointer FixedTransformPointer
 
typedef Superclass::FixedTransformType FixedTransformType
 
typedef Superclass::GradientSourceType GradientSourceType
 
typedef Superclass::DimensionType ImageDimensionType
 
typedef TInternalComputationValueType InternalComputationValueType
 
typedef Superclass::JacobianType JacobianType
 
typedef Superclass::MeasureType MeasureType
 
typedef Superclass::MetricCategoryType MetricCategoryType
 
typedef TMetricTraits MetricTraits
 
typedef MetricTraits::MovingGradientPixelType MovingGradientPixelType
 
typedef CovariantVector< typename MovingImageGradientType::ValueType, MovingImageDimensionMovingImageComponentGradientType
 
typedef MovingImageType::ConstPointer MovingImageConstPointer
 
typedef MovingImageGradientCalculatorType::Pointer MovingImageGradientCalculatorPointer
 
typedef MetricTraits::MovingImageGradientCalculatorType MovingImageGradientCalculatorType
 
typedef MovingImageGradientFilterType::Pointer MovingImageGradientFilterPointer
 
typedef MetricTraits::MovingImageGradientFilterType MovingImageGradientFilterType
 
typedef MovingImageGradientImageType::Pointer MovingImageGradientImagePointer
 
typedef MetricTraits::MovingImageGradientImageType MovingImageGradientImageType
 
typedef MetricTraits::MovingImageGradientType MovingImageGradientType
 
typedef MovingImageType::IndexType MovingImageIndexType
 
typedef MovingImageMaskType::ConstPointer MovingImageMaskConstPointer
 
typedef MovingImageMaskType::Pointer MovingImageMaskPointer
 
typedef SpatialObject< itkGetStaticConstMacro(MovingImageDimension) > MovingImageMaskType
 
typedef MovingImageType::PixelType MovingImagePixelType
 
typedef MovingImageType::Pointer MovingImagePointer
 
typedef MovingImageType::PointType MovingImagePointType
 
typedef MovingImageType::RegionType MovingImageRegionType
 
typedef TMovingImage MovingImageType
 
typedef Superclass::MovingInputPointType MovingInputPointType
 
typedef MovingInterpolatorType::Pointer MovingInterpolatorPointer
 
typedef InterpolateImageFunction< MovingImageType, CoordinateRepresentationTypeMovingInterpolatorType
 
typedef Superclass::MovingOutputPointType MovingOutputPointType
 
typedef MovingImagePixelType MovingPixelType
 
typedef MetricTraits::MovingRealType MovingRealType
 
typedef NumericTraits< MovingRealType >::ScalarRealType MovingScalarRealType
 
typedef Superclass::MovingTransformJacobianType MovingTransformJacobianType
 
typedef Superclass::MovingTransformParametersType MovingTransformParametersType
 
typedef Superclass::MovingTransformPointer MovingTransformPointer
 
typedef Superclass::MovingTransformType MovingTransformType
 
typedef Superclass::NumberOfParametersType NumberOfParametersType
 
typedef Superclass::ObjectType ObjectType
 
typedef Superclass::ParametersType ParametersType
 
typedef Superclass::ParametersValueType ParametersValueType
 
typedef SmartPointer< SelfPointer
 
typedef ImageToImageMetricv4 Self
 
typedef ObjectToObjectMetric< TFixedImage::ImageDimension, TMovingImage::ImageDimension, TVirtualImage, TInternalComputationValueType > Superclass
 
typedef Superclass::VirtualDirectionType VirtualDirectionType
 
typedef CovariantVector< typename VirtualImageGradientType::ValueType, VirtualImageDimensionVirtualImageComponentGradientType
 
typedef MetricTraits::VirtualImageGradientType VirtualImageGradientType
 
typedef Superclass::VirtualImagePointer VirtualImagePointer
 
typedef Superclass::VirtualImageType VirtualImageType
 
typedef Superclass::VirtualIndexType VirtualIndexType
 
typedef Superclass::VirtualPointType VirtualOriginType
 
typedef Superclass::VirtualPixelType VirtualPixelType
 
typedef Superclass::VirtualPointSetPointer VirtualPointSetPointer
 
typedef Superclass::VirtualPointSetType VirtualPointSetType
 
typedef Superclass::VirtualPointType VirtualPointType
 
typedef Superclass::VirtualSizeType VirtualRadiusType
 
typedef Superclass::VirtualRegionType VirtualRegionType
 
typedef Superclass::VirtualSizeType VirtualSizeType
 
typedef Superclass::VirtualSpacingType VirtualSpacingType
 
- Public Types inherited from itk::ObjectToObjectMetric< TFixedImage::ImageDimension, TMovingImage::ImageDimension, TVirtualImage, TInternalComputationValueType >
typedef SmartPointer< const SelfConstPointer
 
typedef TInternalComputationValueType CoordinateRepresentationType
 
typedef Superclass::DerivativeType DerivativeType
 
typedef Superclass::DerivativeValueType DerivativeValueType
 
typedef SizeValueType DimensionType
 
typedef FixedTransformType::InputPointType FixedInputPointType
 
typedef FixedTransformType::OutputPointType FixedOutputPointType
 
typedef FixedTransformType::JacobianType FixedTransformJacobianType
 
typedef FixedTransformType::ParametersType FixedTransformParametersType
 
typedef FixedTransformType::Pointer FixedTransformPointer
 
typedef Transform< TInternalComputationValueType, TVirtualImage::ImageDimension, TFixedDimension > FixedTransformType
 
typedef Superclass::GradientSourceType GradientSourceType
 
typedef TInternalComputationValueType InternalComputationValueType
 
typedef FixedTransformType::JacobianType JacobianType
 
typedef Superclass::MeasureType MeasureType
 
typedef Superclass::MetricCategoryType MetricCategoryType
 
typedef DisplacementFieldTransform< CoordinateRepresentationType, itkGetStaticConstMacro(MovingDimension) > MovingDisplacementFieldTransformType
 
typedef MovingTransformType::InputPointType MovingInputPointType
 
typedef MovingTransformType::OutputPointType MovingOutputPointType
 
typedef MovingTransformType::JacobianType MovingTransformJacobianType
 
typedef MovingTransformType::ParametersType MovingTransformParametersType
 
typedef MovingTransformType::Pointer MovingTransformPointer
 
typedef Transform< TInternalComputationValueType, TVirtualImage::ImageDimension, TMovingDimension > MovingTransformType
 
typedef Superclass::NumberOfParametersType NumberOfParametersType
 
typedef Superclass::Object ObjectType
 
typedef Superclass::ParametersType ParametersType
 
typedef SmartPointer< SelfPointer
 
typedef ObjectToObjectMetric Self
 
typedef ObjectToObjectMetricBaseTemplate< TInternalComputationValueType > Superclass
 
typedef VirtualImageType::DirectionType VirtualDirectionType
 
typedef VirtualImageType::ConstPointer VirtualImageConstPointer
 
typedef VirtualImageType::Pointer VirtualImagePointer
 
typedef TVirtualImage VirtualImageType
 
typedef VirtualImageType::IndexType VirtualIndexType
 
typedef VirtualImageType::PointType VirtualOriginType
 
typedef VirtualImageType::PixelType VirtualPixelType
 
typedef VirtualPointSetType::Pointer VirtualPointSetPointer
 
typedef PointSet< VirtualPixelType, itkGetStaticConstMacro(VirtualDimension)> VirtualPointSetType
 
typedef VirtualImageType::PointType VirtualPointType
 
typedef VirtualImageType::SizeType VirtualRadiusType
 
typedef VirtualImageType::RegionType VirtualRegionType
 
typedef VirtualRegionType::SizeType VirtualSizeType
 
typedef VirtualImageType::SpacingType VirtualSpacingType
 
- Public Types inherited from itk::ObjectToObjectMetricBaseTemplate< TInternalComputationValueType >
typedef SmartPointer< const SelfConstPointer
 
typedef TInternalComputationValueType CoordinateRepresentationType
 
typedef Superclass::DerivativeType DerivativeType
 
typedef DerivativeType::ValueType DerivativeValueType
 
enum  GradientSourceType {
  GRADIENT_SOURCE_FIXED =0,
  GRADIENT_SOURCE_MOVING,
  GRADIENT_SOURCE_BOTH
}
 
typedef Superclass::MeasureType MeasureType
 
enum  MetricCategoryType {
  UNKNOWN_METRIC = 0,
  OBJECT_METRIC = 1,
  IMAGE_METRIC = 2,
  POINT_SET_METRIC = 3,
  MULTI_METRIC = 4
}
 
typedef unsigned int NumberOfParametersType
 
typedef ObjectType::ConstPointer ObjectConstPointer
 
typedef Object ObjectType
 
typedef Superclass::ParametersType ParametersType
 
typedef TInternalComputationValueType ParametersValueType
 
typedef SmartPointer< SelfPointer
 
typedef ObjectToObjectMetricBaseTemplate Self
 
typedef SingleValuedCostFunctionv4Template< TInternalComputationValueType > Superclass
 
- Public Types inherited from itk::SingleValuedCostFunctionv4Template< TInternalComputationValueType >
typedef SmartPointer< const SelfConstPointer
 
typedef Array< TInternalComputationValueType > DerivativeType
 
typedef TInternalComputationValueType MeasureType
 
typedef Superclass::ParametersType ParametersType
 
typedef SmartPointer< SelfPointer
 
typedef SingleValuedCostFunctionv4Template Self
 
typedef CostFunctionTemplate< TInternalComputationValueType > Superclass
 
- Public Types inherited from itk::CostFunctionTemplate< TInternalComputationValueType >
typedef SmartPointer< const SelfConstPointer
 
typedef OptimizerParameters< TInternalComputationValueType > ParametersType
 
typedef TInternalComputationValueType ParametersValueType
 
typedef SmartPointer< SelfPointer
 
typedef CostFunctionTemplate 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 () const
 
virtual void FinalizeThread (const ThreadIdType threadId) override
 
const JointPDFDerivativesType::Pointer GetJointPDFDerivatives () const
 
virtual const char * GetNameOfClass () const
 
virtual void Initialize (void) override throw ( itk::ExceptionObject )
 
virtual void SetNumberOfHistogramBins (SizeValueType _arg)
 
virtual const SizeValueTypeGetNumberOfHistogramBins () const
 
const JointPDFType::Pointer GetJointPDF () const
 
- Public Member Functions inherited from itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits >
virtual void GetDerivative (DerivativeType &) const override
 
virtual const FixedImageTypeGetFixedImage () const
 
virtual const FixedImageGradientImageTypeGetFixedImageGradientImage () const
 
virtual const FixedInterpolatorTypeGetFixedInterpolator () const
 
virtual MetricCategoryType GetMetricCategory () const override
 
virtual FixedImageGradientImageTypeGetModifiableFixedImageGradientImage ()
 
virtual FixedInterpolatorTypeGetModifiableFixedInterpolator ()
 
virtual MovingImageGradientImageTypeGetModifiableMovingImageGradientImage ()
 
virtual MovingInterpolatorTypeGetModifiableMovingInterpolator ()
 
virtual VirtualPointSetTypeGetModifiableVirtualSampledPointSet ()
 
virtual const MovingImageGradientImageTypeGetMovingImageGradientImage () const
 
virtual const MovingInterpolatorTypeGetMovingInterpolator () const
 
SizeValueType GetNumberOfDomainPoints () const
 
virtual const SizeValueTypeGetNumberOfSkippedFixedSampledPoints () const
 
virtual ThreadIdType GetNumberOfThreadsUsed () const
 
virtual SizeValueType GetNumberOfValidPoints () const override
 
virtual MeasureType GetValue () const override
 
virtual void GetValueAndDerivative (MeasureType &value, DerivativeType &derivative) const override
 
virtual const VirtualPointSetTypeGetVirtualSampledPointSet () const
 
virtual void SetFixedImage (const FixedImageType *_arg)
 
virtual void SetFixedInterpolator (FixedInterpolatorType *_arg)
 
virtual void SetMovingInterpolator (MovingInterpolatorType *_arg)
 
virtual bool SupportsArbitraryVirtualDomainSamples (void) const override
 
virtual void SetFixedObject (const ObjectType *object) override
 
virtual void SetMovingObject (const ObjectType *object) override
 
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
 
virtual void SetFixedSampledPointSet (FixedSampledPointSetType *_arg)
 
virtual void SetFixedSampledPointSet (const FixedSampledPointSetType *_arg)
 
virtual const FixedSampledPointSetTypeGetFixedSampledPointSet () const
 
virtual void SetUseFixedSampledPointSet (bool _arg)
 
virtual const bool & GetUseFixedSampledPointSet () const
 
virtual void UseFixedSampledPointSetOn ()
 
virtual void UseFixedSampledPointSetOff ()
 
virtual void SetFixedImageGradientFilter (FixedImageGradientFilterType *_arg)
 
virtual FixedImageGradientFilterTypeGetModifiableFixedImageGradientFilter ()
 
virtual const FixedImageGradientFilterTypeGetFixedImageGradientFilter () const
 
virtual void SetMovingImageGradientFilter (MovingImageGradientFilterType *_arg)
 
virtual MovingImageGradientFilterTypeGetModifiableMovingImageGradientFilter ()
 
virtual const MovingImageGradientFilterTypeGetMovingImageGradientFilter () const
 
virtual void SetFixedImageGradientCalculator (FixedImageGradientCalculatorType *_arg)
 
virtual FixedImageGradientCalculatorTypeGetModifiableFixedImageGradientCalculator ()
 
virtual const FixedImageGradientCalculatorTypeGetFixedImageGradientCalculator () const
 
virtual void SetMovingImageGradientCalculator (MovingImageGradientCalculatorType *_arg)
 
virtual MovingImageGradientCalculatorTypeGetModifiableMovingImageGradientCalculator ()
 
virtual const MovingImageGradientCalculatorTypeGetMovingImageGradientCalculator () const
 
virtual void SetUseFixedImageGradientFilter (bool _arg)
 
virtual const bool & GetUseFixedImageGradientFilter () const
 
virtual void UseFixedImageGradientFilterOn ()
 
virtual void UseFixedImageGradientFilterOff ()
 
virtual void SetUseMovingImageGradientFilter (bool _arg)
 
virtual const bool & GetUseMovingImageGradientFilter () const
 
virtual void UseMovingImageGradientFilterOn ()
 
virtual void UseMovingImageGradientFilterOff ()
 
virtual void SetMaximumNumberOfThreads (const ThreadIdType threads)
 
virtual ThreadIdType GetMaximumNumberOfThreads () const
 
virtual void SetUseFloatingPointCorrection (bool _arg)
 
virtual const bool & GetUseFloatingPointCorrection () const
 
virtual void UseFloatingPointCorrectionOn ()
 
virtual void UseFloatingPointCorrectionOff ()
 
virtual void SetFloatingPointCorrectionResolution (DerivativeValueType _arg)
 
virtual DerivativeValueType GetFloatingPointCorrectionResolution () const
 
- Public Member Functions inherited from itk::ObjectToObjectMetric< TFixedImage::ImageDimension, TMovingImage::ImageDimension, TVirtualImage, TInternalComputationValueType >
OffsetValueType ComputeParameterOffsetFromVirtualIndex (const VirtualIndexType &index, const NumberOfParametersType &numberOfLocalParameters) const
 
OffsetValueType ComputeParameterOffsetFromVirtualPoint (const VirtualPointType &point, const NumberOfParametersType &numberOfLocalParameters) const
 
virtual const FixedTransformTypeGetFixedTransform () const
 
virtual FixedTransformTypeGetModifiableFixedTransform ()
 
virtual MovingTransformTypeGetModifiableMovingTransform ()
 
virtual VirtualImageTypeGetModifiableVirtualImage ()
 
virtual const MovingTransformTypeGetMovingTransform () const
 
virtual NumberOfParametersType GetNumberOfLocalParameters () const override
 
virtual NumberOfParametersType GetNumberOfParameters () const override
 
virtual const ParametersTypeGetParameters () const override
 
const MovingTransformTypeGetTransform ()
 
VirtualDirectionType GetVirtualDirection () const
 
virtual const TimeStampGetVirtualDomainTimeStamp () const
 
virtual const VirtualImageTypeGetVirtualImage () const
 
VirtualOriginType GetVirtualOrigin () const
 
const VirtualRegionTypeGetVirtualRegion () const
 
VirtualSpacingType GetVirtualSpacing () const
 
virtual bool HasLocalSupport () const override
 
virtual void SetFixedTransform (FixedTransformType *_arg)
 
virtual void SetMovingTransform (MovingTransformType *_arg)
 
virtual void SetParameters (ParametersType &params) override
 
void SetTransform (MovingTransformType *transform)
 
void SetVirtualDomain (const VirtualSpacingType &spacing, const VirtualOriginType &origin, const VirtualDirectionType &direction, const VirtualRegionType &region)
 
void SetVirtualDomainFromImage (const VirtualImageType *virtualImage)
 
virtual void UpdateTransformParameters (const DerivativeType &derivative, TInternalComputationValueType factor) override
 
bool IsInsideVirtualDomain (const VirtualPointType &point) const
 
bool IsInsideVirtualDomain (const VirtualIndexType &index) const
 
- Public Member Functions inherited from itk::ObjectToObjectMetricBaseTemplate< TInternalComputationValueType >
MeasureType GetCurrentValue () const
 
virtual GradientSourceType GetGradientSource () const
 
bool GetGradientSourceIncludesFixed () const
 
bool GetGradientSourceIncludesMoving () const
 
virtual void GetValueAndDerivative (MeasureType &value, DerivativeType &derivative) const override=0
 
virtual void SetGradientSource (GradientSourceType _arg)
 
virtual const ObjectTypeGetFixedObject () const
 
virtual const ObjectTypeGetMovingObject () const
 
- Public Member Functions inherited from itk::SingleValuedCostFunctionv4Template< TInternalComputationValueType >
virtual void GetValueAndDerivative (MeasureType &value, DerivativeType &derivative) const =0
 
- Public Member Functions inherited from itk::Object
unsigned long AddObserver (const EventObject &event, Command *)
 
unsigned long AddObserver (const EventObject &event, Command *) const
 
virtual void DebugOff () const
 
virtual void DebugOn () const
 
CommandGetCommand (unsigned long tag)
 
bool GetDebug () const
 
MetaDataDictionaryGetMetaDataDictionary ()
 
const MetaDataDictionaryGetMetaDataDictionary () const
 
virtual ModifiedTimeType GetMTime () const
 
virtual const TimeStampGetTimeStamp () const
 
bool HasObserver (const EventObject &event) const
 
void InvokeEvent (const EventObject &)
 
void InvokeEvent (const EventObject &) const
 
virtual void Modified () const
 
virtual void Register () const override
 
void RemoveAllObservers ()
 
void RemoveObserver (unsigned long tag)
 
void SetDebug (bool debugFlag) const
 
void SetMetaDataDictionary (const MetaDataDictionary &rhs)
 
virtual void SetReferenceCount (int) override
 
virtual void UnRegister () const noexcept override
 
virtual void SetObjectName (std::string _arg)
 
virtual const std::string & GetObjectName () const
 
- Public Member Functions inherited from itk::LightObject
virtual void Delete ()
 
virtual int GetReferenceCount () const
 
 itkCloneMacro (Self)
 
void Print (std::ostream &os, Indent indent=0) const
 

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 ()
 

Static Public Attributes

static const TFixedImage::ImageDimensionType FixedImageDimension = TFixedImage::ImageDimension
 
static const TMovingImage::ImageDimensionType MovingImageDimension = TMovingImage::ImageDimension
 
static const TVirtualImage::ImageDimensionType VirtualImageDimension = TVirtualImage::ImageDimension
 
- Static Public Attributes inherited from itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits >
static const DimensionType FixedImageDimension = Superclass::FixedDimension
 
static const DimensionType MovingImageDimension = Superclass::MovingDimension
 
static const DimensionType VirtualImageDimension = Superclass::VirtualDimension
 
- Static Public Attributes inherited from itk::ObjectToObjectMetric< TFixedImage::ImageDimension, TMovingImage::ImageDimension, TVirtualImage, TInternalComputationValueType >
static const DimensionType FixedDimension
 
static const DimensionType MovingDimension
 
static const DimensionType VirtualDimension
 

Protected Types

typedef BSplineDerivativeKernelFunction< 3, PDFValueTypeCubicBSplineDerivativeFunctionType
 
typedef BSplineKernelFunction< 3, PDFValueTypeCubicBSplineFunctionType
 
typedef JointPDFDerivativesType::IndexType JointPDFDerivativesIndexType
 
typedef JointPDFDerivativesType::RegionType JointPDFDerivativesRegionType
 
typedef JointPDFDerivativesType::SizeType JointPDFDerivativesSizeType
 
typedef JointPDFDerivativesType::PixelType JointPDFDerivativesValueType
 
typedef JointPDFType::IndexType JointPDFIndexType
 
typedef JointPDFType::RegionType JointPDFRegionType
 
typedef JointPDFType::SizeType JointPDFSizeType
 
typedef JointPDFType::PixelType JointPDFValueType
 
typedef MattesMutualInformationImageToImageMetricv4GetValueAndDerivativeThreader< ThreadedImageRegionPartitioner< Superclass::VirtualImageDimension >, Superclass, SelfMattesMutualInformationDenseGetValueAndDerivativeThreaderType
 
typedef MattesMutualInformationImageToImageMetricv4GetValueAndDerivativeThreader< ThreadedIndexedContainerPartitioner, Superclass, SelfMattesMutualInformationSparseGetValueAndDerivativeThreaderType
 
typedef std::vector< PRatioTypePRatioArrayType
 
typedef PDFValueType PRatioType
 
- Protected Types inherited from itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits >
typedef LinearInterpolateImageFunction< FixedImageGradientImageType, CoordinateRepresentationTypeFixedImageGradientInterpolatorType
 
typedef LinearInterpolateImageFunction< MovingImageGradientImageType, CoordinateRepresentationTypeMovingImageGradientInterpolatorType
 

Protected Member Functions

OffsetValueType ComputeSingleFixedImageParzenWindowIndex (const FixedImagePixelType &value) const
 
virtual void GetValueCommonAfterThreadedExecution ()
 
 MattesMutualInformationImageToImageMetricv4 ()
 
void PrintSelf (std::ostream &os, Indent indent) const override
 
virtual ~MattesMutualInformationImageToImageMetricv4 ()
 
- Protected Member Functions inherited from itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits >
virtual void ComputeFixedImageGradientAtPoint (const FixedImagePointType &mappedPoint, FixedImageGradientType &gradient) const
 
virtual void ComputeFixedImageGradientFilterImage ()
 
virtual void ComputeMovingImageGradientAtPoint (const MovingImagePointType &mappedPoint, MovingImageGradientType &gradient) const
 
virtual void ComputeMovingImageGradientFilterImage () const
 
virtual bool GetComputeDerivative () const
 
virtual void GetValueAndDerivativeExecute () const
 
 ImageToImageMetricv4 ()
 
virtual void InitializeForIteration () const
 
bool TransformAndEvaluateFixedPoint (const VirtualPointType &virtualPoint, FixedImagePointType &mappedFixedPoint, FixedImagePixelType &mappedFixedPixelValue) const
 
bool TransformAndEvaluateMovingPoint (const VirtualPointType &virtualPoint, MovingImagePointType &mappedMovingPoint, MovingImagePixelType &mappedMovingPixelValue) const
 
virtual ~ImageToImageMetricv4 ()
 
virtual void InitializeDefaultFixedImageGradientFilter ()
 
virtual void InitializeDefaultMovingImageGradientFilter ()
 
- Protected Member Functions inherited from itk::ObjectToObjectMetric< TFixedImage::ImageDimension, TMovingImage::ImageDimension, TVirtualImage, TInternalComputationValueType >
const MovingDisplacementFieldTransformTypeGetMovingDisplacementFieldTransform () const
 
 ObjectToObjectMetric ()
 
void PrintSelf (std::ostream &os, Indent indent) const override
 
bool TransformPhysicalPointToVirtualIndex (const VirtualPointType &, VirtualIndexType &) const
 
void TransformVirtualIndexToPhysicalPoint (const VirtualIndexType &, VirtualPointType &) const
 
virtual void VerifyDisplacementFieldSizeAndPhysicalSpace ()
 
bool VerifyNumberOfValidPoints (MeasureType &value, DerivativeType &derivative) const
 
virtual ~ObjectToObjectMetric ()
 
- Protected Member Functions inherited from itk::ObjectToObjectMetricBaseTemplate< TInternalComputationValueType >
 ObjectToObjectMetricBaseTemplate ()
 
virtual ~ObjectToObjectMetricBaseTemplate ()
 
- Protected Member Functions inherited from itk::SingleValuedCostFunctionv4Template< TInternalComputationValueType >
 SingleValuedCostFunctionv4Template ()
 
virtual ~SingleValuedCostFunctionv4Template ()
 
- Protected Member Functions inherited from itk::CostFunctionTemplate< TInternalComputationValueType >
 CostFunctionTemplate ()
 
virtual ~CostFunctionTemplate ()
 
- 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

CubicBSplineDerivativeFunctionType::Pointer m_CubicBSplineDerivativeKernel
 
CubicBSplineFunctionType::Pointer m_CubicBSplineKernel
 
PDFValueType m_FixedImageBinSize
 
PDFValueType m_FixedImageNormalizedMin
 
PDFValueType m_FixedImageTrueMax
 
PDFValueType m_FixedImageTrueMin
 
JointPDFDerivativesType::Pointer m_JointPDFDerivatives
 
SimpleFastMutexLock m_JointPDFDerivativesLock
 
std::vector< OffsetValueTypem_JointPdfIndex1DArray
 
PDFValueType m_JointPDFSum
 
std::vector< DerivativeTypem_LocalDerivativeByParzenBin
 
PDFValueType m_MovingImageBinSize
 
std::vector< PDFValueTypem_MovingImageMarginalPDF
 
PDFValueType m_MovingImageNormalizedMin
 
PDFValueType m_MovingImageTrueMax
 
PDFValueType m_MovingImageTrueMin
 
SizeValueType m_NumberOfHistogramBins
 
PRatioArrayType m_PRatioArray
 
std::vector< DerivativeBufferManagerm_ThreaderDerivativeManager
 
std::vector< std::vector< PDFValueType > > m_ThreaderFixedImageMarginalPDF
 
std::vector< typename JointPDFType::Pointerm_ThreaderJointPDF
 
- Protected Attributes inherited from itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits >
DefaultFixedImageGradientCalculator::Pointer m_DefaultFixedImageGradientCalculator
 
DefaultFixedImageGradientFilter::Pointer m_DefaultFixedImageGradientFilter
 
DefaultMovingImageGradientCalculator::Pointer m_DefaultMovingImageGradientCalculator
 
DefaultMovingImageGradientFilter::Pointer m_DefaultMovingImageGradientFilter
 
ImageToImageMetricv4GetValueAndDerivativeThreader< ThreadedImageRegionPartitioner< VirtualImageDimension >, Self >::Pointer m_DenseGetValueAndDerivativeThreader
 
DerivativeTypem_DerivativeResult
 
FixedImageConstPointer m_FixedImage
 
FixedImageGradientCalculatorPointer m_FixedImageGradientCalculator
 
FixedImageGradientFilterPointer m_FixedImageGradientFilter
 
FixedImageGradientImagePointer m_FixedImageGradientImage
 
FixedImageGradientInterpolatorType::Pointer m_FixedImageGradientInterpolator
 
FixedImageMaskConstPointer m_FixedImageMask
 
FixedInterpolatorPointer m_FixedInterpolator
 
FixedSampledPointSetConstPointer m_FixedSampledPointSet
 
MovingImageConstPointer m_MovingImage
 
MovingImageGradientCalculatorPointer m_MovingImageGradientCalculator
 
MovingImageGradientFilterPointer m_MovingImageGradientFilter
 
MovingImageGradientImagePointer m_MovingImageGradientImage
 
MovingImageGradientInterpolatorType::Pointer m_MovingImageGradientInterpolator
 
MovingImageMaskConstPointer m_MovingImageMask
 
MovingInterpolatorPointer m_MovingInterpolator
 
ImageToImageMetricv4GetValueAndDerivativeThreader< ThreadedIndexedContainerPartitioner, Self >::Pointer m_SparseGetValueAndDerivativeThreader
 
bool m_UseFixedImageGradientFilter
 
bool m_UseFixedSampledPointSet
 
bool m_UseMovingImageGradientFilter
 
VirtualPointSetPointer m_VirtualSampledPointSet
 
- Protected Attributes inherited from itk::ObjectToObjectMetric< TFixedImage::ImageDimension, TMovingImage::ImageDimension, TVirtualImage, TInternalComputationValueType >
FixedTransformPointer m_FixedTransform
 
MovingTransformPointer m_MovingTransform
 
SizeValueType m_NumberOfValidPoints
 
bool m_UserHasSetVirtualDomain
 
VirtualImagePointer m_VirtualImage
 
- Protected Attributes inherited from itk::ObjectToObjectMetricBaseTemplate< TInternalComputationValueType >
ObjectConstPointer m_FixedObject
 
GradientSourceType m_GradientSource
 
ObjectConstPointer m_MovingObject
 
MeasureType m_Value
 
- Protected Attributes inherited from itk::LightObject
AtomicInt< int > m_ReferenceCount
 

Private Member Functions

virtual void ComputeResults () const
 
 MattesMutualInformationImageToImageMetricv4 (const Self &) ITK_DELETE_FUNCTION
 
void operator= (const Self &) ITK_DELETE_FUNCTION
 

Friends

class MattesMutualInformationImageToImageMetricv4GetValueAndDerivativeThreader< ThreadedImageRegionPartitioner< Superclass::VirtualImageDimension >, Superclass, Self >
 
class MattesMutualInformationImageToImageMetricv4GetValueAndDerivativeThreader< ThreadedIndexedContainerPartitioner, Superclass, Self >
 

Member Typedef Documentation

template<typename TFixedImage , typename TMovingImage , typename TVirtualImage = TFixedImage, typename TInternalComputationValueType = double, typename TMetricTraits = DefaultImageToImageMetricTraitsv4<TFixedImage,TMovingImage,TVirtualImage,TInternalComputationValueType>>
typedef SmartPointer<const Self> itk::MattesMutualInformationImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits >::ConstPointer
template<typename TFixedImage , typename TMovingImage , typename TVirtualImage = TFixedImage, typename TInternalComputationValueType = double, typename TMetricTraits = DefaultImageToImageMetricTraitsv4<TFixedImage,TMovingImage,TVirtualImage,TInternalComputationValueType>>
typedef BSplineDerivativeKernelFunction<3,PDFValueType> itk::MattesMutualInformationImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits >::CubicBSplineDerivativeFunctionType
protected
template<typename TFixedImage , typename TMovingImage , typename TVirtualImage = TFixedImage, typename TInternalComputationValueType = double, typename TMetricTraits = DefaultImageToImageMetricTraitsv4<TFixedImage,TMovingImage,TVirtualImage,TInternalComputationValueType>>
typedef BSplineKernelFunction<3,PDFValueType> itk::MattesMutualInformationImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits >::CubicBSplineFunctionType
protected

Typedefs for BSpline kernel and derivative functions.

Definition at line 218 of file itkMattesMutualInformationImageToImageMetricv4.h.

template<typename TFixedImage , typename TMovingImage , typename TVirtualImage = TFixedImage, typename TInternalComputationValueType = double, typename TMetricTraits = DefaultImageToImageMetricTraitsv4<TFixedImage,TMovingImage,TVirtualImage,TInternalComputationValueType>>
typedef Superclass::DerivativeType itk::MattesMutualInformationImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits >::DerivativeType
template<typename TFixedImage , typename TMovingImage , typename TVirtualImage = TFixedImage, typename TInternalComputationValueType = double, typename TMetricTraits = DefaultImageToImageMetricTraitsv4<TFixedImage,TMovingImage,TVirtualImage,TInternalComputationValueType>>
typedef DerivativeType::ValueType itk::MattesMutualInformationImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits >::DerivativeValueType
template<typename TFixedImage , typename TMovingImage , typename TVirtualImage = TFixedImage, typename TInternalComputationValueType = double, typename TMetricTraits = DefaultImageToImageMetricTraitsv4<TFixedImage,TMovingImage,TVirtualImage,TInternalComputationValueType>>
typedef Superclass::FixedImageGradientType itk::MattesMutualInformationImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits >::FixedImageGradientType
template<typename TFixedImage , typename TMovingImage , typename TVirtualImage = TFixedImage, typename TInternalComputationValueType = double, typename TMetricTraits = DefaultImageToImageMetricTraitsv4<TFixedImage,TMovingImage,TVirtualImage,TInternalComputationValueType>>
typedef Superclass::FixedImageIndexType itk::MattesMutualInformationImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits >::FixedImageIndexType
template<typename TFixedImage , typename TMovingImage , typename TVirtualImage = TFixedImage, typename TInternalComputationValueType = double, typename TMetricTraits = DefaultImageToImageMetricTraitsv4<TFixedImage,TMovingImage,TVirtualImage,TInternalComputationValueType>>
typedef Superclass::FixedImagePixelType itk::MattesMutualInformationImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits >::FixedImagePixelType
template<typename TFixedImage , typename TMovingImage , typename TVirtualImage = TFixedImage, typename TInternalComputationValueType = double, typename TMetricTraits = DefaultImageToImageMetricTraitsv4<TFixedImage,TMovingImage,TVirtualImage,TInternalComputationValueType>>
typedef Superclass::FixedImagePointType itk::MattesMutualInformationImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits >::FixedImagePointType
template<typename TFixedImage , typename TMovingImage , typename TVirtualImage = TFixedImage, typename TInternalComputationValueType = double, typename TMetricTraits = DefaultImageToImageMetricTraitsv4<TFixedImage,TMovingImage,TVirtualImage,TInternalComputationValueType>>
typedef Superclass::FixedImageType itk::MattesMutualInformationImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits >::FixedImageType
template<typename TFixedImage , typename TMovingImage , typename TVirtualImage = TFixedImage, typename TInternalComputationValueType = double, typename TMetricTraits = DefaultImageToImageMetricTraitsv4<TFixedImage,TMovingImage,TVirtualImage,TInternalComputationValueType>>
typedef Superclass::FixedSampledPointSetPointer itk::MattesMutualInformationImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits >::FixedSampledPointSetPointer

Types inherited from Superclass.

Definition at line 141 of file itkMattesMutualInformationImageToImageMetricv4.h.

template<typename TFixedImage , typename TMovingImage , typename TVirtualImage = TFixedImage, typename TInternalComputationValueType = double, typename TMetricTraits = DefaultImageToImageMetricTraitsv4<TFixedImage,TMovingImage,TVirtualImage,TInternalComputationValueType>>
typedef Superclass::JacobianType itk::MattesMutualInformationImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits >::JacobianType
template<typename TFixedImage , typename TMovingImage , typename TVirtualImage = TFixedImage, typename TInternalComputationValueType = double, typename TMetricTraits = DefaultImageToImageMetricTraitsv4<TFixedImage,TMovingImage,TVirtualImage,TInternalComputationValueType>>
typedef JointPDFDerivativesType::IndexType itk::MattesMutualInformationImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits >::JointPDFDerivativesIndexType
protected
template<typename TFixedImage , typename TMovingImage , typename TVirtualImage = TFixedImage, typename TInternalComputationValueType = double, typename TMetricTraits = DefaultImageToImageMetricTraitsv4<TFixedImage,TMovingImage,TVirtualImage,TInternalComputationValueType>>
typedef JointPDFDerivativesType::RegionType itk::MattesMutualInformationImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits >::JointPDFDerivativesRegionType
protected
template<typename TFixedImage , typename TMovingImage , typename TVirtualImage = TFixedImage, typename TInternalComputationValueType = double, typename TMetricTraits = DefaultImageToImageMetricTraitsv4<TFixedImage,TMovingImage,TVirtualImage,TInternalComputationValueType>>
typedef JointPDFDerivativesType::SizeType itk::MattesMutualInformationImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits >::JointPDFDerivativesSizeType
protected
template<typename TFixedImage , typename TMovingImage , typename TVirtualImage = TFixedImage, typename TInternalComputationValueType = double, typename TMetricTraits = DefaultImageToImageMetricTraitsv4<TFixedImage,TMovingImage,TVirtualImage,TInternalComputationValueType>>
typedef Image<PDFValueType, 3> itk::MattesMutualInformationImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits >::JointPDFDerivativesType
template<typename TFixedImage , typename TMovingImage , typename TVirtualImage = TFixedImage, typename TInternalComputationValueType = double, typename TMetricTraits = DefaultImageToImageMetricTraitsv4<TFixedImage,TMovingImage,TVirtualImage,TInternalComputationValueType>>
typedef JointPDFDerivativesType::PixelType itk::MattesMutualInformationImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits >::JointPDFDerivativesValueType
protected
template<typename TFixedImage , typename TMovingImage , typename TVirtualImage = TFixedImage, typename TInternalComputationValueType = double, typename TMetricTraits = DefaultImageToImageMetricTraitsv4<TFixedImage,TMovingImage,TVirtualImage,TInternalComputationValueType>>
typedef JointPDFType::IndexType itk::MattesMutualInformationImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits >::JointPDFIndexType
protected
template<typename TFixedImage , typename TMovingImage , typename TVirtualImage = TFixedImage, typename TInternalComputationValueType = double, typename TMetricTraits = DefaultImageToImageMetricTraitsv4<TFixedImage,TMovingImage,TVirtualImage,TInternalComputationValueType>>
typedef JointPDFType::RegionType itk::MattesMutualInformationImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits >::JointPDFRegionType
protected
template<typename TFixedImage , typename TMovingImage , typename TVirtualImage = TFixedImage, typename TInternalComputationValueType = double, typename TMetricTraits = DefaultImageToImageMetricTraitsv4<TFixedImage,TMovingImage,TVirtualImage,TInternalComputationValueType>>
typedef JointPDFType::SizeType itk::MattesMutualInformationImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits >::JointPDFSizeType
protected
template<typename TFixedImage , typename TMovingImage , typename TVirtualImage = TFixedImage, typename TInternalComputationValueType = double, typename TMetricTraits = DefaultImageToImageMetricTraitsv4<TFixedImage,TMovingImage,TVirtualImage,TInternalComputationValueType>>
typedef Image<PDFValueType, 2> itk::MattesMutualInformationImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits >::JointPDFType

Typedef for the joint PDF and PDF derivatives are stored as ITK Images.

Definition at line 165 of file itkMattesMutualInformationImageToImageMetricv4.h.

template<typename TFixedImage , typename TMovingImage , typename TVirtualImage = TFixedImage, typename TInternalComputationValueType = double, typename TMetricTraits = DefaultImageToImageMetricTraitsv4<TFixedImage,TMovingImage,TVirtualImage,TInternalComputationValueType>>
typedef JointPDFType::PixelType itk::MattesMutualInformationImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits >::JointPDFValueType
protected
template<typename TFixedImage , typename TMovingImage , typename TVirtualImage = TFixedImage, typename TInternalComputationValueType = double, typename TMetricTraits = DefaultImageToImageMetricTraitsv4<TFixedImage,TMovingImage,TVirtualImage,TInternalComputationValueType>>
typedef MattesMutualInformationImageToImageMetricv4GetValueAndDerivativeThreader< ThreadedImageRegionPartitioner< Superclass::VirtualImageDimension >, Superclass, Self > itk::MattesMutualInformationImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits >::MattesMutualInformationDenseGetValueAndDerivativeThreaderType
protected
template<typename TFixedImage , typename TMovingImage , typename TVirtualImage = TFixedImage, typename TInternalComputationValueType = double, typename TMetricTraits = DefaultImageToImageMetricTraitsv4<TFixedImage,TMovingImage,TVirtualImage,TInternalComputationValueType>>
typedef MattesMutualInformationImageToImageMetricv4GetValueAndDerivativeThreader< ThreadedIndexedContainerPartitioner, Superclass, Self > itk::MattesMutualInformationImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits >::MattesMutualInformationSparseGetValueAndDerivativeThreaderType
protected
template<typename TFixedImage , typename TMovingImage , typename TVirtualImage = TFixedImage, typename TInternalComputationValueType = double, typename TMetricTraits = DefaultImageToImageMetricTraitsv4<TFixedImage,TMovingImage,TVirtualImage,TInternalComputationValueType>>
typedef Superclass::MeasureType itk::MattesMutualInformationImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits >::MeasureType

Superclass types

Definition at line 116 of file itkMattesMutualInformationImageToImageMetricv4.h.

template<typename TFixedImage , typename TMovingImage , typename TVirtualImage = TFixedImage, typename TInternalComputationValueType = double, typename TMetricTraits = DefaultImageToImageMetricTraitsv4<TFixedImage,TMovingImage,TVirtualImage,TInternalComputationValueType>>
typedef Superclass::MovingImageGradientType itk::MattesMutualInformationImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits >::MovingImageGradientType
template<typename TFixedImage , typename TMovingImage , typename TVirtualImage = TFixedImage, typename TInternalComputationValueType = double, typename TMetricTraits = DefaultImageToImageMetricTraitsv4<TFixedImage,TMovingImage,TVirtualImage,TInternalComputationValueType>>
typedef Superclass::MovingImagePixelType itk::MattesMutualInformationImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits >::MovingImagePixelType
template<typename TFixedImage , typename TMovingImage , typename TVirtualImage = TFixedImage, typename TInternalComputationValueType = double, typename TMetricTraits = DefaultImageToImageMetricTraitsv4<TFixedImage,TMovingImage,TVirtualImage,TInternalComputationValueType>>
typedef Superclass::MovingImagePointType itk::MattesMutualInformationImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits >::MovingImagePointType
template<typename TFixedImage , typename TMovingImage , typename TVirtualImage = TFixedImage, typename TInternalComputationValueType = double, typename TMetricTraits = DefaultImageToImageMetricTraitsv4<TFixedImage,TMovingImage,TVirtualImage,TInternalComputationValueType>>
typedef Superclass::MovingTransformType itk::MattesMutualInformationImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits >::MovingTransformType
template<typename TFixedImage , typename TMovingImage , typename TVirtualImage = TFixedImage, typename TInternalComputationValueType = double, typename TMetricTraits = DefaultImageToImageMetricTraitsv4<TFixedImage,TMovingImage,TVirtualImage,TInternalComputationValueType>>
typedef TInternalComputationValueType itk::MattesMutualInformationImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits >::PDFValueType

The marginal PDFs are stored as std::vector.

Definition at line 162 of file itkMattesMutualInformationImageToImageMetricv4.h.

template<typename TFixedImage , typename TMovingImage , typename TVirtualImage = TFixedImage, typename TInternalComputationValueType = double, typename TMetricTraits = DefaultImageToImageMetricTraitsv4<TFixedImage,TMovingImage,TVirtualImage,TInternalComputationValueType>>
typedef SmartPointer<Self> itk::MattesMutualInformationImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits >::Pointer
template<typename TFixedImage , typename TMovingImage , typename TVirtualImage = TFixedImage, typename TInternalComputationValueType = double, typename TMetricTraits = DefaultImageToImageMetricTraitsv4<TFixedImage,TMovingImage,TVirtualImage,TInternalComputationValueType>>
typedef std::vector<PRatioType> itk::MattesMutualInformationImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits >::PRatioArrayType
protected
template<typename TFixedImage , typename TMovingImage , typename TVirtualImage = TFixedImage, typename TInternalComputationValueType = double, typename TMetricTraits = DefaultImageToImageMetricTraitsv4<TFixedImage,TMovingImage,TVirtualImage,TInternalComputationValueType>>
typedef PDFValueType itk::MattesMutualInformationImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits >::PRatioType
protected

Helper array for storing the values of the JointPDF ratios.

Definition at line 243 of file itkMattesMutualInformationImageToImageMetricv4.h.

template<typename TFixedImage , typename TMovingImage , typename TVirtualImage = TFixedImage, typename TInternalComputationValueType = double, typename TMetricTraits = DefaultImageToImageMetricTraitsv4<TFixedImage,TMovingImage,TVirtualImage,TInternalComputationValueType>>
typedef MattesMutualInformationImageToImageMetricv4 itk::MattesMutualInformationImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits >::Self

Standard class typedefs.

Definition at line 106 of file itkMattesMutualInformationImageToImageMetricv4.h.

template<typename TFixedImage , typename TMovingImage , typename TVirtualImage = TFixedImage, typename TInternalComputationValueType = double, typename TMetricTraits = DefaultImageToImageMetricTraitsv4<TFixedImage,TMovingImage,TVirtualImage,TInternalComputationValueType>>
typedef ImageToImageMetricv4<TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType,TMetricTraits> itk::MattesMutualInformationImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits >::Superclass
template<typename TFixedImage , typename TMovingImage , typename TVirtualImage = TFixedImage, typename TInternalComputationValueType = double, typename TMetricTraits = DefaultImageToImageMetricTraitsv4<TFixedImage,TMovingImage,TVirtualImage,TInternalComputationValueType>>
typedef Superclass::VirtualImageType itk::MattesMutualInformationImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits >::VirtualImageType
template<typename TFixedImage , typename TMovingImage , typename TVirtualImage = TFixedImage, typename TInternalComputationValueType = double, typename TMetricTraits = DefaultImageToImageMetricTraitsv4<TFixedImage,TMovingImage,TVirtualImage,TInternalComputationValueType>>
typedef Superclass::VirtualIndexType itk::MattesMutualInformationImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits >::VirtualIndexType
template<typename TFixedImage , typename TMovingImage , typename TVirtualImage = TFixedImage, typename TInternalComputationValueType = double, typename TMetricTraits = DefaultImageToImageMetricTraitsv4<TFixedImage,TMovingImage,TVirtualImage,TInternalComputationValueType>>
typedef Superclass::VirtualPointSetType itk::MattesMutualInformationImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits >::VirtualPointSetType
template<typename TFixedImage , typename TMovingImage , typename TVirtualImage = TFixedImage, typename TInternalComputationValueType = double, typename TMetricTraits = DefaultImageToImageMetricTraitsv4<TFixedImage,TMovingImage,TVirtualImage,TInternalComputationValueType>>
typedef Superclass::VirtualPointType itk::MattesMutualInformationImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits >::VirtualPointType

Constructor & Destructor Documentation

template<typename TFixedImage , typename TMovingImage , typename TVirtualImage = TFixedImage, typename TInternalComputationValueType = double, typename TMetricTraits = DefaultImageToImageMetricTraitsv4<TFixedImage,TMovingImage,TVirtualImage,TInternalComputationValueType>>
itk::MattesMutualInformationImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits >::MattesMutualInformationImageToImageMetricv4 ( )
protected
template<typename TFixedImage , typename TMovingImage , typename TVirtualImage = TFixedImage, typename TInternalComputationValueType = double, typename TMetricTraits = DefaultImageToImageMetricTraitsv4<TFixedImage,TMovingImage,TVirtualImage,TInternalComputationValueType>>
virtual itk::MattesMutualInformationImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits >::~MattesMutualInformationImageToImageMetricv4 ( )
protectedvirtual
template<typename TFixedImage , typename TMovingImage , typename TVirtualImage = TFixedImage, typename TInternalComputationValueType = double, typename TMetricTraits = DefaultImageToImageMetricTraitsv4<TFixedImage,TMovingImage,TVirtualImage,TInternalComputationValueType>>
itk::MattesMutualInformationImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits >::MattesMutualInformationImageToImageMetricv4 ( const Self )
private

Member Function Documentation

template<typename TFixedImage , typename TMovingImage , typename TVirtualImage = TFixedImage, typename TInternalComputationValueType = double, typename TMetricTraits = DefaultImageToImageMetricTraitsv4<TFixedImage,TMovingImage,TVirtualImage,TInternalComputationValueType>>
virtual void itk::MattesMutualInformationImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits >::ComputeResults ( ) const
privatevirtual

Perform the final step in computing results

template<typename TFixedImage , typename TMovingImage , typename TVirtualImage = TFixedImage, typename TInternalComputationValueType = double, typename TMetricTraits = DefaultImageToImageMetricTraitsv4<TFixedImage,TMovingImage,TVirtualImage,TInternalComputationValueType>>
OffsetValueType itk::MattesMutualInformationImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits >::ComputeSingleFixedImageParzenWindowIndex ( const FixedImagePixelType value) const
protected
template<typename TFixedImage , typename TMovingImage , typename TVirtualImage = TFixedImage, typename TInternalComputationValueType = double, typename TMetricTraits = DefaultImageToImageMetricTraitsv4<TFixedImage,TMovingImage,TVirtualImage,TInternalComputationValueType>>
virtual::itk::LightObject::Pointer itk::MattesMutualInformationImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits >::CreateAnother ( ) 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<typename TFixedImage , typename TMovingImage , typename TVirtualImage = TFixedImage, typename TInternalComputationValueType = double, typename TMetricTraits = DefaultImageToImageMetricTraitsv4<TFixedImage,TMovingImage,TVirtualImage,TInternalComputationValueType>>
virtual void itk::MattesMutualInformationImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits >::FinalizeThread ( const ThreadIdType  )
overridevirtual

Finalize the per-thread components for computing metric. Some threads can accumulate their data as the thread finishes rather than waiting for all threads to finish before the accumulation occurs.

Reimplemented from itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits >.

Referenced by itk::MattesMutualInformationImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits >::GetJointPDFDerivatives().

template<typename TFixedImage , typename TMovingImage , typename TVirtualImage = TFixedImage, typename TInternalComputationValueType = double, typename TMetricTraits = DefaultImageToImageMetricTraitsv4<TFixedImage,TMovingImage,TVirtualImage,TInternalComputationValueType>>
const JointPDFType::Pointer itk::MattesMutualInformationImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits >::GetJointPDF ( ) const
inline
template<typename TFixedImage , typename TMovingImage , typename TVirtualImage = TFixedImage, typename TInternalComputationValueType = double, typename TMetricTraits = DefaultImageToImageMetricTraitsv4<TFixedImage,TMovingImage,TVirtualImage,TInternalComputationValueType>>
const JointPDFDerivativesType::Pointer itk::MattesMutualInformationImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits >::GetJointPDFDerivatives ( ) const
inline
template<typename TFixedImage , typename TMovingImage , typename TVirtualImage = TFixedImage, typename TInternalComputationValueType = double, typename TMetricTraits = DefaultImageToImageMetricTraitsv4<TFixedImage,TMovingImage,TVirtualImage,TInternalComputationValueType>>
virtual const char* itk::MattesMutualInformationImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits >::GetNameOfClass ( ) const
virtual
template<typename TFixedImage , typename TMovingImage , typename TVirtualImage = TFixedImage, typename TInternalComputationValueType = double, typename TMetricTraits = DefaultImageToImageMetricTraitsv4<TFixedImage,TMovingImage,TVirtualImage,TInternalComputationValueType>>
virtual const SizeValueType& itk::MattesMutualInformationImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits >::GetNumberOfHistogramBins ( ) const
virtual

Number of bins to used in the histogram. Typical value is

  1. The minimum value is 5 due to the padding required by the Parzen windowing with a cubic-BSpline kernel. Note that even if the metric is used on binary images, the number of bins should at least be equal to five.
template<typename TFixedImage , typename TMovingImage , typename TVirtualImage = TFixedImage, typename TInternalComputationValueType = double, typename TMetricTraits = DefaultImageToImageMetricTraitsv4<TFixedImage,TMovingImage,TVirtualImage,TInternalComputationValueType>>
virtual void itk::MattesMutualInformationImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits >::GetValueCommonAfterThreadedExecution ( )
protectedvirtual

Post-processing code common to both GetValue and GetValueAndDerivative.

template<typename TFixedImage , typename TMovingImage , typename TVirtualImage = TFixedImage, typename TInternalComputationValueType = double, typename TMetricTraits = DefaultImageToImageMetricTraitsv4<TFixedImage,TMovingImage,TVirtualImage,TInternalComputationValueType>>
virtual void itk::MattesMutualInformationImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits >::Initialize ( void  )
throw (itk::ExceptionObject
)
overridevirtual

Initialize the Metric by making sure that all the components are present and plugged together correctly, and initializing internal variables as required. This is for one-time initialization, e.g. before starting an optimization process.

Reimplemented from itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits >.

template<typename TFixedImage , typename TMovingImage , typename TVirtualImage = TFixedImage, typename TInternalComputationValueType = double, typename TMetricTraits = DefaultImageToImageMetricTraitsv4<TFixedImage,TMovingImage,TVirtualImage,TInternalComputationValueType>>
static Pointer itk::MattesMutualInformationImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits >::New ( )
static

Method for creation through the object factory.

template<typename TFixedImage , typename TMovingImage , typename TVirtualImage = TFixedImage, typename TInternalComputationValueType = double, typename TMetricTraits = DefaultImageToImageMetricTraitsv4<TFixedImage,TMovingImage,TVirtualImage,TInternalComputationValueType>>
void itk::MattesMutualInformationImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits >::operator= ( const Self )
private
template<typename TFixedImage , typename TMovingImage , typename TVirtualImage = TFixedImage, typename TInternalComputationValueType = double, typename TMetricTraits = DefaultImageToImageMetricTraitsv4<TFixedImage,TMovingImage,TVirtualImage,TInternalComputationValueType>>
void itk::MattesMutualInformationImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits >::PrintSelf ( std::ostream &  os,
Indent  indent 
) const
overrideprotectedvirtual

Methods invoked by Print() to print information about the object including superclasses. Typically not called by the user (use Print() instead) but used in the hierarchical print process to combine the output of several classes.

Reimplemented from itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits >.

template<typename TFixedImage , typename TMovingImage , typename TVirtualImage = TFixedImage, typename TInternalComputationValueType = double, typename TMetricTraits = DefaultImageToImageMetricTraitsv4<TFixedImage,TMovingImage,TVirtualImage,TInternalComputationValueType>>
virtual void itk::MattesMutualInformationImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits >::SetNumberOfHistogramBins ( SizeValueType  _arg)
virtual

Number of bins to used in the histogram. Typical value is

  1. The minimum value is 5 due to the padding required by the Parzen windowing with a cubic-BSpline kernel. Note that even if the metric is used on binary images, the number of bins should at least be equal to five.

Friends And Related Function Documentation

template<typename TFixedImage , typename TMovingImage , typename TVirtualImage = TFixedImage, typename TInternalComputationValueType = double, typename TMetricTraits = DefaultImageToImageMetricTraitsv4<TFixedImage,TMovingImage,TVirtualImage,TInternalComputationValueType>>
friend class MattesMutualInformationImageToImageMetricv4GetValueAndDerivativeThreader< ThreadedImageRegionPartitioner< Superclass::VirtualImageDimension >, Superclass, Self >
friend
template<typename TFixedImage , typename TMovingImage , typename TVirtualImage = TFixedImage, typename TInternalComputationValueType = double, typename TMetricTraits = DefaultImageToImageMetricTraitsv4<TFixedImage,TMovingImage,TVirtualImage,TInternalComputationValueType>>
friend class MattesMutualInformationImageToImageMetricv4GetValueAndDerivativeThreader< ThreadedIndexedContainerPartitioner, Superclass, Self >
friend

Member Data Documentation

template<typename TFixedImage , typename TMovingImage , typename TVirtualImage = TFixedImage, typename TInternalComputationValueType = double, typename TMetricTraits = DefaultImageToImageMetricTraitsv4<TFixedImage,TMovingImage,TVirtualImage,TInternalComputationValueType>>
const TFixedImage::ImageDimensionType itk::MattesMutualInformationImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits >::FixedImageDimension = TFixedImage::ImageDimension
static
template<typename TFixedImage , typename TMovingImage , typename TVirtualImage = TFixedImage, typename TInternalComputationValueType = double, typename TMetricTraits = DefaultImageToImageMetricTraitsv4<TFixedImage,TMovingImage,TVirtualImage,TInternalComputationValueType>>
CubicBSplineDerivativeFunctionType::Pointer itk::MattesMutualInformationImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits >::m_CubicBSplineDerivativeKernel
protected
template<typename TFixedImage , typename TMovingImage , typename TVirtualImage = TFixedImage, typename TInternalComputationValueType = double, typename TMetricTraits = DefaultImageToImageMetricTraitsv4<TFixedImage,TMovingImage,TVirtualImage,TInternalComputationValueType>>
CubicBSplineFunctionType::Pointer itk::MattesMutualInformationImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits >::m_CubicBSplineKernel
protected

Cubic BSpline kernel for computing Parzen histograms.

Definition at line 239 of file itkMattesMutualInformationImageToImageMetricv4.h.

template<typename TFixedImage , typename TMovingImage , typename TVirtualImage = TFixedImage, typename TInternalComputationValueType = double, typename TMetricTraits = DefaultImageToImageMetricTraitsv4<TFixedImage,TMovingImage,TVirtualImage,TInternalComputationValueType>>
PDFValueType itk::MattesMutualInformationImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits >::m_FixedImageBinSize
protected
template<typename TFixedImage , typename TMovingImage , typename TVirtualImage = TFixedImage, typename TInternalComputationValueType = double, typename TMetricTraits = DefaultImageToImageMetricTraitsv4<TFixedImage,TMovingImage,TVirtualImage,TInternalComputationValueType>>
PDFValueType itk::MattesMutualInformationImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits >::m_FixedImageNormalizedMin
protected
template<typename TFixedImage , typename TMovingImage , typename TVirtualImage = TFixedImage, typename TInternalComputationValueType = double, typename TMetricTraits = DefaultImageToImageMetricTraitsv4<TFixedImage,TMovingImage,TVirtualImage,TInternalComputationValueType>>
PDFValueType itk::MattesMutualInformationImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits >::m_FixedImageTrueMax
protected
template<typename TFixedImage , typename TMovingImage , typename TVirtualImage = TFixedImage, typename TInternalComputationValueType = double, typename TMetricTraits = DefaultImageToImageMetricTraitsv4<TFixedImage,TMovingImage,TVirtualImage,TInternalComputationValueType>>
PDFValueType itk::MattesMutualInformationImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits >::m_FixedImageTrueMin
protected
template<typename TFixedImage , typename TMovingImage , typename TVirtualImage = TFixedImage, typename TInternalComputationValueType = double, typename TMetricTraits = DefaultImageToImageMetricTraitsv4<TFixedImage,TMovingImage,TVirtualImage,TInternalComputationValueType>>
JointPDFDerivativesType::Pointer itk::MattesMutualInformationImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits >::m_JointPDFDerivatives
protected
template<typename TFixedImage , typename TMovingImage , typename TVirtualImage = TFixedImage, typename TInternalComputationValueType = double, typename TMetricTraits = DefaultImageToImageMetricTraitsv4<TFixedImage,TMovingImage,TVirtualImage,TInternalComputationValueType>>
SimpleFastMutexLock itk::MattesMutualInformationImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits >::m_JointPDFDerivativesLock
protected
template<typename TFixedImage , typename TMovingImage , typename TVirtualImage = TFixedImage, typename TInternalComputationValueType = double, typename TMetricTraits = DefaultImageToImageMetricTraitsv4<TFixedImage,TMovingImage,TVirtualImage,TInternalComputationValueType>>
std::vector<OffsetValueType> itk::MattesMutualInformationImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits >::m_JointPdfIndex1DArray
mutableprotected

Helper array for storing per-parameter linearized index to retrieve the pRatio during evaluation with local-support transform.

Definition at line 250 of file itkMattesMutualInformationImageToImageMetricv4.h.

template<typename TFixedImage , typename TMovingImage , typename TVirtualImage = TFixedImage, typename TInternalComputationValueType = double, typename TMetricTraits = DefaultImageToImageMetricTraitsv4<TFixedImage,TMovingImage,TVirtualImage,TInternalComputationValueType>>
PDFValueType itk::MattesMutualInformationImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits >::m_JointPDFSum
protected
template<typename TFixedImage , typename TMovingImage , typename TVirtualImage = TFixedImage, typename TInternalComputationValueType = double, typename TMetricTraits = DefaultImageToImageMetricTraitsv4<TFixedImage,TMovingImage,TVirtualImage,TInternalComputationValueType>>
std::vector<DerivativeType> itk::MattesMutualInformationImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits >::m_LocalDerivativeByParzenBin
mutableprotected

Store the per-point local derivative result by parzen window bin. For local-support transforms only.

Definition at line 349 of file itkMattesMutualInformationImageToImageMetricv4.h.

template<typename TFixedImage , typename TMovingImage , typename TVirtualImage = TFixedImage, typename TInternalComputationValueType = double, typename TMetricTraits = DefaultImageToImageMetricTraitsv4<TFixedImage,TMovingImage,TVirtualImage,TInternalComputationValueType>>
PDFValueType itk::MattesMutualInformationImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits >::m_MovingImageBinSize
protected
template<typename TFixedImage , typename TMovingImage , typename TVirtualImage = TFixedImage, typename TInternalComputationValueType = double, typename TMetricTraits = DefaultImageToImageMetricTraitsv4<TFixedImage,TMovingImage,TVirtualImage,TInternalComputationValueType>>
std::vector<PDFValueType> itk::MattesMutualInformationImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits >::m_MovingImageMarginalPDF
mutableprotected

The moving image marginal PDF.

Definition at line 253 of file itkMattesMutualInformationImageToImageMetricv4.h.

template<typename TFixedImage , typename TMovingImage , typename TVirtualImage = TFixedImage, typename TInternalComputationValueType = double, typename TMetricTraits = DefaultImageToImageMetricTraitsv4<TFixedImage,TMovingImage,TVirtualImage,TInternalComputationValueType>>
PDFValueType itk::MattesMutualInformationImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits >::m_MovingImageNormalizedMin
protected
template<typename TFixedImage , typename TMovingImage , typename TVirtualImage = TFixedImage, typename TInternalComputationValueType = double, typename TMetricTraits = DefaultImageToImageMetricTraitsv4<TFixedImage,TMovingImage,TVirtualImage,TInternalComputationValueType>>
PDFValueType itk::MattesMutualInformationImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits >::m_MovingImageTrueMax
protected
template<typename TFixedImage , typename TMovingImage , typename TVirtualImage = TFixedImage, typename TInternalComputationValueType = double, typename TMetricTraits = DefaultImageToImageMetricTraitsv4<TFixedImage,TMovingImage,TVirtualImage,TInternalComputationValueType>>
PDFValueType itk::MattesMutualInformationImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits >::m_MovingImageTrueMin
protected
template<typename TFixedImage , typename TMovingImage , typename TVirtualImage = TFixedImage, typename TInternalComputationValueType = double, typename TMetricTraits = DefaultImageToImageMetricTraitsv4<TFixedImage,TMovingImage,TVirtualImage,TInternalComputationValueType>>
SizeValueType itk::MattesMutualInformationImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits >::m_NumberOfHistogramBins
protected

Variables to define the marginal and joint histograms.

Definition at line 228 of file itkMattesMutualInformationImageToImageMetricv4.h.

template<typename TFixedImage , typename TMovingImage , typename TVirtualImage = TFixedImage, typename TInternalComputationValueType = double, typename TMetricTraits = DefaultImageToImageMetricTraitsv4<TFixedImage,TMovingImage,TVirtualImage,TInternalComputationValueType>>
PRatioArrayType itk::MattesMutualInformationImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits >::m_PRatioArray
mutableprotected
template<typename TFixedImage , typename TMovingImage , typename TVirtualImage = TFixedImage, typename TInternalComputationValueType = double, typename TMetricTraits = DefaultImageToImageMetricTraitsv4<TFixedImage,TMovingImage,TVirtualImage,TInternalComputationValueType>>
std::vector<DerivativeBufferManager> itk::MattesMutualInformationImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits >::m_ThreaderDerivativeManager
protected
template<typename TFixedImage , typename TMovingImage , typename TVirtualImage = TFixedImage, typename TInternalComputationValueType = double, typename TMetricTraits = DefaultImageToImageMetricTraitsv4<TFixedImage,TMovingImage,TVirtualImage,TInternalComputationValueType>>
std::vector<std::vector<PDFValueType> > itk::MattesMutualInformationImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits >::m_ThreaderFixedImageMarginalPDF
mutableprotected
template<typename TFixedImage , typename TMovingImage , typename TVirtualImage = TFixedImage, typename TInternalComputationValueType = double, typename TMetricTraits = DefaultImageToImageMetricTraitsv4<TFixedImage,TMovingImage,TVirtualImage,TInternalComputationValueType>>
std::vector<typename JointPDFType::Pointer> itk::MattesMutualInformationImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits >::m_ThreaderJointPDF
protected
template<typename TFixedImage , typename TMovingImage , typename TVirtualImage = TFixedImage, typename TInternalComputationValueType = double, typename TMetricTraits = DefaultImageToImageMetricTraitsv4<TFixedImage,TMovingImage,TVirtualImage,TInternalComputationValueType>>
const TMovingImage::ImageDimensionType itk::MattesMutualInformationImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits >::MovingImageDimension = TMovingImage::ImageDimension
static
template<typename TFixedImage , typename TMovingImage , typename TVirtualImage = TFixedImage, typename TInternalComputationValueType = double, typename TMetricTraits = DefaultImageToImageMetricTraitsv4<TFixedImage,TMovingImage,TVirtualImage,TInternalComputationValueType>>
const TVirtualImage::ImageDimensionType itk::MattesMutualInformationImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits >::VirtualImageDimension = TVirtualImage::ImageDimension
static

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