ITK  5.2.0
Insight Toolkit
Classes | Public Types | Public Member Functions | Static Public Member Functions | Static Public Attributes | 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 >:

Classes

class  DerivativeBufferManager
 

Public Types

using ConstPointer = SmartPointer< const Self >
 
using DerivativeType = typename Superclass::DerivativeType
 
using DerivativeValueType = typename DerivativeType::ValueType
 
using FixedImageGradientType = typename Superclass::FixedImageGradientType
 
using FixedImageIndexType = typename Superclass::FixedImageIndexType
 
using FixedImagePixelType = typename Superclass::FixedImagePixelType
 
using FixedImagePointType = typename Superclass::FixedImagePointType
 
using FixedImageType = typename Superclass::FixedImageType
 
using FixedSampledPointSetPointer = typename Superclass::FixedSampledPointSetPointer
 
using JacobianType = typename Superclass::JacobianType
 
using MeasureType = typename Superclass::MeasureType
 
using MovingImageGradientType = typename Superclass::MovingImageGradientType
 
using MovingImagePixelType = typename Superclass::MovingImagePixelType
 
using MovingImagePointType = typename Superclass::MovingImagePointType
 
using MovingTransformType = typename Superclass::MovingTransformType
 
using Pointer = SmartPointer< Self >
 
using Self = MattesMutualInformationImageToImageMetricv4
 
using Superclass = ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits >
 
using VirtualImageType = typename Superclass::VirtualImageType
 
using VirtualIndexType = typename Superclass::VirtualIndexType
 
using VirtualPointSetType = typename Superclass::VirtualPointSetType
 
using VirtualPointType = typename Superclass::VirtualPointType
 
- Public Types inherited from itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits >
using ConstPointer = SmartPointer< const Self >
 
using CoordinateRepresentationType = typename Superclass::CoordinateRepresentationType
 
using DefaultFixedImageGradientCalculator = typename MetricTraits::DefaultFixedImageGradientCalculator
 
using DefaultFixedImageGradientFilter = typename MetricTraits::DefaultFixedImageGradientFilter
 
using DefaultMovingImageGradientCalculator = typename MetricTraits::DefaultMovingImageGradientCalculator
 
using DefaultMovingImageGradientFilter = typename MetricTraits::DefaultMovingImageGradientFilter
 
using DerivativeType = typename Superclass::DerivativeType
 
using DerivativeValueType = typename DerivativeType::ValueType
 
using DimensionType = typename Superclass::DimensionType
 
using FixedGradientPixelType = typename MetricTraits::FixedGradientPixelType
 
using FixedImageComponentGradientType = CovariantVector< typename FixedImageGradientType::ValueType, FixedImageDimension >
 
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 FixedInputPointType = typename Superclass::FixedInputPointType
 
using FixedInterpolatorPointer = typename FixedInterpolatorType::Pointer
 
using FixedInterpolatorType = InterpolateImageFunction< FixedImageType, CoordinateRepresentationType >
 
using FixedOutputPointType = typename Superclass::FixedOutputPointType
 
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
 
using FixedTransformJacobianType = typename Superclass::FixedTransformJacobianType
 
using FixedTransformParametersType = typename Superclass::FixedTransformParametersType
 
using FixedTransformPointer = typename Superclass::FixedTransformPointer
 
using FixedTransformType = typename Superclass::FixedTransformType
 
using GradientSourceEnum = typename Superclass::GradientSourceEnum
 
using ImageDimensionType = typename Superclass::DimensionType
 
using InternalComputationValueType = TInternalComputationValueType
 
using JacobianType = typename Superclass::JacobianType
 
using MeasureType = typename Superclass::MeasureType
 
using MetricTraits = TMetricTraits
 
using MovingGradientPixelType = typename MetricTraits::MovingGradientPixelType
 
using MovingImageComponentGradientType = CovariantVector< typename MovingImageGradientType::ValueType, MovingImageDimension >
 
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 MovingInputPointType = typename Superclass::MovingInputPointType
 
using MovingInterpolatorPointer = typename MovingInterpolatorType::Pointer
 
using MovingInterpolatorType = InterpolateImageFunction< MovingImageType, CoordinateRepresentationType >
 
using MovingOutputPointType = typename Superclass::MovingOutputPointType
 
using MovingPixelType = MovingImagePixelType
 
using MovingRealType = typename MetricTraits::MovingRealType
 
using MovingScalarRealType = typename NumericTraits< MovingRealType >::ScalarRealType
 
using MovingTransformJacobianType = typename Superclass::MovingTransformJacobianType
 
using MovingTransformParametersType = typename Superclass::MovingTransformParametersType
 
using MovingTransformPointer = typename Superclass::MovingTransformPointer
 
using MovingTransformType = typename Superclass::MovingTransformType
 
using NumberOfParametersType = typename Superclass::NumberOfParametersType
 
using ObjectType = typename Superclass::ObjectType
 
using ParametersType = typename Superclass::ParametersType
 
using ParametersValueType = typename Superclass::ParametersValueType
 
using Pointer = SmartPointer< Self >
 
using Self = ImageToImageMetricv4
 
using Superclass = ObjectToObjectMetric< TFixedImage::ImageDimension, TMovingImage::ImageDimension, TVirtualImage, TInternalComputationValueType >
 
using VirtualDirectionType = typename Superclass::VirtualDirectionType
 
using VirtualImageComponentGradientType = CovariantVector< typename VirtualImageGradientType::ValueType, VirtualImageDimension >
 
using VirtualImageGradientType = typename MetricTraits::VirtualImageGradientType
 
using VirtualImagePointer = typename Superclass::VirtualImagePointer
 
using VirtualImageType = typename Superclass::VirtualImageType
 
using VirtualIndexType = typename Superclass::VirtualIndexType
 
using VirtualOriginType = typename Superclass::VirtualPointType
 
using VirtualPixelType = typename Superclass::VirtualPixelType
 
using VirtualPointSetPointer = typename Superclass::VirtualPointSetPointer
 
using VirtualPointSetType = typename Superclass::VirtualPointSetType
 
using VirtualPointType = typename Superclass::VirtualPointType
 
using VirtualRadiusType = typename Superclass::VirtualSizeType
 
using VirtualRegionType = typename Superclass::VirtualRegionType
 
using VirtualSizeType = typename Superclass::VirtualSizeType
 
using VirtualSpacingType = typename Superclass::VirtualSpacingType
 
using MetricCategoryType = typename Superclass::MetricCategoryType
 
- Public Types inherited from itk::ObjectToObjectMetric< TFixedImage::ImageDimension, TMovingImage::ImageDimension, TVirtualImage, TInternalComputationValueType >
using ConstPointer = SmartPointer< const Self >
 
using CoordinateRepresentationType = TInternalComputationValueType
 
using DerivativeType = typename Superclass::DerivativeType
 
using DerivativeValueType = typename Superclass::DerivativeValueType
 
using DimensionType = SizeValueType
 
using FixedInputPointType = typename FixedTransformType::InputPointType
 
using FixedOutputPointType = typename FixedTransformType::OutputPointType
 
using FixedTransformJacobianType = typename FixedTransformType::JacobianType
 
using FixedTransformParametersType = typename FixedTransformType::ParametersType
 
using FixedTransformPointer = typename FixedTransformType::Pointer
 
using FixedTransformType = Transform< TInternalComputationValueType, TVirtualImage::ImageDimension, TFixedDimension >
 
using GradientSourceEnum = typename Superclass::GradientSourceEnum
 
using InternalComputationValueType = TInternalComputationValueType
 
using JacobianType = typename FixedTransformType::JacobianType
 
using MeasureType = typename Superclass::MeasureType
 
using MovingDisplacementFieldTransformType = DisplacementFieldTransform< CoordinateRepresentationType, Self::MovingDimension >
 
using MovingInputPointType = typename MovingTransformType::InputPointType
 
using MovingOutputPointType = typename MovingTransformType::OutputPointType
 
using MovingTransformJacobianType = typename MovingTransformType::JacobianType
 
using MovingTransformParametersType = typename MovingTransformType::ParametersType
 
using MovingTransformPointer = typename MovingTransformType::Pointer
 
using MovingTransformType = Transform< TInternalComputationValueType, TVirtualImage::ImageDimension, TMovingDimension >
 
using NumberOfParametersType = typename Superclass::NumberOfParametersType
 
using ObjectType = typename Superclass::Object
 
using ParametersType = typename Superclass::ParametersType
 
using Pointer = SmartPointer< Self >
 
using Self = ObjectToObjectMetric
 
using Superclass = ObjectToObjectMetricBaseTemplate< TInternalComputationValueType >
 
using VirtualDirectionType = typename VirtualImageType::DirectionType
 
using VirtualImageConstPointer = typename VirtualImageType::ConstPointer
 
using VirtualImagePointer = typename VirtualImageType::Pointer
 
using VirtualImageType = TVirtualImage
 
using VirtualIndexType = typename VirtualImageType::IndexType
 
using VirtualOriginType = typename VirtualImageType::PointType
 
using VirtualPixelType = typename VirtualImageType::PixelType
 
using VirtualPointSetPointer = typename VirtualPointSetType::Pointer
 
using VirtualPointSetType = PointSet< VirtualPixelType, Self::VirtualDimension >
 
using VirtualPointType = typename VirtualImageType::PointType
 
using VirtualRadiusType = typename VirtualImageType::SizeType
 
using VirtualRegionType = typename VirtualImageType::RegionType
 
using VirtualSizeType = typename VirtualRegionType::SizeType
 
using VirtualSpacingType = typename VirtualImageType::SpacingType
 
using MetricCategoryType = typename Superclass::MetricCategoryEnum
 
- Public Types inherited from itk::ObjectToObjectMetricBaseTemplate< TInternalComputationValueType >
using ConstPointer = SmartPointer< const Self >
 
using CoordinateRepresentationType = TInternalComputationValueType
 
using DerivativeType = typename Superclass::DerivativeType
 
using DerivativeValueType = typename DerivativeType::ValueType
 
using MeasureType = typename Superclass::MeasureType
 
using ObjectConstPointer = typename ObjectType::ConstPointer
 
using ObjectType = Object
 
using ParametersType = typename Superclass::ParametersType
 
using ParametersValueType = TInternalComputationValueType
 
using Pointer = SmartPointer< Self >
 
using Self = ObjectToObjectMetricBaseTemplate
 
using Superclass = SingleValuedCostFunctionv4Template< TInternalComputationValueType >
 
using GradientSourceEnum = itk::ObjectToObjectMetricBaseTemplateEnums::GradientSource
 
using NumberOfParametersType = unsigned int
 
using MetricCategoryEnum = itk::ObjectToObjectMetricBaseTemplateEnums::MetricCategory
 
- Public Types inherited from itk::SingleValuedCostFunctionv4Template< TInternalComputationValueType >
using ConstPointer = SmartPointer< const Self >
 
using DerivativeType = Array< TInternalComputationValueType >
 
using MeasureType = TInternalComputationValueType
 
using ParametersType = typename Superclass::ParametersType
 
using Pointer = SmartPointer< Self >
 
using Self = SingleValuedCostFunctionv4Template
 
using Superclass = CostFunctionTemplate< TInternalComputationValueType >
 
- Public Types inherited from itk::CostFunctionTemplate< TInternalComputationValueType >
using ConstPointer = SmartPointer< const Self >
 
using ParametersType = OptimizerParameters< TInternalComputationValueType >
 
using ParametersValueType = TInternalComputationValueType
 
using Pointer = SmartPointer< Self >
 
using Self = CostFunctionTemplate
 
using Superclass = Object
 
- Public Types inherited from itk::Object
using ConstPointer = SmartPointer< const Self >
 
using Pointer = SmartPointer< Self >
 
using Self = Object
 
using Superclass = LightObject
 
- Public Types inherited from itk::LightObject
using ConstPointer = SmartPointer< const Self >
 
using Pointer = SmartPointer< Self >
 
using Self = LightObject
 

Public Member Functions

virtual ::itk::LightObject::Pointer CreateAnother () const
 
virtual const char * GetNameOfClass () const
 
- Public Member Functions inherited from itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits >
void SetFixedObject (const ObjectType *object) override
 
void SetMovingObject (const ObjectType *object) override
 
virtual void SetFixedImage (const FixedImageType *_arg)
 
virtual const FixedImageTypeGetFixedImage () const
 
virtual void SetMovingImage (const MovingImageType *_arg)
 
virtual const MovingImageTypeGetMovingImage () const
 
virtual void SetFixedInterpolator (FixedInterpolatorType *_arg)
 
virtual FixedInterpolatorTypeGetModifiableFixedInterpolator ()
 
virtual const FixedInterpolatorTypeGetFixedInterpolator () const
 
virtual void SetMovingInterpolator (MovingInterpolatorType *_arg)
 
virtual MovingInterpolatorTypeGetModifiableMovingInterpolator ()
 
virtual const MovingInterpolatorTypeGetMovingInterpolator () 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 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 ThreadIdType GetNumberOfWorkUnitsUsed () const
 
virtual void SetMaximumNumberOfWorkUnits (const ThreadIdType workUnits)
 
virtual ThreadIdType GetMaximumNumberOfWorkUnits () const
 
virtual FixedImageGradientImageTypeGetModifiableFixedImageGradientImage ()
 
virtual const FixedImageGradientImageTypeGetFixedImageGradientImage () const
 
virtual MovingImageGradientImageTypeGetModifiableMovingImageGradientImage ()
 
virtual const MovingImageGradientImageTypeGetMovingImageGradientImage () const
 
SizeValueType GetNumberOfValidPoints () const override
 
SizeValueType GetNumberOfDomainPoints () 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
 
MeasureType GetValue () const override
 
void GetDerivative (DerivativeType &) const override
 
void GetValueAndDerivative (MeasureType &value, DerivativeType &derivative) const override
 
virtual const SizeValueTypeGetNumberOfSkippedFixedSampledPoints () const
 
bool SupportsArbitraryVirtualDomainSamples () const override
 
MetricCategoryType GetMetricCategory () const override
 
- 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
 
NumberOfParametersType GetNumberOfLocalParameters () const override
 
NumberOfParametersType GetNumberOfParameters () const override
 
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, TInternalComputationValueType factor) override
 
bool IsInsideVirtualDomain (const VirtualPointType &point) const
 
bool IsInsideVirtualDomain (const VirtualIndexType &index) const
 
MetricCategoryType GetMetricCategory () const override
 
- Public Member Functions inherited from itk::ObjectToObjectMetricBaseTemplate< TInternalComputationValueType >
virtual const ObjectTypeGetFixedObject () const
 
virtual const ObjectTypeGetMovingObject () const
 
virtual void SetGradientSource (GradientSourceEnum _arg)
 
virtual GradientSourceEnum GetGradientSource () const
 
bool GetGradientSourceIncludesFixed () const
 
bool GetGradientSourceIncludesMoving () const
 
MeasureType GetCurrentValue () 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
 
void Register () const override
 
void RemoveAllObservers ()
 
void RemoveObserver (unsigned long tag)
 
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
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 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, TVirtualImage, TInternalComputationValueType >
static constexpr DimensionType FixedDimension
 
static constexpr DimensionType MovingDimension
 
static constexpr DimensionType VirtualDimension
 
using PDFValueType = TInternalComputationValueType
 
using JointPDFType = Image< PDFValueType, 2 >
 
using JointPDFDerivativesType = Image< PDFValueType, 3 >
 
using MattesMutualInformationDenseGetValueAndDerivativeThreaderType = MattesMutualInformationImageToImageMetricv4GetValueAndDerivativeThreader< ThreadedImageRegionPartitioner< Superclass::VirtualImageDimension >, Superclass, Self >
 
using MattesMutualInformationSparseGetValueAndDerivativeThreaderType = MattesMutualInformationImageToImageMetricv4GetValueAndDerivativeThreader< ThreadedIndexedContainerPartitioner, Superclass, Self >
 
using JointPDFIndexType = typename JointPDFType::IndexType
 
using JointPDFValueType = typename JointPDFType::PixelType
 
using JointPDFRegionType = typename JointPDFType::RegionType
 
using JointPDFSizeType = typename JointPDFType::SizeType
 
using JointPDFDerivativesIndexType = typename JointPDFDerivativesType::IndexType
 
using JointPDFDerivativesValueType = typename JointPDFDerivativesType::PixelType
 
using JointPDFDerivativesRegionType = typename JointPDFDerivativesType::RegionType
 
using JointPDFDerivativesSizeType = typename JointPDFDerivativesType::SizeType
 
using CubicBSplineFunctionType = BSplineKernelFunction< 3, PDFValueType >
 
using CubicBSplineDerivativeFunctionType = BSplineDerivativeKernelFunction< 3, PDFValueType >
 
using PRatioType = PDFValueType
 
using PRatioArrayType = std::vector< PRatioType >
 
class MattesMutualInformationImageToImageMetricv4GetValueAndDerivativeThreader< ThreadedImageRegionPartitioner< Superclass::VirtualImageDimension >, Superclass, Self >
 
class MattesMutualInformationImageToImageMetricv4GetValueAndDerivativeThreader< ThreadedIndexedContainerPartitioner, Superclass, Self >
 
SizeValueType m_NumberOfHistogramBins { 50 }
 
PDFValueType m_MovingImageNormalizedMin
 
PDFValueType m_FixedImageNormalizedMin
 
PDFValueType m_FixedImageTrueMin
 
PDFValueType m_FixedImageTrueMax
 
PDFValueType m_MovingImageTrueMin
 
PDFValueType m_MovingImageTrueMax
 
PDFValueType m_FixedImageBinSize
 
PDFValueType m_MovingImageBinSize
 
CubicBSplineFunctionType::Pointer m_CubicBSplineKernel
 
CubicBSplineDerivativeFunctionType::Pointer m_CubicBSplineDerivativeKernel
 
PRatioArrayType m_PRatioArray
 
std::vector< OffsetValueTypem_JointPdfIndex1DArray
 
std::vector< PDFValueTypem_MovingImageMarginalPDF
 
std::vector< std::vector< PDFValueType > > m_ThreaderFixedImageMarginalPDF
 
std::vector< typename JointPDFType::Pointerm_ThreaderJointPDF
 
std::vector< DerivativeBufferManagerm_ThreaderDerivativeManager
 
std::mutex m_JointPDFDerivativesLock
 
JointPDFDerivativesType::Pointer m_JointPDFDerivatives
 
PDFValueType m_JointPDFSum
 
std::vector< DerivativeTypem_LocalDerivativeByParzenBin
 
virtual void SetNumberOfHistogramBins (SizeValueType _arg)
 
virtual const SizeValueTypeGetNumberOfHistogramBins () const
 
void Initialize () override
 
const JointPDFType::Pointer GetJointPDF () const
 
const JointPDFDerivativesType::Pointer GetJointPDFDerivatives () const
 
void FinalizeThread (const ThreadIdType threadId) override
 
 MattesMutualInformationImageToImageMetricv4 ()
 
 ~MattesMutualInformationImageToImageMetricv4 () override=default
 
void PrintSelf (std::ostream &os, Indent indent) const override
 
virtual void GetValueCommonAfterThreadedExecution ()
 
OffsetValueType ComputeSingleFixedImageParzenWindowIndex (const FixedImagePixelType &value) const
 
virtual void ComputeResults () const
 

Additional Inherited Members

- Protected Types inherited from itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits >
using FixedImageGradientInterpolatorType = LinearInterpolateImageFunction< FixedImageGradientImageType, CoordinateRepresentationType >
 
using MovingImageGradientInterpolatorType = LinearInterpolateImageFunction< MovingImageGradientImageType, CoordinateRepresentationType >
 
- Protected Member Functions inherited from itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits >
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 void ComputeFixedImageGradientAtPoint (const FixedImagePointType &mappedPoint, FixedImageGradientType &gradient) const
 
virtual void ComputeMovingImageGradientAtPoint (const MovingImagePointType &mappedPoint, MovingImageGradientType &gradient) const
 
virtual void ComputeFixedImageGradientFilterImage ()
 
virtual void ComputeMovingImageGradientFilterImage () const
 
virtual void GetValueAndDerivativeExecute () const
 
virtual void InitializeDefaultFixedImageGradientFilter ()
 
virtual void InitializeDefaultMovingImageGradientFilter ()
 
virtual bool GetComputeDerivative () const
 
 ImageToImageMetricv4 ()
 
 ~ImageToImageMetricv4 () override=default
 
- Protected Member Functions inherited from itk::ObjectToObjectMetric< TFixedImage::ImageDimension, TMovingImage::ImageDimension, TVirtualImage, TInternalComputationValueType >
 ObjectToObjectMetric ()
 
 ~ObjectToObjectMetric () override=default
 
void PrintSelf (std::ostream &os, Indent indent) const override
 
virtual void VerifyDisplacementFieldSizeAndPhysicalSpace ()
 
bool TransformPhysicalPointToVirtualIndex (const VirtualPointType &, VirtualIndexType &) const
 
void TransformVirtualIndexToPhysicalPoint (const VirtualIndexType &, VirtualPointType &) const
 
const MovingDisplacementFieldTransformTypeGetMovingDisplacementFieldTransform () const
 
bool VerifyNumberOfValidPoints (MeasureType &value, DerivativeType &derivative) const
 
- Protected Member Functions inherited from itk::ObjectToObjectMetricBaseTemplate< TInternalComputationValueType >
 ObjectToObjectMetricBaseTemplate ()
 
 ~ObjectToObjectMetricBaseTemplate () override=default
 
- Protected Member Functions inherited from itk::SingleValuedCostFunctionv4Template< TInternalComputationValueType >
 SingleValuedCostFunctionv4Template ()=default
 
 ~SingleValuedCostFunctionv4Template () override=default
 
- Protected Member Functions inherited from itk::CostFunctionTemplate< TInternalComputationValueType >
 CostFunctionTemplate ()=default
 
 ~CostFunctionTemplate () override=default
 
- Protected Member Functions inherited from itk::Object
 Object ()
 
 ~Object () override
 
bool PrintObservers (std::ostream &os, Indent indent) const
 
virtual void SetTimeStamp (const TimeStamp &time)
 
- 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 inherited from itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits >
ImageToImageMetricv4GetValueAndDerivativeThreader< ThreadedImageRegionPartitioner< VirtualImageDimension >, Self >::Pointer m_DenseGetValueAndDerivativeThreader
 
ImageToImageMetricv4GetValueAndDerivativeThreader< ThreadedIndexedContainerPartitioner, Self >::Pointer m_SparseGetValueAndDerivativeThreader
 
FixedImageConstPointer m_FixedImage
 
MovingImageConstPointer m_MovingImage
 
FixedInterpolatorPointer m_FixedInterpolator
 
MovingInterpolatorPointer m_MovingInterpolator
 
FixedImageGradientInterpolatorType::Pointer m_FixedImageGradientInterpolator
 
MovingImageGradientInterpolatorType::Pointer m_MovingImageGradientInterpolator
 
bool m_UseFixedImageGradientFilter
 
bool m_UseMovingImageGradientFilter
 
FixedImageGradientFilterPointer m_FixedImageGradientFilter
 
MovingImageGradientFilterPointer m_MovingImageGradientFilter
 
DefaultFixedImageGradientFilter::Pointer m_DefaultFixedImageGradientFilter
 
DefaultMovingImageGradientFilter::Pointer m_DefaultMovingImageGradientFilter
 
DefaultFixedImageGradientCalculator::Pointer m_DefaultFixedImageGradientCalculator
 
DefaultMovingImageGradientCalculator::Pointer m_DefaultMovingImageGradientCalculator
 
FixedImageGradientImagePointer m_FixedImageGradientImage
 
MovingImageGradientImagePointer m_MovingImageGradientImage
 
FixedImageGradientCalculatorPointer m_FixedImageGradientCalculator
 
MovingImageGradientCalculatorPointer m_MovingImageGradientCalculator
 
DerivativeTypem_DerivativeResult
 
FixedImageMaskConstPointer m_FixedImageMask
 
MovingImageMaskConstPointer m_MovingImageMask
 
FixedSampledPointSetConstPointer m_FixedSampledPointSet
 
VirtualPointSetPointer m_VirtualSampledPointSet
 
bool m_UseSampledPointSet
 
bool m_UseVirtualSampledPointSet
 
- Protected Attributes inherited from itk::ObjectToObjectMetric< TFixedImage::ImageDimension, TMovingImage::ImageDimension, TVirtualImage, TInternalComputationValueType >
FixedTransformPointer m_FixedTransform
 
MovingTransformPointer m_MovingTransform
 
VirtualImagePointer m_VirtualImage
 
bool m_UserHasSetVirtualDomain
 
SizeValueType m_NumberOfValidPoints
 
- Protected Attributes inherited from itk::ObjectToObjectMetricBaseTemplate< TInternalComputationValueType >
ObjectConstPointer m_FixedObject
 
ObjectConstPointer m_MovingObject
 
GradientSourceEnum m_GradientSource
 
MeasureType m_Value
 
- Protected Attributes inherited from itk::LightObject
std::atomic< int > m_ReferenceCount
 

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 arbitrary 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 constructed, 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 portions 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 103 of file itkMattesMutualInformationImageToImageMetricv4.h.

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

The marginal PDFs are stored as std::vector.

Definition at line 239 of file itkMattesMutualInformationImageToImageMetricv4.h.

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

◆ DerivativeType

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 >::DerivativeType = typename Superclass::DerivativeType

◆ 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::MattesMutualInformationImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits >::FixedImageGradientType = typename Superclass::FixedImageGradientType

◆ FixedImageIndexType

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 >::FixedImageIndexType = typename Superclass::FixedImageIndexType

◆ FixedImagePixelType

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 >::FixedImagePixelType = typename Superclass::FixedImagePixelType

◆ FixedImagePointType

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 >::FixedImagePointType = typename Superclass::FixedImagePointType

◆ FixedImageType

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 >::FixedImageType = typename Superclass::FixedImageType

◆ FixedSampledPointSetPointer

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 >::FixedSampledPointSetPointer = typename Superclass::FixedSampledPointSetPointer

Types inherited from Superclass.

Definition at line 145 of file itkMattesMutualInformationImageToImageMetricv4.h.

◆ JacobianType

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 >::JacobianType = typename Superclass::JacobianType

◆ 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

The marginal PDFs are stored as std::vector.

Definition at line 232 of file itkMattesMutualInformationImageToImageMetricv4.h.

◆ 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

The marginal PDFs are stored as std::vector.

Definition at line 234 of file itkMattesMutualInformationImageToImageMetricv4.h.

◆ 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

The marginal PDFs are stored as std::vector.

Definition at line 235 of file itkMattesMutualInformationImageToImageMetricv4.h.

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

The marginal PDFs are stored as std::vector.

Definition at line 171 of file itkMattesMutualInformationImageToImageMetricv4.h.

◆ 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

The marginal PDFs are stored as std::vector.

Definition at line 233 of file itkMattesMutualInformationImageToImageMetricv4.h.

◆ 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

The marginal PDFs are stored as std::vector.

Definition at line 228 of file itkMattesMutualInformationImageToImageMetricv4.h.

◆ 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

The marginal PDFs are stored as std::vector.

Definition at line 230 of file itkMattesMutualInformationImageToImageMetricv4.h.

◆ 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

The marginal PDFs are stored as std::vector.

Definition at line 231 of file itkMattesMutualInformationImageToImageMetricv4.h.

◆ 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 170 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

The marginal PDFs are stored as std::vector.

Definition at line 229 of file itkMattesMutualInformationImageToImageMetricv4.h.

◆ 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 = MattesMutualInformationImageToImageMetricv4GetValueAndDerivativeThreader< ThreadedImageRegionPartitioner<Superclass::VirtualImageDimension>, Superclass, Self>
protected

The marginal PDFs are stored as std::vector.

Definition at line 219 of file itkMattesMutualInformationImageToImageMetricv4.h.

◆ 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 = MattesMutualInformationImageToImageMetricv4GetValueAndDerivativeThreader<ThreadedIndexedContainerPartitioner, Superclass, Self>
protected

The marginal PDFs are stored as std::vector.

Definition at line 223 of file itkMattesMutualInformationImageToImageMetricv4.h.

◆ MeasureType

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 >::MeasureType = typename Superclass::MeasureType

Superclass types

Definition at line 123 of file itkMattesMutualInformationImageToImageMetricv4.h.

◆ MovingImageGradientType

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 >::MovingImageGradientType = typename Superclass::MovingImageGradientType

◆ MovingImagePixelType

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 >::MovingImagePixelType = typename Superclass::MovingImagePixelType

◆ MovingImagePointType

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 >::MovingImagePointType = typename Superclass::MovingImagePointType

◆ MovingTransformType

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 >::MovingTransformType = typename Superclass::MovingTransformType

◆ 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 167 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

The marginal PDFs are stored as std::vector.

Definition at line 266 of file itkMattesMutualInformationImageToImageMetricv4.h.

◆ 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 265 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 110 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 = ImageToImageMetricv4<TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits>

◆ 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

◆ VirtualIndexType

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 >::VirtualIndexType = typename Superclass::VirtualIndexType

◆ VirtualPointSetType

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 >::VirtualPointSetType = typename Superclass::VirtualPointSetType

◆ VirtualPointType

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 >::VirtualPointType = typename Superclass::VirtualPointType

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

The marginal PDFs are stored as std::vector.

◆ ~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

The marginal PDFs are stored as std::vector.

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

The marginal PDFs are stored as std::vector.

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

◆ 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  threadId)
overridevirtual

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

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

◆ GetNameOfClass()

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

◆ 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

The marginal PDFs are stored as std::vector.

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

◆ 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

◆ 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

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

Friends And Related Function 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

The marginal PDFs are stored as std::vector.

Definition at line 210 of file itkMattesMutualInformationImageToImageMetricv4.h.

◆ 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

The marginal PDFs are stored as std::vector.

Definition at line 214 of file itkMattesMutualInformationImageToImageMetricv4.h.

Member Data Documentation

◆ FixedImageDimension

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

◆ m_CubicBSplineDerivativeKernel

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

The marginal PDFs are stored as std::vector.

Definition at line 262 of file itkMattesMutualInformationImageToImageMetricv4.h.

◆ m_CubicBSplineKernel

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

◆ 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

The marginal PDFs are stored as std::vector.

Definition at line 257 of file itkMattesMutualInformationImageToImageMetricv4.h.

◆ 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

The marginal PDFs are stored as std::vector.

Definition at line 252 of file itkMattesMutualInformationImageToImageMetricv4.h.

◆ 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

The marginal PDFs are stored as std::vector.

Definition at line 254 of file itkMattesMutualInformationImageToImageMetricv4.h.

◆ 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

The marginal PDFs are stored as std::vector.

Definition at line 253 of file itkMattesMutualInformationImageToImageMetricv4.h.

◆ 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

The marginal PDFs are stored as std::vector.

Definition at line 370 of file itkMattesMutualInformationImageToImageMetricv4.h.

◆ 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

The marginal PDFs are stored as std::vector.

Definition at line 369 of file itkMattesMutualInformationImageToImageMetricv4.h.

◆ 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 272 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

The marginal PDFs are stored as std::vector.

Definition at line 372 of file itkMattesMutualInformationImageToImageMetricv4.h.

◆ 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 376 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

The marginal PDFs are stored as std::vector.

Definition at line 258 of file itkMattesMutualInformationImageToImageMetricv4.h.

◆ 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 275 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

The marginal PDFs are stored as std::vector.

Definition at line 251 of file itkMattesMutualInformationImageToImageMetricv4.h.

◆ 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

The marginal PDFs are stored as std::vector.

Definition at line 256 of file itkMattesMutualInformationImageToImageMetricv4.h.

◆ 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

The marginal PDFs are stored as std::vector.

Definition at line 255 of file itkMattesMutualInformationImageToImageMetricv4.h.

◆ 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 250 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

The marginal PDFs are stored as std::vector.

Definition at line 268 of file itkMattesMutualInformationImageToImageMetricv4.h.

◆ 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

The marginal PDFs are stored as std::vector.

Definition at line 368 of file itkMattesMutualInformationImageToImageMetricv4.h.

◆ 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

The marginal PDFs are stored as std::vector.

Definition at line 276 of file itkMattesMutualInformationImageToImageMetricv4.h.

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

◆ MovingImageDimension

template<typename TFixedImage , typename TMovingImage , typename TVirtualImage = TFixedImage, typename TInternalComputationValueType = double, typename TMetricTraits = DefaultImageToImageMetricTraitsv4<TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType>>
constexpr 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>>
constexpr TVirtualImage::ImageDimensionType itk::MattesMutualInformationImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits >::VirtualImageDimension = TVirtualImage::ImageDimension
staticconstexpr

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