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

#include <itkMattesMutualInformationImageToImageMetricv4.h>

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

Detailed Description

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

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

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

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

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

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

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

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

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

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

See ImageToImageMetricv4 for details of common metric operation and options.

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

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

Definition at line 101 of file itkMattesMutualInformationImageToImageMetricv4.h.

Classes

class  DerivativeBufferManager
 

Public Types

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 JointPDFDerivativesType = Image< PDFValueType, 3 >
 
using JointPDFType = Image< PDFValueType, 2 >
 
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 PDFValueType = TInternalComputationValueType
 
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 GradientSourceType = typename Superclass::GradientSourceType
 
using ImageDimensionType = typename Superclass::DimensionType
 
using InternalComputationValueType = TInternalComputationValueType
 
using JacobianType = typename Superclass::JacobianType
 
using MeasureType = typename Superclass::MeasureType
 
using MetricCategoryType = typename Superclass::MetricCategoryType
 
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
 
- 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 GradientSourceType = typename Superclass::GradientSourceType
 
using InternalComputationValueType = TInternalComputationValueType
 
using JacobianType = typename FixedTransformType::JacobianType
 
using MeasureType = typename Superclass::MeasureType
 
using MetricCategoryType = typename Superclass::MetricCategoryType
 
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
 
- 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
 
enum  GradientSourceType {
  GRADIENT_SOURCE_FIXED =0,
  GRADIENT_SOURCE_MOVING,
  GRADIENT_SOURCE_BOTH
}
 
using MeasureType = typename Superclass::MeasureType
 
enum  MetricCategoryType {
  UNKNOWN_METRIC = 0,
  OBJECT_METRIC = 1,
  IMAGE_METRIC = 2,
  POINT_SET_METRIC = 3,
  MULTI_METRIC = 4
}
 
using NumberOfParametersType = unsigned int
 
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 >
 
- 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
 
void FinalizeThread (const ThreadIdType threadId) override
 
const
JointPDFDerivativesType::Pointer 
GetJointPDFDerivatives () const
 
virtual const char * GetNameOfClass () const
 
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
FixedImageGradientImageType
GetFixedImageGradientImage () const
 
virtual const
FixedInterpolatorType
GetFixedInterpolator () const
 
MetricCategoryType GetMetricCategory () const override
 
virtual
FixedImageGradientImageType
GetModifiableFixedImageGradientImage ()
 
virtual FixedInterpolatorTypeGetModifiableFixedInterpolator ()
 
virtual
MovingImageGradientImageType
GetModifiableMovingImageGradientImage ()
 
virtual MovingInterpolatorTypeGetModifiableMovingInterpolator ()
 
virtual const
MovingImageGradientImageType
GetMovingImageGradientImage () const
 
virtual const
MovingInterpolatorType
GetMovingInterpolator () const
 
SizeValueType GetNumberOfDomainPoints () const
 
virtual const SizeValueTypeGetNumberOfSkippedFixedSampledPoints () const
 
SizeValueType GetNumberOfValidPoints () const override
 
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 (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
FixedSampledPointSetType
GetFixedSampledPointSet () 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
FixedImageGradientFilterType
GetModifiableFixedImageGradientFilter ()
 
virtual const
FixedImageGradientFilterType
GetFixedImageGradientFilter () const
 
virtual void SetMovingImageGradientFilter (MovingImageGradientFilterType *_arg)
 
virtual
MovingImageGradientFilterType
GetModifiableMovingImageGradientFilter ()
 
virtual const
MovingImageGradientFilterType
GetMovingImageGradientFilter () const
 
virtual void SetFixedImageGradientCalculator (FixedImageGradientCalculatorType *_arg)
 
virtual
FixedImageGradientCalculatorType
GetModifiableFixedImageGradientCalculator ()
 
virtual const
FixedImageGradientCalculatorType
GetFixedImageGradientCalculator () const
 
virtual void SetMovingImageGradientCalculator (MovingImageGradientCalculatorType *_arg)
 
virtual
MovingImageGradientCalculatorType
GetModifiableMovingImageGradientCalculator ()
 
virtual const
MovingImageGradientCalculatorType
GetMovingImageGradientCalculator () 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 workUnits)
 
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, TVirtualImage, TInternalComputationValueType >
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
 
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, TInternalComputationValueTypefactor) override
 
bool IsInsideVirtualDomain (const VirtualPointType &point) const
 
bool IsInsideVirtualDomain (const VirtualIndexType &index) const
 
- Public Member Functions inherited from itk::ObjectToObjectMetricBaseTemplate< TInternalComputationValueType >
MeasureType GetCurrentValue () const
 
virtual GradientSourceType GetGradientSource () const
 
bool GetGradientSourceIncludesFixed () const
 
bool GetGradientSourceIncludesMoving () const
 
virtual void SetGradientSource (GradientSourceType _arg)
 
virtual const ObjectTypeGetFixedObject () const
 
virtual const ObjectTypeGetMovingObject () const
 
- Public Member Functions inherited from itk::SingleValuedCostFunctionv4Template< TInternalComputationValueType >
virtual void GetValueAndDerivative (MeasureType &value, DerivativeType &derivative) const =0
 
- Public Member Functions inherited from itk::Object
unsigned long AddObserver (const EventObject &event, Command *)
 
unsigned long AddObserver (const EventObject &event, Command *) const
 
virtual void DebugOff () const
 
virtual void DebugOn () const
 
CommandGetCommand (unsigned long tag)
 
bool GetDebug () const
 
MetaDataDictionaryGetMetaDataDictionary ()
 
const MetaDataDictionaryGetMetaDataDictionary () const
 
virtual ModifiedTimeType GetMTime () const
 
virtual const TimeStampGetTimeStamp () const
 
bool HasObserver (const EventObject &event) const
 
void InvokeEvent (const EventObject &)
 
void InvokeEvent (const EventObject &) const
 
virtual void Modified () const
 
void Register () const override
 
void RemoveAllObservers ()
 
void RemoveObserver (unsigned long tag)
 
void SetDebug (bool debugFlag) const
 
void SetReferenceCount (int) override
 
void UnRegister () const noexceptoverride
 
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
 

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 = MattesMutualInformationImageToImageMetricv4GetValueAndDerivativeThreader< ThreadedImageRegionPartitioner< Superclass::VirtualImageDimension >, Superclass, Self >
 
using MattesMutualInformationSparseGetValueAndDerivativeThreaderType = MattesMutualInformationImageToImageMetricv4GetValueAndDerivativeThreader< ThreadedIndexedContainerPartitioner, Superclass, Self >
 
using PRatioArrayType = std::vector< PRatioType >
 
using PRatioType = PDFValueType
 
- Protected Types inherited from itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits >
using FixedImageGradientInterpolatorType = LinearInterpolateImageFunction< FixedImageGradientImageType, CoordinateRepresentationType >
 
using MovingImageGradientInterpolatorType = LinearInterpolateImageFunction< MovingImageGradientImageType, CoordinateRepresentationType >
 

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, TVirtualImage, TInternalComputationValueType >
const
MovingDisplacementFieldTransformType
GetMovingDisplacementFieldTransform () 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< 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 ()
 
bool PrintObservers (std::ostream &os, Indent indent) const
 
virtual void SetTimeStamp (const TimeStamp &time)
 
 ~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

CubicBSplineDerivativeFunctionType::Pointer m_CubicBSplineDerivativeKernel
 
CubicBSplineFunctionType::Pointer m_CubicBSplineKernel
 
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
< DerivativeBufferManager
m_ThreaderDerivativeManager
 
std::vector< std::vector
< PDFValueType > > 
m_ThreaderFixedImageMarginalPDF
 
std::vector< typename
JointPDFType::Pointer
m_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, TVirtualImage, TInternalComputationValueType >
FixedTransformPointer m_FixedTransform
 
MovingTransformPointer m_MovingTransform
 
SizeValueType m_NumberOfValidPoints
 
bool m_UserHasSetVirtualDomain
 
VirtualImagePointer m_VirtualImage
 
- Protected Attributes inherited from itk::ObjectToObjectMetricBaseTemplate< TInternalComputationValueType >
ObjectConstPointer m_FixedObject
 
GradientSourceType m_GradientSource
 
ObjectConstPointer m_MovingObject
 
MeasureType m_Value
 
- Protected Attributes inherited from itk::LightObject
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

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

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

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

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

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

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

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

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

template<typename TFixedImage , typename TMovingImage , typename TVirtualImage = TFixedImage, typename TInternalComputationValueType = double, typename TMetricTraits = DefaultImageToImageMetricTraitsv4<TFixedImage,TMovingImage,TVirtualImage,TInternalComputationValueType>>
itk::MattesMutualInformationImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits >::MattesMutualInformationImageToImageMetricv4 ( )
protected
template<typename TFixedImage , typename TMovingImage , typename TVirtualImage = TFixedImage, typename TInternalComputationValueType = double, typename TMetricTraits = DefaultImageToImageMetricTraitsv4<TFixedImage,TMovingImage,TVirtualImage,TInternalComputationValueType>>
itk::MattesMutualInformationImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits >::~MattesMutualInformationImageToImageMetricv4 ( )
overrideprotecteddefault

Member Function Documentation

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

Perform the final step in computing results

template<typename TFixedImage , typename TMovingImage , typename TVirtualImage = TFixedImage, typename TInternalComputationValueType = double, typename TMetricTraits = DefaultImageToImageMetricTraitsv4<TFixedImage,TMovingImage,TVirtualImage,TInternalComputationValueType>>
OffsetValueType itk::MattesMutualInformationImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits >::ComputeSingleFixedImageParzenWindowIndex ( const FixedImagePixelType value) const
protected
template<typename TFixedImage , typename TMovingImage , typename TVirtualImage = TFixedImage, typename TInternalComputationValueType = double, typename TMetricTraits = DefaultImageToImageMetricTraitsv4<TFixedImage,TMovingImage,TVirtualImage,TInternalComputationValueType>>
virtual::itk::LightObject::Pointer itk::MattesMutualInformationImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits >::CreateAnother ( ) const
virtual

Create an object from an instance, potentially deferring to a factory. This method allows you to create an instance of an object that is exactly the same type as the referring object. This is useful in cases where an object has been cast back to a base class.

Reimplemented from itk::Object.

template<typename TFixedImage , typename TMovingImage , typename TVirtualImage = TFixedImage, typename TInternalComputationValueType = double, typename TMetricTraits = DefaultImageToImageMetricTraitsv4<TFixedImage,TMovingImage,TVirtualImage,TInternalComputationValueType>>
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 >.

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

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

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

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

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

Post-processing code common to both GetValue and GetValueAndDerivative.

template<typename TFixedImage , typename TMovingImage , typename TVirtualImage = TFixedImage, typename TInternalComputationValueType = double, typename TMetricTraits = DefaultImageToImageMetricTraitsv4<TFixedImage,TMovingImage,TVirtualImage,TInternalComputationValueType>>
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 >.

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

Method for creation through the object factory.

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

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

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

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

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

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

Friends And Related Function Documentation

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

Member Data Documentation

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

Cubic BSpline kernel for computing Parzen histograms.

Definition at line 241 of file itkMattesMutualInformationImageToImageMetricv4.h.

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

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

Definition at line 252 of file itkMattesMutualInformationImageToImageMetricv4.h.

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

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

Definition at line 348 of file itkMattesMutualInformationImageToImageMetricv4.h.

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

The moving image marginal PDF.

Definition at line 255 of file itkMattesMutualInformationImageToImageMetricv4.h.

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

Variables to define the marginal and joint histograms.

Definition at line 230 of file itkMattesMutualInformationImageToImageMetricv4.h.

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

The joint PDF and PDF derivatives.

Definition at line 259 of file itkMattesMutualInformationImageToImageMetricv4.h.

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

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