ITK 6.0.0
Insight Toolkit
 
Loading...
Searching...
No Matches
itk::MattesMutualInformationImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits > Class Template Reference

#include <itkMattesMutualInformationImageToImageMetricv4.h>

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 [mattes2001], [74], 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 arbitrary magnitude and dynamic range, the image intensity is scaled such that any contribution to the histogram will fall into a valid bin.

Once the PDF's have been constructed, the mutual information is obtained by double 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 portions of the algorithm implementation.

See ImageToImageMetricv4 for details of common metric operation and options.

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 91 of file itkMattesMutualInformationImageToImageMetricv4.h.

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

Classes

class  DerivativeBufferManager
 

Public Types

using ConstPointer = SmartPointer<const Self>
 
using DerivativeValueType = typename DerivativeType::ValueType
 
using FixedImageGradientType
 
using FixedImageIndexType
 
using FixedImagePixelType
 
using FixedImagePointType
 
using FixedImageType
 
using FixedSampledPointSetPointer
 
using JointPDFDerivativesType = Image<PDFValueType, 3>
 
using JointPDFType = Image<PDFValueType, 2>
 
using MovingImageGradientType
 
using MovingImagePixelType
 
using MovingImagePointType
 
using PDFValueType = TInternalComputationValueType
 
using Pointer = SmartPointer<Self>
 
using Self = MattesMutualInformationImageToImageMetricv4
 
using Superclass
 
using VirtualImageType = typename Superclass::VirtualImageType
 
- Public Types inherited from itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits >
using ConstPointer = SmartPointer<const Self>
 
using DefaultFixedImageGradientCalculator = typename MetricTraits::DefaultFixedImageGradientCalculator
 
using DefaultFixedImageGradientFilter = typename MetricTraits::DefaultFixedImageGradientFilter
 
using DefaultMovingImageGradientCalculator = typename MetricTraits::DefaultMovingImageGradientCalculator
 
using DefaultMovingImageGradientFilter = typename MetricTraits::DefaultMovingImageGradientFilter
 
using DerivativeValueType = typename DerivativeType::ValueType
 
using FixedGradientPixelType = typename MetricTraits::FixedGradientPixelType
 
using FixedImageComponentGradientType
 
using FixedImageConstPointer = typename FixedImageType::ConstPointer
 
using FixedImageGradientCalculatorPointer = typename FixedImageGradientCalculatorType::Pointer
 
using FixedImageGradientCalculatorType = typename MetricTraits::FixedImageGradientCalculatorType
 
using FixedImageGradientFilterPointer = typename FixedImageGradientFilterType::Pointer
 
using FixedImageGradientFilterType = typename MetricTraits::FixedImageGradientFilterType
 
using FixedImageGradientImagePointer = typename FixedImageGradientImageType::Pointer
 
using FixedImageGradientImageType = typename MetricTraits::FixedImageGradientImageType
 
using FixedImageGradientType = typename MetricTraits::FixedImageGradientType
 
using FixedImageIndexType = typename FixedImageType::IndexType
 
using FixedImageMaskConstPointer = typename FixedImageMaskType::ConstPointer
 
using FixedImageMaskPointer = typename FixedImageMaskType::Pointer
 
using FixedImageMaskType = SpatialObject<Self::FixedImageDimension>
 
using FixedImagePixelType = typename FixedImageType::PixelType
 
using FixedImagePointer = typename FixedImageType::Pointer
 
using FixedImagePointType = typename FixedImageType::PointType
 
using FixedImageType = TFixedImage
 
using FixedInterpolatorPointer = typename FixedInterpolatorType::Pointer
 
using FixedInterpolatorType = InterpolateImageFunction<FixedImageType, CoordinateRepresentationType>
 
using FixedPixelType = FixedImagePixelType
 
using FixedRealType = typename MetricTraits::FixedRealType
 
using FixedSampledPointSetConstPointer = typename FixedSampledPointSetType::ConstPointer
 
using FixedSampledPointSetPointer = typename FixedSampledPointSetType::Pointer
 
using FixedSampledPointSetType = PointSet<typename FixedImageType::PixelType, Self::FixedImageDimension>
 
using FixedScalarRealType = typename NumericTraits<FixedRealType>::ScalarRealType
 
typedef itk::ObjectToObjectMetricBaseTemplateEnums::GradientSource GradientSourceEnum
 
using ImageDimensionType = typename Superclass::DimensionType
 
using InternalComputationValueType = TInternalComputationValueType
 
using MetricTraits = TMetricTraits
 
using MovingGradientPixelType = typename MetricTraits::MovingGradientPixelType
 
using MovingImageComponentGradientType
 
using MovingImageConstPointer = typename MovingImageType::ConstPointer
 
using MovingImageGradientCalculatorPointer = typename MovingImageGradientCalculatorType::Pointer
 
using MovingImageGradientCalculatorType = typename MetricTraits::MovingImageGradientCalculatorType
 
using MovingImageGradientFilterPointer = typename MovingImageGradientFilterType::Pointer
 
using MovingImageGradientFilterType = typename MetricTraits::MovingImageGradientFilterType
 
using MovingImageGradientImagePointer = typename MovingImageGradientImageType::Pointer
 
using MovingImageGradientImageType = typename MetricTraits::MovingImageGradientImageType
 
using MovingImageGradientType = typename MetricTraits::MovingImageGradientType
 
using MovingImageIndexType = typename MovingImageType::IndexType
 
using MovingImageMaskConstPointer = typename MovingImageMaskType::ConstPointer
 
using MovingImageMaskPointer = typename MovingImageMaskType::Pointer
 
using MovingImageMaskType = SpatialObject<Self::MovingImageDimension>
 
using MovingImagePixelType = typename MovingImageType::PixelType
 
using MovingImagePointer = typename MovingImageType::Pointer
 
using MovingImagePointType = typename MovingImageType::PointType
 
using MovingImageRegionType = typename MovingImageType::RegionType
 
using MovingImageType = TMovingImage
 
using MovingInterpolatorPointer = typename MovingInterpolatorType::Pointer
 
using MovingInterpolatorType = InterpolateImageFunction<MovingImageType, CoordinateRepresentationType>
 
using MovingPixelType = MovingImagePixelType
 
using MovingRealType = typename MetricTraits::MovingRealType
 
using MovingScalarRealType = typename NumericTraits<MovingRealType>::ScalarRealType
 
typedef unsigned int NumberOfParametersType
 
using ObjectType = typename Superclass::ObjectType
 
using Pointer = SmartPointer<Self>
 
using Self = ImageToImageMetricv4
 
using Superclass
 
using VirtualImageComponentGradientType
 
using VirtualImageGradientType = typename MetricTraits::VirtualImageGradientType
 
using VirtualImageType = typename Superclass::VirtualImageType
 
using VirtualOriginType = typename Superclass::VirtualPointType
 
using VirtualRadiusType = typename Superclass::VirtualSizeType
 
- Public Types inherited from itk::ObjectToObjectMetric< TFixedImage::ImageDimension, TMovingImage::ImageDimension, TFixedImage, double >
using ConstPointer
 
using CoordinateRepresentationType
 
typedef typename DerivativeType::ValueType DerivativeValueType
 
using DerivativeValueType
 
using DimensionType
 
using FixedInputPointType
 
using FixedOutputPointType
 
using FixedTransformJacobianType
 
using FixedTransformParametersType
 
using FixedTransformPointer
 
using FixedTransformType
 
typedef itk::ObjectToObjectMetricBaseTemplateEnums::GradientSource GradientSourceEnum
 
using GradientSourceEnum
 
using InternalComputationValueType
 
using JacobianType
 
using MetricCategoryType
 
using MovingDisplacementFieldTransformType
 
using MovingInputPointType
 
using MovingOutputPointType
 
using MovingTransformJacobianType
 
using MovingTransformParametersType
 
using MovingTransformPointer
 
using MovingTransformType
 
typedef unsigned int NumberOfParametersType
 
using NumberOfParametersType
 
using ObjectType
 
using Pointer
 
using Self
 
using Superclass
 
using VirtualDirectionType
 
using VirtualImageConstPointer
 
using VirtualImagePointer
 
using VirtualImageType
 
using VirtualIndexType
 
using VirtualOriginType
 
using VirtualPixelType
 
using VirtualPointSetPointer
 
using VirtualPointSetType
 
using VirtualPointType
 
using VirtualRadiusType
 
using VirtualRegionType
 
using VirtualSizeType
 
using VirtualSpacingType
 
- Public Types inherited from itk::ObjectToObjectMetricBaseTemplate< double >
using ConstPointer
 
using CoordinateRepresentationType
 
typedef Array< double > DerivativeType
 
using DerivativeType
 
using DerivativeValueType
 
using GradientSourceEnum
 
typedef double MeasureType
 
using MeasureType
 
using MetricCategoryEnum
 
using NumberOfParametersType
 
using ObjectConstPointer
 
using ObjectType
 
using ParametersValueType
 
using Pointer
 
using Self
 
using Superclass
 
- Public Types inherited from itk::SingleValuedCostFunctionv4Template< double >
using ConstPointer
 
using DerivativeType
 
using MeasureType
 
typedef OptimizerParameters< double > ParametersType
 
using ParametersType
 
using Pointer
 
using Self
 
using Superclass
 
- Public Types inherited from itk::CostFunctionTemplate< double >
using ConstPointer
 
using ParametersType
 
using ParametersValueType
 
using Pointer
 
using Self
 
using Superclass
 
- Public Types inherited from itk::Object
using ConstPointer = SmartPointer<const Self>
 
using Pointer = SmartPointer<Self>
 
using Self = Object
 
using Superclass = LightObject
 
- Public Types inherited from itk::LightObject
using ConstPointer = SmartPointer<const Self>
 
using Pointer = SmartPointer<Self>
 
using Self = LightObject
 

Public Member Functions

virtual::itk::LightObject::Pointer CreateAnother () const
 
void FinalizeThread (const ThreadIdType threadId) override
 
const JointPDFDerivativesType::Pointer GetJointPDFDerivatives () const
 
const char * GetNameOfClass () const override
 
void Initialize () override
 
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 >
void GetDerivative (DerivativeType &) const override
 
virtual const FixedImageTypeGetFixedImage () const
 
virtual const FixedImageGradientImageTypeGetFixedImageGradientImage () const
 
virtual const FixedInterpolatorTypeGetFixedInterpolator () const
 
MetricCategoryType GetMetricCategory () const override
 
virtual FixedImageGradientImageTypeGetModifiableFixedImageGradientImage ()
 
virtual FixedInterpolatorTypeGetModifiableFixedInterpolator ()
 
virtual MovingImageGradientImageTypeGetModifiableMovingImageGradientImage ()
 
virtual MovingInterpolatorTypeGetModifiableMovingInterpolator ()
 
virtual const MovingImageGradientImageTypeGetMovingImageGradientImage () const
 
virtual const MovingInterpolatorTypeGetMovingInterpolator () const
 
SizeValueType GetNumberOfDomainPoints () const
 
virtual const SizeValueTypeGetNumberOfSkippedFixedSampledPoints () const
 
virtual ThreadIdType GetNumberOfWorkUnitsUsed () const
 
MeasureType GetValue () const override
 
void GetValueAndDerivative (MeasureType &value, DerivativeType &derivative) const override
 
virtual void SetFixedImage (const FixedImageType *_arg)
 
virtual void SetFixedInterpolator (FixedInterpolatorType *_arg)
 
virtual void SetMovingInterpolator (MovingInterpolatorType *_arg)
 
bool SupportsArbitraryVirtualDomainSamples () const override
 
void SetFixedObject (const ObjectType *object) override
 
void SetMovingObject (const ObjectType *object) override
 
virtual void SetMovingImage (const MovingImageType *_arg)
 
virtual const MovingImageTypeGetMovingImage () const
 
virtual void SetMovingImageMask (const MovingImageMaskType *_arg)
 
virtual const MovingImageMaskTypeGetMovingImageMask () const
 
virtual void SetFixedImageMask (const FixedImageMaskType *_arg)
 
virtual const FixedImageMaskTypeGetFixedImageMask () const
 
virtual void SetFixedSampledPointSet (const FixedSampledPointSetType *_arg)
 
virtual const FixedSampledPointSetTypeGetFixedSampledPointSet () const
 
virtual void SetVirtualSampledPointSet (VirtualPointSetType *_arg)
 
virtual const VirtualPointSetTypeGetVirtualSampledPointSet () const
 
virtual void SetUseSampledPointSet (bool _arg)
 
virtual const bool & GetUseSampledPointSet () const
 
virtual void UseSampledPointSetOn ()
 
virtual void UseSampledPointSetOff ()
 
virtual void SetUseVirtualSampledPointSet (bool _arg)
 
virtual const bool & GetUseVirtualSampledPointSet () const
 
virtual void UseVirtualSampledPointSetOn ()
 
virtual void UseVirtualSampledPointSetOff ()
 
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 SetMaximumNumberOfWorkUnits (const ThreadIdType number)
 
virtual ThreadIdType GetMaximumNumberOfWorkUnits () 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, TFixedImage, double >
OffsetValueType ComputeParameterOffsetFromVirtualIndex (const VirtualIndexType &index, const NumberOfParametersType &numberOfLocalParameters) const
 
OffsetValueType ComputeParameterOffsetFromVirtualPoint (const VirtualPointType &point, const NumberOfParametersType &numberOfLocalParameters) const
 
virtual const FixedTransformTypeGetFixedTransform () const
 
MetricCategoryType GetMetricCategory () const override
 
virtual FixedTransformTypeGetModifiableFixedTransform ()
 
virtual MovingTransformTypeGetModifiableMovingTransform ()
 
virtual VirtualImageTypeGetModifiableVirtualImage ()
 
virtual const MovingTransformTypeGetMovingTransform () const
 
const char * GetNameOfClass () const override
 
NumberOfParametersType GetNumberOfLocalParameters () const override
 
NumberOfParametersType GetNumberOfParameters () const override
 
virtual SizeValueType GetNumberOfValidPoints () const
 
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
 
bool HasLocalSupport () const override
 
void Initialize () override
 
virtual void SetFixedTransform (FixedTransformType *_arg)
 
virtual void SetMovingTransform (MovingTransformType *_arg)
 
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)
 
void UpdateTransformParameters (const DerivativeType &derivative, double factor) override
 
bool IsInsideVirtualDomain (const VirtualPointType &point) const
 
bool IsInsideVirtualDomain (const VirtualIndexType &index) const
 
- Public Member Functions inherited from itk::ObjectToObjectMetricBaseTemplate< double >
MeasureType GetCurrentValue () const
 
MeasureType GetCurrentValue () const
 
virtual GradientSourceEnum GetGradientSource () const
 
virtual GradientSourceEnum GetGradientSource () const
 
bool GetGradientSourceIncludesFixed () const
 
bool GetGradientSourceIncludesFixed () const
 
bool GetGradientSourceIncludesMoving () const
 
bool GetGradientSourceIncludesMoving () const
 
const char * GetNameOfClass () const override
 
const char * GetNameOfClass () const override
 
virtual void SetGradientSource (GradientSourceEnum _arg)
 
virtual void SetGradientSource (GradientSourceEnum _arg)
 
virtual void SetFixedObject (const ObjectType *_arg)
 
virtual const ObjectTypeGetFixedObject () const
 
virtual void SetFixedObject (const ObjectType *_arg)
 
virtual const ObjectTypeGetFixedObject () const
 
virtual void SetMovingObject (const ObjectType *_arg)
 
virtual const ObjectTypeGetMovingObject () const
 
virtual void SetMovingObject (const ObjectType *_arg)
 
virtual const ObjectTypeGetMovingObject () const
 
- Public Member Functions inherited from itk::SingleValuedCostFunctionv4Template< double >
const char * GetNameOfClass () const override
 
const char * GetNameOfClass () const override
 
- Public Member Functions inherited from itk::Object
unsigned long AddObserver (const EventObject &event, Command *cmd) const
 
unsigned long AddObserver (const EventObject &event, std::function< void(const EventObject &)> function) const
 
LightObject::Pointer CreateAnother () const override
 
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
 
void Register () const override
 
void RemoveAllObservers ()
 
void RemoveObserver (unsigned long tag) const
 
void SetDebug (bool debugFlag) const
 
void SetReferenceCount (int) override
 
void UnRegister () const noexcept override
 
void SetMetaDataDictionary (const MetaDataDictionary &rhs)
 
void SetMetaDataDictionary (MetaDataDictionary &&rrhs)
 
virtual void SetObjectName (std::string _arg)
 
virtual const std::string & GetObjectName () const
 
- Public Member Functions inherited from itk::LightObject
Pointer Clone () const
 
virtual void Delete ()
 
virtual int GetReferenceCount () const
 
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 val)
 
- Static Public Member Functions inherited from itk::LightObject
static void BreakOnError ()
 
static Pointer New ()
 

Static Public Attributes

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

Protected Types

using CubicBSplineDerivativeFunctionType = BSplineDerivativeKernelFunction<3, PDFValueType>
 
using CubicBSplineFunctionType = BSplineKernelFunction<3, PDFValueType>
 
using JointPDFDerivativesIndexType = typename JointPDFDerivativesType::IndexType
 
using JointPDFDerivativesRegionType = typename JointPDFDerivativesType::RegionType
 
using JointPDFDerivativesSizeType = typename JointPDFDerivativesType::SizeType
 
using JointPDFDerivativesValueType = typename JointPDFDerivativesType::PixelType
 
using JointPDFIndexType = typename JointPDFType::IndexType
 
using JointPDFRegionType = typename JointPDFType::RegionType
 
using JointPDFSizeType = typename JointPDFType::SizeType
 
using JointPDFValueType = typename JointPDFType::PixelType
 
using MattesMutualInformationDenseGetValueAndDerivativeThreaderType
 
using MattesMutualInformationSparseGetValueAndDerivativeThreaderType
 
using PRatioArrayType = std::vector<PRatioType>
 
using PRatioType = PDFValueType
 
- Protected Types inherited from itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits >
using FixedImageGradientInterpolatorType
 
using MovingImageGradientInterpolatorType
 

Protected Member Functions

OffsetValueType ComputeSingleFixedImageParzenWindowIndex (const FixedImagePixelType &value) const
 
virtual void GetValueCommonAfterThreadedExecution ()
 
 MattesMutualInformationImageToImageMetricv4 ()
 
void PrintSelf (std::ostream &os, Indent indent) const override
 
 ~MattesMutualInformationImageToImageMetricv4 () override=default
 
- 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
 
 ~ImageToImageMetricv4 () override=default
 
virtual void InitializeDefaultFixedImageGradientFilter ()
 
virtual void InitializeDefaultMovingImageGradientFilter ()
 
- Protected Member Functions inherited from itk::ObjectToObjectMetric< TFixedImage::ImageDimension, TMovingImage::ImageDimension, TFixedImage, double >
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
 
 ~ObjectToObjectMetric () override=default
 
- Protected Member Functions inherited from itk::ObjectToObjectMetricBaseTemplate< double >
 ObjectToObjectMetricBaseTemplate ()
 
 ObjectToObjectMetricBaseTemplate ()
 
void PrintSelf (std::ostream &os, Indent indent) const override
 
void PrintSelf (std::ostream &os, Indent indent) const override
 
 ~ObjectToObjectMetricBaseTemplate () override=default
 
 ~ObjectToObjectMetricBaseTemplate () override=default
 
- Protected Member Functions inherited from itk::SingleValuedCostFunctionv4Template< double >
 SingleValuedCostFunctionv4Template ()=default
 
 SingleValuedCostFunctionv4Template ()=default
 
 ~SingleValuedCostFunctionv4Template () override=default
 
 ~SingleValuedCostFunctionv4Template () override=default
 
- Protected Member Functions inherited from itk::CostFunctionTemplate< double >
 CostFunctionTemplate ()=default
 
 CostFunctionTemplate ()=default
 
 ~CostFunctionTemplate () override=default
 
 ~CostFunctionTemplate () override=default
 
- Protected Member Functions inherited from itk::Object
 Object ()
 
bool PrintObservers (std::ostream &os, Indent indent) const
 
virtual void SetTimeStamp (const TimeStamp &timeStamp)
 
 ~Object () override
 
- 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

PDFValueType m_FixedImageBinSize {}
 
PDFValueType m_FixedImageNormalizedMin {}
 
PDFValueType m_FixedImageTrueMax {}
 
PDFValueType m_FixedImageTrueMin {}
 
JointPDFDerivativesType::Pointer m_JointPDFDerivatives {}
 
std::mutex 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 { 50 }
 
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_UseMovingImageGradientFilter {}
 
bool m_UseSampledPointSet {}
 
bool m_UseVirtualSampledPointSet {}
 
VirtualPointSetPointer m_VirtualSampledPointSet {}
 
- Protected Attributes inherited from itk::ObjectToObjectMetric< TFixedImage::ImageDimension, TMovingImage::ImageDimension, TFixedImage, double >
FixedTransformPointer m_FixedTransform
 
MovingTransformPointer m_MovingTransform
 
SizeValueType m_NumberOfValidPoints
 
bool m_UserHasSetVirtualDomain
 
VirtualImagePointer m_VirtualImage
 
- Protected Attributes inherited from itk::ObjectToObjectMetricBaseTemplate< double >
ObjectConstPointer m_FixedObject
 
ObjectConstPointer m_FixedObject
 
GradientSourceEnum m_GradientSource
 
GradientSourceEnum m_GradientSource
 
ObjectConstPointer m_MovingObject
 
ObjectConstPointer m_MovingObject
 
MeasureType m_Value
 
MeasureType m_Value
 
- Protected Attributes inherited from itk::LightObject
std::atomic< int > m_ReferenceCount {}
 

Private Member Functions

virtual void ComputeResults () const
 

Friends

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

Member Typedef Documentation

◆ ConstPointer

template<typename TFixedImage, typename TMovingImage, typename TVirtualImage = TFixedImage, typename TInternalComputationValueType = double, typename TMetricTraits = DefaultImageToImageMetricTraitsv4<TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType>>
using itk::MattesMutualInformationImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits >::ConstPointer = SmartPointer<const Self>

◆ CubicBSplineDerivativeFunctionType

template<typename TFixedImage, typename TMovingImage, typename TVirtualImage = TFixedImage, typename TInternalComputationValueType = double, typename TMetricTraits = DefaultImageToImageMetricTraitsv4<TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType>>
using itk::MattesMutualInformationImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits >::CubicBSplineDerivativeFunctionType = BSplineDerivativeKernelFunction<3, PDFValueType>
protected

◆ CubicBSplineFunctionType

template<typename TFixedImage, typename TMovingImage, typename TVirtualImage = TFixedImage, typename TInternalComputationValueType = double, typename TMetricTraits = DefaultImageToImageMetricTraitsv4<TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType>>
using itk::MattesMutualInformationImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits >::CubicBSplineFunctionType = BSplineKernelFunction<3, PDFValueType>
protected

Typedefs for BSpline kernel and derivative functions.

Definition at line 226 of file itkMattesMutualInformationImageToImageMetricv4.h.

◆ DerivativeValueType

template<typename TFixedImage, typename TMovingImage, typename TVirtualImage = TFixedImage, typename TInternalComputationValueType = double, typename TMetricTraits = DefaultImageToImageMetricTraitsv4<TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType>>
using itk::MattesMutualInformationImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits >::DerivativeValueType = typename DerivativeType::ValueType

◆ FixedImageGradientType

template<typename TFixedImage, typename TMovingImage, typename TVirtualImage = TFixedImage, typename TInternalComputationValueType = double, typename TMetricTraits = DefaultImageToImageMetricTraitsv4<TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType>>
using itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits >::FixedImageGradientType

Image derivatives types

Definition at line 297 of file itkImageToImageMetricv4.h.

◆ FixedImageIndexType

template<typename TFixedImage, typename TMovingImage, typename TVirtualImage = TFixedImage, typename TInternalComputationValueType = double, typename TMetricTraits = DefaultImageToImageMetricTraitsv4<TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType>>
using itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits >::FixedImageIndexType

Definition at line 240 of file itkImageToImageMetricv4.h.

◆ FixedImagePixelType

template<typename TFixedImage, typename TMovingImage, typename TVirtualImage = TFixedImage, typename TInternalComputationValueType = double, typename TMetricTraits = DefaultImageToImageMetricTraitsv4<TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType>>
using itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits >::FixedImagePixelType

Definition at line 235 of file itkImageToImageMetricv4.h.

◆ FixedImagePointType

template<typename TFixedImage, typename TMovingImage, typename TVirtualImage = TFixedImage, typename TInternalComputationValueType = double, typename TMetricTraits = DefaultImageToImageMetricTraitsv4<TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType>>
using itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits >::FixedImagePointType

Definition at line 239 of file itkImageToImageMetricv4.h.

◆ FixedImageType

template<typename TFixedImage, typename TMovingImage, typename TVirtualImage = TFixedImage, typename TInternalComputationValueType = double, typename TMetricTraits = DefaultImageToImageMetricTraitsv4<TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType>>
using itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits >::FixedImageType

Image-accessor type alias

Definition at line 234 of file itkImageToImageMetricv4.h.

◆ FixedSampledPointSetPointer

template<typename TFixedImage, typename TMovingImage, typename TVirtualImage = TFixedImage, typename TInternalComputationValueType = double, typename TMetricTraits = DefaultImageToImageMetricTraitsv4<TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType>>
using itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits >::FixedSampledPointSetPointer

Definition at line 287 of file itkImageToImageMetricv4.h.

◆ JointPDFDerivativesIndexType

template<typename TFixedImage, typename TMovingImage, typename TVirtualImage = TFixedImage, typename TInternalComputationValueType = double, typename TMetricTraits = DefaultImageToImageMetricTraitsv4<TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType>>
using itk::MattesMutualInformationImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits >::JointPDFDerivativesIndexType = typename JointPDFDerivativesType::IndexType
protected

◆ JointPDFDerivativesRegionType

template<typename TFixedImage, typename TMovingImage, typename TVirtualImage = TFixedImage, typename TInternalComputationValueType = double, typename TMetricTraits = DefaultImageToImageMetricTraitsv4<TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType>>
using itk::MattesMutualInformationImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits >::JointPDFDerivativesRegionType = typename JointPDFDerivativesType::RegionType
protected

◆ JointPDFDerivativesSizeType

template<typename TFixedImage, typename TMovingImage, typename TVirtualImage = TFixedImage, typename TInternalComputationValueType = double, typename TMetricTraits = DefaultImageToImageMetricTraitsv4<TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType>>
using itk::MattesMutualInformationImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits >::JointPDFDerivativesSizeType = typename JointPDFDerivativesType::SizeType
protected

◆ JointPDFDerivativesType

template<typename TFixedImage, typename TMovingImage, typename TVirtualImage = TFixedImage, typename TInternalComputationValueType = double, typename TMetricTraits = DefaultImageToImageMetricTraitsv4<TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType>>
using itk::MattesMutualInformationImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits >::JointPDFDerivativesType = Image<PDFValueType, 3>

◆ JointPDFDerivativesValueType

template<typename TFixedImage, typename TMovingImage, typename TVirtualImage = TFixedImage, typename TInternalComputationValueType = double, typename TMetricTraits = DefaultImageToImageMetricTraitsv4<TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType>>
using itk::MattesMutualInformationImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits >::JointPDFDerivativesValueType = typename JointPDFDerivativesType::PixelType
protected

◆ JointPDFIndexType

template<typename TFixedImage, typename TMovingImage, typename TVirtualImage = TFixedImage, typename TInternalComputationValueType = double, typename TMetricTraits = DefaultImageToImageMetricTraitsv4<TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType>>
using itk::MattesMutualInformationImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits >::JointPDFIndexType = typename JointPDFType::IndexType
protected

◆ JointPDFRegionType

template<typename TFixedImage, typename TMovingImage, typename TVirtualImage = TFixedImage, typename TInternalComputationValueType = double, typename TMetricTraits = DefaultImageToImageMetricTraitsv4<TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType>>
using itk::MattesMutualInformationImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits >::JointPDFRegionType = typename JointPDFType::RegionType
protected

◆ JointPDFSizeType

template<typename TFixedImage, typename TMovingImage, typename TVirtualImage = TFixedImage, typename TInternalComputationValueType = double, typename TMetricTraits = DefaultImageToImageMetricTraitsv4<TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType>>
using itk::MattesMutualInformationImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits >::JointPDFSizeType = typename JointPDFType::SizeType
protected

◆ JointPDFType

template<typename TFixedImage, typename TMovingImage, typename TVirtualImage = TFixedImage, typename TInternalComputationValueType = double, typename TMetricTraits = DefaultImageToImageMetricTraitsv4<TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType>>
using itk::MattesMutualInformationImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits >::JointPDFType = Image<PDFValueType, 2>

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

Definition at line 158 of file itkMattesMutualInformationImageToImageMetricv4.h.

◆ JointPDFValueType

template<typename TFixedImage, typename TMovingImage, typename TVirtualImage = TFixedImage, typename TInternalComputationValueType = double, typename TMetricTraits = DefaultImageToImageMetricTraitsv4<TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType>>
using itk::MattesMutualInformationImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits >::JointPDFValueType = typename JointPDFType::PixelType
protected

◆ MattesMutualInformationDenseGetValueAndDerivativeThreaderType

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

◆ MattesMutualInformationSparseGetValueAndDerivativeThreaderType

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

◆ MovingImageGradientType

template<typename TFixedImage, typename TMovingImage, typename TVirtualImage = TFixedImage, typename TInternalComputationValueType = double, typename TMetricTraits = DefaultImageToImageMetricTraitsv4<TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType>>
using itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits >::MovingImageGradientType

Definition at line 298 of file itkImageToImageMetricv4.h.

◆ MovingImagePixelType

template<typename TFixedImage, typename TMovingImage, typename TVirtualImage = TFixedImage, typename TInternalComputationValueType = double, typename TMetricTraits = DefaultImageToImageMetricTraitsv4<TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType>>
using itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits >::MovingImagePixelType

Definition at line 242 of file itkImageToImageMetricv4.h.

◆ MovingImagePointType

template<typename TFixedImage, typename TMovingImage, typename TVirtualImage = TFixedImage, typename TInternalComputationValueType = double, typename TMetricTraits = DefaultImageToImageMetricTraitsv4<TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType>>
using itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits >::MovingImagePointType

Definition at line 246 of file itkImageToImageMetricv4.h.

◆ PDFValueType

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

The marginal PDFs are stored as std::vector.

Definition at line 155 of file itkMattesMutualInformationImageToImageMetricv4.h.

◆ Pointer

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

◆ PRatioArrayType

template<typename TFixedImage, typename TMovingImage, typename TVirtualImage = TFixedImage, typename TInternalComputationValueType = double, typename TMetricTraits = DefaultImageToImageMetricTraitsv4<TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType>>
using itk::MattesMutualInformationImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits >::PRatioArrayType = std::vector<PRatioType>
protected

◆ PRatioType

template<typename TFixedImage, typename TMovingImage, typename TVirtualImage = TFixedImage, typename TInternalComputationValueType = double, typename TMetricTraits = DefaultImageToImageMetricTraitsv4<TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType>>
using itk::MattesMutualInformationImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits >::PRatioType = PDFValueType
protected

Helper array for storing the values of the JointPDF ratios.

Definition at line 249 of file itkMattesMutualInformationImageToImageMetricv4.h.

◆ Self

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

Standard class type aliases.

Definition at line 98 of file itkMattesMutualInformationImageToImageMetricv4.h.

◆ Superclass

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

◆ VirtualImageType

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

Constructor & Destructor Documentation

◆ MattesMutualInformationImageToImageMetricv4()

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

◆ ~MattesMutualInformationImageToImageMetricv4()

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

Member Function Documentation

◆ ComputeResults()

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

◆ ComputeSingleFixedImageParzenWindowIndex()

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

◆ CreateAnother()

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::LightObject.

◆ FinalizeThread()

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 >::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 >.

◆ GetJointPDF()

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

Get the internal JointPDF image that was used in creating the metric value.

Definition at line 166 of file itkMattesMutualInformationImageToImageMetricv4.h.

References m_ThreaderJointPDF.

◆ GetJointPDFDerivatives()

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

Get the internal JointPDFDeriviative image that was used in creating the metric derivative value. This is only created when a global support transform is used, and derivatives are requested.

Definition at line 183 of file itkMattesMutualInformationImageToImageMetricv4.h.

References m_JointPDFDerivatives.

◆ GetNameOfClass()

template<typename TFixedImage, typename TMovingImage, typename TVirtualImage = TFixedImage, typename TInternalComputationValueType = double, typename TMetricTraits = DefaultImageToImageMetricTraitsv4<TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType>>
const char * itk::MattesMutualInformationImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits >::GetNameOfClass ( ) const
overridevirtual

◆ GetNumberOfHistogramBins()

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.

◆ GetValueCommonAfterThreadedExecution()

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.

References GetValueCommonAfterThreadedExecution().

Referenced by GetValueCommonAfterThreadedExecution().

◆ Initialize()

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 >::Initialize ( )
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 >.

◆ New()

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.

◆ PrintSelf()

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 >.

References PrintSelf().

Referenced by PrintSelf().

◆ SetNumberOfHistogramBins()

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.

References itk::NumericTraits< T >::max().

Friends And Related Symbol Documentation

◆ MattesMutualInformationImageToImageMetricv4GetValueAndDerivativeThreader< ThreadedImageRegionPartitioner< Superclass::VirtualImageDimension >, Superclass, Self >

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

◆ MattesMutualInformationImageToImageMetricv4GetValueAndDerivativeThreader< ThreadedIndexedContainerPartitioner, Superclass, Self >

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

◆ FixedImageDimension

template<typename TFixedImage, typename TMovingImage, typename TVirtualImage = TFixedImage, typename TInternalComputationValueType = double, typename TMetricTraits = DefaultImageToImageMetricTraitsv4<TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType>>
TFixedImage::ImageDimensionType itk::MattesMutualInformationImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits >::FixedImageDimension = TFixedImage::ImageDimension
staticconstexpr

◆ m_FixedImageBinSize

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

◆ m_FixedImageNormalizedMin

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

◆ m_FixedImageTrueMax

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

◆ m_FixedImageTrueMin

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

◆ m_JointPDFDerivatives

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

◆ m_JointPDFDerivativesLock

template<typename TFixedImage, typename TMovingImage, typename TVirtualImage = TFixedImage, typename TInternalComputationValueType = double, typename TMetricTraits = DefaultImageToImageMetricTraitsv4<TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType>>
std::mutex itk::MattesMutualInformationImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits >::m_JointPDFDerivativesLock {}
protected

◆ m_JointPdfIndex1DArray

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 256 of file itkMattesMutualInformationImageToImageMetricv4.h.

◆ m_JointPDFSum

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

◆ m_LocalDerivativeByParzenBin

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 360 of file itkMattesMutualInformationImageToImageMetricv4.h.

◆ m_MovingImageBinSize

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

◆ m_MovingImageMarginalPDF

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 259 of file itkMattesMutualInformationImageToImageMetricv4.h.

◆ m_MovingImageNormalizedMin

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

◆ m_MovingImageTrueMax

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

◆ m_MovingImageTrueMin

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

◆ m_NumberOfHistogramBins

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 { 50 }
protected

Variables to define the marginal and joint histograms.

Definition at line 238 of file itkMattesMutualInformationImageToImageMetricv4.h.

◆ m_PRatioArray

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

◆ m_ThreaderDerivativeManager

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

◆ m_ThreaderFixedImageMarginalPDF

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

◆ m_ThreaderJointPDF

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

The joint PDF and PDF derivatives.

Definition at line 263 of file itkMattesMutualInformationImageToImageMetricv4.h.

Referenced by GetJointPDF().

◆ MovingImageDimension

template<typename TFixedImage, typename TMovingImage, typename TVirtualImage = TFixedImage, typename TInternalComputationValueType = double, typename TMetricTraits = DefaultImageToImageMetricTraitsv4<TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType>>
TMovingImage::ImageDimensionType itk::MattesMutualInformationImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits >::MovingImageDimension = TMovingImage::ImageDimension
staticconstexpr

◆ VirtualImageDimension

template<typename TFixedImage, typename TMovingImage, typename TVirtualImage = TFixedImage, typename TInternalComputationValueType = double, typename TMetricTraits = DefaultImageToImageMetricTraitsv4<TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType>>
TVirtualImage::ImageDimensionType itk::MattesMutualInformationImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits >::VirtualImageDimension = TVirtualImage::ImageDimension
staticconstexpr

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