Loading...
Searching...
No Matches
itk::ParzenWindowMutualInformationImageToImageMetric< TFixedImage, TMovingImage > Class Template Reference
Components » Metrics

`#include <itkParzenWindowMutualInformationImageToImageMetric.h>`

## Detailed Description

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

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

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

The calculations are based on the method of Mattes et al. [1,2], where the probability density distribution are estimated using Parzen histograms. Once the PDFs have been constructed, the mutual information is obtained by double summing over the discrete PDF values.

Construction of the PDFs is implemented in the superclass ParzenWindowHistogramImageToImageMetric.

This implementation of the MattesMutualInformation is based on the AdvancedImageToImageMetric, which means that:

- It uses the ImageSampler-framework
- It makes use of the compact support of B-splines, in case of B-spline transforms.
- Image derivatives are computed using either the B-spline interpolator implementation or by nearest neighbor interpolation of a precomputed central difference image.
- A minimum number of samples that should map within the moving image (mask) can be specified.

Notes:

1. This class returns the negative mutual information value.
2. This class in not thread safe due the private data structures used to the store the marginal and joint pdfs.

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. To Appear.
[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
  ParzenWindowHistogramImageToImageMetric

Definition at line 75 of file itkParzenWindowMutualInformationImageToImageMetric.h.

Inheritance diagram for itk::ParzenWindowMutualInformationImageToImageMetric< TFixedImage, TMovingImage >:
[legend]

## Data Structures

struct | ParzenWindowMutualInformationMultiThreaderParameterType

## Public Types

using | ConstPointer = SmartPointer<const Self>
using | DerivativeValueType
using | FixedImageLimiterOutputType
using | FixedImageLimiterType
using | FixedImageMaskPointer
using | FixedImageMaskType
using | FixedImagePixelType
using | ImageSampleContainerPointer
using | ImageSampleContainerType
using | ImageSamplerPointer
using | ImageSamplerType
using | MovingImageDerivativeScalesType
using | MovingImageLimiterOutputType
using | MovingImageLimiterType
using | MovingImageMaskPointer
using | MovingImageMaskType
using | MovingImageRegionType
using | Pointer = SmartPointer<Self>
using | Self = ParzenWindowMutualInformationImageToImageMetric
using | Superclass = ParzenWindowHistogramImageToImageMetric<TFixedImage, TMovingImage>
using | ThreadInfoType
Public Types inherited from itk::ParzenWindowHistogramImageToImageMetric< TFixedImage, TMovingImage >
using | ConstPointer = SmartPointer<const Self>
using | DerivativeValueType
using | FixedImageLimiterOutputType
using | FixedImageLimiterType
using | FixedImageMaskPointer
using | FixedImageMaskType
using | FixedImagePixelType
using | ImageSampleContainerPointer
using | ImageSampleContainerType
using | ImageSamplerPointer
using | ImageSamplerType
using | MovingImageDerivativeScalesType
using | MovingImageLimiterOutputType
using | MovingImageLimiterType
using | MovingImageMaskPointer
using | MovingImageMaskType
using | MovingImageRegionType
using | Pointer = SmartPointer<Self>
using | Self = ParzenWindowHistogramImageToImageMetric
using | Superclass = AdvancedImageToImageMetric<TFixedImage, TMovingImage>
using | ThreadInfoType
Public Types inherited from itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >
using | AdvancedTransformType = AdvancedTransform<ScalarType, FixedImageDimension, MovingImageDimension>
using | BSplineOrder1TransformPointer = typename BSplineOrder1TransformType::Pointer
using | BSplineOrder1TransformType = AdvancedBSplineDeformableTransform<ScalarType, FixedImageDimension, 1>
using | BSplineOrder2TransformPointer = typename BSplineOrder2TransformType::Pointer
using | BSplineOrder2TransformType = AdvancedBSplineDeformableTransform<ScalarType, FixedImageDimension, 2>
using | BSplineOrder3TransformPointer = typename BSplineOrder3TransformType::Pointer
using | BSplineOrder3TransformType = AdvancedBSplineDeformableTransform<ScalarType, FixedImageDimension, 3>
using | CombinationTransformType = AdvancedCombinationTransform<ScalarType, FixedImageDimension>
using | ConstPointer = SmartPointer<const Self>
using | DerivativeValueType = typename DerivativeType::ValueType
using | FixedImageLimiterOutputType = typename FixedImageLimiterType::OutputType
using | FixedImageLimiterPointer = typename FixedImageLimiterType::Pointer
using | FixedImageLimiterType = LimiterFunctionBase<RealType, FixedImageDimension>
using | FixedImageMaskConstPointer = SmartPointer<const FixedImageMaskType>
using | FixedImageMaskPointer = SmartPointer<FixedImageMaskType>
using | FixedImageMaskType = ImageMaskSpatialObject<Self::FixedImageDimension>
using | FixedImagePixelType = typename FixedImageType::PixelType
using | FixedImagePointer = typename FixedImageType::Pointer
using | ImageSampleContainerPointer = typename ImageSamplerType::OutputVectorContainerPointer
using | ImageSampleContainerType = typename ImageSamplerType::OutputVectorContainerType
using | ImageSamplerPointer = typename ImageSamplerType::Pointer
using | ImageSamplerType = ImageSamplerBase<FixedImageType>
using | MovingImageDerivativeScalesType = FixedArray<double, Self::MovingImageDimension>
using | MovingImageLimiterOutputType = typename MovingImageLimiterType::OutputType
using | MovingImageLimiterPointer = typename MovingImageLimiterType::Pointer
using | MovingImageLimiterType = LimiterFunctionBase<RealType, MovingImageDimension>
using | MovingImageMaskConstPointer = SmartPointer<const MovingImageMaskType>
using | MovingImageMaskPointer = SmartPointer<MovingImageMaskType>
using | MovingImageMaskType = ImageMaskSpatialObject<Self::MovingImageDimension>
using | MovingImagePointer = typename MovingImageType::Pointer
using | MovingImageRegionType = typename MovingImageType::RegionType
using | NumberOfParametersType = typename AdvancedTransformType::NumberOfParametersType
using | Pointer = SmartPointer<Self>
using | ScalarType = typename TransformType::ScalarType
using | Self = AdvancedImageToImageMetric
using | Superclass = ImageToImageMetric<TFixedImage, TMovingImage>
using | ThreadInfoType = MultiThreaderBase::WorkUnitInfo

## Public Member Functions

virtual const char * | GetClassName () const
virtual bool | GetUseJacobianPreconditioning () const
MeasureType | GetValue (const ParametersType &parameters) const override
| ITK_DISALLOW_COPY_AND_MOVE (ParzenWindowMutualInformationImageToImageMetric)
| itkStaticConstMacro (FixedImageDimension, unsigned int, FixedImageType::ImageDimension)
| itkStaticConstMacro (MovingImageDimension, unsigned int, MovingImageType::ImageDimension)
virtual void | SetUseJacobianPreconditioning (bool _arg)
Public Member Functions inherited from itk::ParzenWindowHistogramImageToImageMetric< TFixedImage, TMovingImage >
void | GetDerivative (const ParametersType &parameters, DerivativeType &Derivative) const override
virtual double | GetFiniteDifferencePerturbation () const
virtual unsigned int | GetFixedKernelBSplineOrder () const
virtual unsigned int | GetMovingKernelBSplineOrder () const
virtual unsigned long | GetNumberOfFixedHistogramBins () const
virtual unsigned long | GetNumberOfMovingHistogramBins () const
virtual bool | GetUseDerivative () const
virtual const bool & | GetUseExplicitPDFDerivatives ()
virtual bool | GetUseFiniteDifferenceDerivative () const
void | GetValueAndDerivative (const ParametersType &parameters, MeasureType &value, DerivativeType &derivative) const override
void | Initialize () override
| ITK_DISALLOW_COPY_AND_MOVE (ParzenWindowHistogramImageToImageMetric)
| itkStaticConstMacro (FixedImageDimension, unsigned int, FixedImageType::ImageDimension)
| itkStaticConstMacro (MovingImageDimension, unsigned int, MovingImageType::ImageDimension)
virtual void | SetFiniteDifferencePerturbation (double _arg)
virtual void | SetFixedKernelBSplineOrder (unsigned int _arg)
virtual void | SetMovingKernelBSplineOrder (unsigned int _arg)
virtual void | SetNumberOfFixedHistogramBins (unsigned long _arg)
virtual void | SetNumberOfMovingHistogramBins (unsigned long _arg)
virtual void | SetUseDerivative (bool _arg)
virtual void | SetUseExplicitPDFDerivatives (bool _arg)
virtual void | SetUseFiniteDifferenceDerivative (bool _arg)
virtual void | UseExplicitPDFDerivativesOff ()
virtual void | UseExplicitPDFDerivativesOn ()
Public Member Functions inherited from itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >
virtual void | BeforeThreadedGetValueAndDerivative (const TransformParametersType &parameters) const
virtual const FixedImageLimiterType * | GetFixedImageLimiter ()
const FixedImageMaskType * | GetFixedImageMask () const override
virtual double | GetFixedLimitRangeRatio () const
ImageSamplerType * | GetImageSampler () const
virtual const MovingImageDerivativeScalesType & | GetMovingImageDerivativeScales ()
virtual const MovingImageLimiterType * | GetMovingImageLimiter ()
const MovingImageMaskType * | GetMovingImageMask () const override
virtual double | GetMovingLimitRangeRatio () const
virtual double | GetRequiredRatioOfValidSamples () const
virtual bool | GetScaleGradientWithRespectToMovingImageOrientation () const
const AdvancedTransformType * | GetTransform () const override
AdvancedTransformType * | GetTransform () override
virtual bool | GetUseFixedImageLimiter () const
virtual bool | GetUseImageSampler () const
virtual const bool & | GetUseMetricSingleThreaded ()
virtual bool | GetUseMovingImageDerivativeScales () const
virtual bool | GetUseMovingImageLimiter () const
virtual const bool & | GetUseMultiThread ()
void | Initialize () override
| ITK_DISALLOW_COPY_AND_MOVE (AdvancedImageToImageMetric)
| itkStaticConstMacro (FixedImageDimension, unsigned int, TFixedImage::ImageDimension)
| itkStaticConstMacro (MovingImageDimension, unsigned int, TMovingImage::ImageDimension)
virtual void | SetFixedImageLimiter (FixedImageLimiterType *_arg)
virtual void | SetFixedImageMask (const FixedImageMaskType *const arg)
virtual void | SetFixedLimitRangeRatio (double _arg)
virtual void | SetImageSampler (ImageSamplerType *_arg)
virtual void | SetMovingImageDerivativeScales (MovingImageDerivativeScalesType _arg)
virtual void | SetMovingImageLimiter (MovingImageLimiterType *_arg)
virtual void | SetMovingImageMask (const MovingImageMaskType *const arg)
virtual void | SetMovingLimitRangeRatio (double _arg)
virtual void | SetRequiredRatioOfValidSamples (double _arg)
virtual void | SetScaleGradientWithRespectToMovingImageOrientation (bool _arg)
virtual void | SetTransform (AdvancedTransformType *arg)
virtual void | SetUseMetricSingleThreaded (bool _arg)
virtual void | SetUseMovingImageDerivativeScales (bool _arg)
virtual void | SetUseMultiThread (bool _arg)
virtual void | UseMetricSingleThreadedOff ()
virtual void | UseMetricSingleThreadedOn ()
virtual void | UseMultiThreadOff ()
virtual void | UseMultiThreadOn ()

## Static Public Member Functions

static Pointer | New ()

## Protected Types

using | BSplineInterpolatorType
using | FixedImageIndexType
using | FixedImageIndexValueType
using | FixedImagePointType
using | IncrementalMarginalPDFType
using | JointPDFDerivativesIndexType
using | JointPDFDerivativesRegionType
using | JointPDFDerivativesSizeType
using | JointPDFDerivativesType
using | JointPDFIndexType
using | JointPDFRegionType
using | JointPDFSizeType
using | JointPDFType
using | KernelFunctionType
using | MarginalPDFType
using | MovingImageContinuousIndexType
using | MovingImageDerivativeType
using | MovingImageIndexType
using | MovingImagePointType
using | NonZeroJacobianIndicesType
using | ParzenValueContainerType
using | PDFDerivativeValueType
using | PDFValueType
Protected Types inherited from itk::ParzenWindowHistogramImageToImageMetric< TFixedImage, TMovingImage >
using | BSplineInterpolatorType
using | FixedImageIndexType
using | FixedImageIndexValueType
using | FixedImagePointType
using | IncrementalMarginalPDFIndexType = IncrementalMarginalPDFType::IndexType
using | IncrementalMarginalPDFPointer = typename IncrementalMarginalPDFType::Pointer
using | IncrementalMarginalPDFRegionType = IncrementalMarginalPDFType::RegionType
using | IncrementalMarginalPDFSizeType = IncrementalMarginalPDFType::SizeType
using | IncrementalMarginalPDFType = Image<PDFValueType, 2>
using | JointPDFDerivativesIndexType = JointPDFDerivativesType::IndexType
using | JointPDFDerivativesPointer = typename JointPDFDerivativesType::Pointer
using | JointPDFDerivativesRegionType = JointPDFDerivativesType::RegionType
using | JointPDFDerivativesSizeType = JointPDFDerivativesType::SizeType
using | JointPDFDerivativesType = Image<PDFDerivativeValueType, 3>
using | JointPDFIndexType = JointPDFType::IndexType
using | JointPDFPointer = typename JointPDFType::Pointer
using | JointPDFRegionType = JointPDFType::RegionType
using | JointPDFSizeType = JointPDFType::SizeType
using | JointPDFType = Image<PDFValueType, 2>
using | KernelFunctionPointer = typename KernelFunctionType::Pointer
using | KernelFunctionType = KernelFunctionBase2<PDFValueType>
using | MarginalPDFType = Array<PDFValueType>
using | MovingImageContinuousIndexType
using | MovingImageDerivativeType
using | MovingImageIndexType
using | MovingImagePointType
using | NonZeroJacobianIndicesType
using | OffsetValueType = typename FixedImageType::OffsetValueType
using | ParzenValueContainerType = Array<PDFValueType>
using | PDFDerivativeValueType = float
using | PDFValueType = double
Protected Types inherited from itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >
using | BSplineInterpolatorFloatPointer = typename BSplineInterpolatorFloatType::Pointer
using | BSplineInterpolatorFloatType
using | BSplineInterpolatorPointer = typename BSplineInterpolatorType::Pointer
using | BSplineInterpolatorType
using | FixedImageIndexType = typename FixedImageType::IndexType
using | FixedImageIndexValueType = typename FixedImageIndexType::IndexValueType
using | FixedImagePointType = typename TransformType::InputPointType
using | LinearInterpolatorPointer = typename LinearInterpolatorType::Pointer
using | LinearInterpolatorType = AdvancedLinearInterpolateImageFunction<MovingImageType, CoordinateRepresentationType>
using | MovingImageContinuousIndexType = typename InterpolatorType::ContinuousIndexType
using | MovingImageDerivativeType = typename BSplineInterpolatorType::CovariantVectorType
using | MovingImageIndexType = typename MovingImageType::IndexType
using | MovingImagePointType = typename TransformType::OutputPointType
using | NonZeroJacobianIndicesType = typename AdvancedTransformType::NonZeroJacobianIndicesType
using | ReducedBSplineInterpolatorPointer = typename ReducedBSplineInterpolatorType::Pointer
using | ReducedBSplineInterpolatorType

## Protected Member Functions

void | AfterThreadedComputeDerivativeLowMemory (DerivativeType &derivative) const
virtual void | ComputeJacobianPreconditioner (const TransformJacobianType &jac, const NonZeroJacobianIndicesType &nzji, DerivativeType &preconditioner, DerivativeType &divisor) const
void | GetValueAndAnalyticDerivative (const ParametersType &parameters, MeasureType &value, DerivativeType &derivative) const override
virtual void | GetValueAndAnalyticDerivativeLowMemory (const ParametersType &parameters, MeasureType &value, DerivativeType &derivative) const
void | GetValueAndFiniteDifferenceDerivative (const ParametersType &parameters, MeasureType &value, DerivativeType &derivative) const override
void | InitializeHistograms () override
void | LaunchComputeDerivativeLowMemoryThreaderCallback () const
| ParzenWindowMutualInformationImageToImageMetric ()
void | ThreadedComputeDerivativeLowMemory (ThreadIdType threadId)
| ~ParzenWindowMutualInformationImageToImageMetric () override=default
Protected Member Functions inherited from itk::ParzenWindowHistogramImageToImageMetric< TFixedImage, TMovingImage >
void | AfterThreadedComputePDFs () const
virtual void | ComputeIncrementalMarginalPDFs (const JointPDFDerivativesType *incrementalPDF, IncrementalMarginalPDFType *fixedIncrementalMarginalPDF, IncrementalMarginalPDFType *movingIncrementalMarginalPDF) const
void | ComputeMarginalPDF (const JointPDFType *jointPDF, MarginalPDFType &marginalPDF, const unsigned int direction) const
virtual void | ComputePDFs (const ParametersType &parameters) const
virtual void | ComputePDFsAndIncrementalPDFs (const ParametersType &parameters) const
virtual void | ComputePDFsAndPDFDerivatives (const ParametersType &parameters) const
virtual void | ComputePDFsSingleThreaded (const ParametersType &parameters) const
virtual void | InitializeKernels ()
void | InitializeThreadingParameters () const override
void | LaunchComputePDFsThreaderCallback () const
void | NormalizeJointPDF (JointPDFType *pdf, const double factor) const
void | NormalizeJointPDFDerivatives (JointPDFDerivativesType *pdf, const double factor) const
| ParzenWindowHistogramImageToImageMetric ()
void | PrintSelf (std::ostream &os, Indent indent) const override
void | ThreadedComputePDFs (ThreadIdType threadId)
virtual void | UpdateJointPDFAndDerivatives (const RealType fixedImageValue, const RealType movingImageValue, const DerivativeType *imageJacobian, const NonZeroJacobianIndicesType *nzji, JointPDFType *jointPDF) const
virtual void | UpdateJointPDFAndIncrementalPDFs (RealType fixedImageValue, RealType movingImageValue, RealType movingMaskValue, const DerivativeType &movingImageValuesRight, const DerivativeType &movingImageValuesLeft, const DerivativeType &movingMaskValuesRight, const DerivativeType &movingMaskValuesLeft, const NonZeroJacobianIndicesType &nzji) const
void | UpdateJointPDFDerivatives (const JointPDFIndexType &pdfIndex, double factor, const DerivativeType &imageJacobian, const NonZeroJacobianIndicesType &nzji) const
| ~ParzenWindowHistogramImageToImageMetric () override=default
Protected Member Functions inherited from itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >
| AdvancedImageToImageMetric ()
virtual void | AfterThreadedGetValue (MeasureType &) const
virtual void | AfterThreadedGetValueAndDerivative (MeasureType &, DerivativeType &) const
void | CheckForAdvancedTransform ()
void | CheckForBSplineInterpolator ()
void | CheckForBSplineTransform () const
void | CheckNumberOfSamples (unsigned long wanted, unsigned long found) const
virtual bool | EvaluateMovingImageValueAndDerivative (const MovingImagePointType &mappedPoint, RealType &movingImageValue, MovingImageDerivativeType *gradient) const
bool | EvaluateTransformJacobian (const FixedImagePointType &fixedImagePoint, TransformJacobianType &jacobian, NonZeroJacobianIndicesType &nzji) const
virtual void | EvaluateTransformJacobianInnerProduct (const TransformJacobianType &jacobian, const MovingImageDerivativeType &movingImageDerivative, DerivativeType &imageJacobian) const
bool | FastEvaluateMovingImageValueAndDerivative (const MovingImagePointType &mappedPoint, RealType &movingImageValue, MovingImageDerivativeType *gradient, const ThreadIdType threadId) const
virtual void | InitializeImageSampler ()
void | InitializeLimiters ()
virtual bool | IsInsideMovingMask (const MovingImagePointType &point) const
| itkAlignedTypedef (ITK_CACHE_LINE_ALIGNMENT, PaddedGetValueAndDerivativePerThreadStruct, AlignedGetValueAndDerivativePerThreadStruct)
| itkPadStruct (ITK_CACHE_LINE_ALIGNMENT, GetValueAndDerivativePerThreadStruct, PaddedGetValueAndDerivativePerThreadStruct)
void | LaunchGetValueAndDerivativeThreaderCallback () const
void | LaunchGetValueThreaderCallback () const
void | PrintSelf (std::ostream &os, Indent indent) const override
void | SetFixedImageMask (const typename Superclass::FixedImageMaskType *) final
void | SetFixedImageMask (typename Superclass::FixedImageMaskType *) final
void | SetMovingImageMask (const typename Superclass::MovingImageMaskType *) final
void | SetMovingImageMask (typename Superclass::MovingImageMaskType *) final
virtual void | SetUseFixedImageLimiter (bool _arg)
virtual void | SetUseImageSampler (bool _arg)
virtual void | SetUseMovingImageLimiter (bool _arg)
virtual void | ThreadedGetValue (ThreadIdType) const
virtual void | ThreadedGetValueAndDerivative (ThreadIdType) const
MovingImagePointType | TransformPoint (const FixedImagePointType &fixedImagePoint) const
| ~AdvancedImageToImageMetric () override=default

## Static Protected Member Functions

static ITK_THREAD_RETURN_FUNCTION_CALL_CONVENTION | ComputeDerivativeLowMemoryThreaderCallback (void *arg)
Static Protected Member Functions inherited from itk::ParzenWindowHistogramImageToImageMetric< TFixedImage, TMovingImage >
static ITK_THREAD_RETURN_FUNCTION_CALL_CONVENTION | ComputePDFsThreaderCallback (void *arg)
static void | EvaluateParzenValues (double parzenWindowTerm, OffsetValueType parzenWindowIndex, const KernelFunctionType &kernel, PDFValueType *parzenValues)
Static Protected Member Functions inherited from itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >
static ITK_THREAD_RETURN_FUNCTION_CALL_CONVENTION | AccumulateDerivativesThreaderCallback (void *arg)
static ITK_THREAD_RETURN_FUNCTION_CALL_CONVENTION | GetValueAndDerivativeThreaderCallback (void *arg)
static ITK_THREAD_RETURN_FUNCTION_CALL_CONVENTION | GetValueThreaderCallback (void *arg)

## Protected Attributes

ParzenWindowMutualInformationMultiThreaderParameterType | m_ParzenWindowMutualInformationThreaderParameters {}
Protected Attributes inherited from itk::ParzenWindowHistogramImageToImageMetric< TFixedImage, TMovingImage >
double | m_Alpha { 0.0 }
KernelFunctionPointer | m_DerivativeMovingKernel { nullptr }
double | m_FixedImageBinSize { 0.0 }
MarginalPDFType | m_FixedImageMarginalPDF {}
double | m_FixedImageNormalizedMin { 0.0 }
IncrementalMarginalPDFPointer | m_FixedIncrementalMarginalPDFLeft { nullptr }
IncrementalMarginalPDFPointer | m_FixedIncrementalMarginalPDFRight { nullptr }
KernelFunctionPointer | m_FixedKernel { nullptr }
double | m_FixedParzenTermToIndexOffset { 0.5 }
JointPDFDerivativesPointer | m_IncrementalJointPDFLeft {}
JointPDFDerivativesPointer | m_IncrementalJointPDFRight {}
JointPDFPointer | m_JointPDF { nullptr }
JointPDFDerivativesPointer | m_JointPDFDerivatives { nullptr }
JointPDFRegionType | m_JointPDFWindow {}
double | m_MovingImageBinSize { 0.0 }
MarginalPDFType | m_MovingImageMarginalPDF {}
double | m_MovingImageNormalizedMin { 0.0 }
IncrementalMarginalPDFPointer | m_MovingIncrementalMarginalPDFLeft { nullptr }
IncrementalMarginalPDFPointer | m_MovingIncrementalMarginalPDFRight { nullptr }
KernelFunctionPointer | m_MovingKernel { nullptr }
double | m_MovingParzenTermToIndexOffset { -1.0 }
DerivativeType | m_PerturbedAlphaLeft {}
DerivativeType | m_PerturbedAlphaRight {}
Protected Attributes inherited from itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >
AdvancedTransformType::Pointer | m_AdvancedTransform { nullptr }
FixedImageLimiterOutputType | m_FixedImageMaxLimit { 1 }
FixedImageLimiterOutputType | m_FixedImageMinLimit { 0 }
FixedImagePixelType | m_FixedImageTrueMax { 1 }
FixedImagePixelType | m_FixedImageTrueMin { 0 }
double | m_FixedLimitRangeRatio { 0.01 }
std::unique_ptr< AlignedGetValueAndDerivativePerThreadStruct[]> | m_GetValueAndDerivativePerThreadVariables
ThreadIdType | m_GetValueAndDerivativePerThreadVariablesSize { 0 }
ImageSamplerPointer | m_ImageSampler { nullptr }
MovingImageLimiterOutputType | m_MovingImageMaxLimit { 1 }
MovingImageLimiterOutputType | m_MovingImageMinLimit { 0 }
MovingImagePixelType | m_MovingImageTrueMax { 1 }
MovingImagePixelType | m_MovingImageTrueMin { 0 }
double | m_MovingLimitRangeRatio { 0.01 }
MultiThreaderParameterType | m_ThreaderMetricParameters {}
bool | m_TransformIsBSpline { false }
bool | m_UseMetricSingleThreaded { true }
bool | m_UseMultiThread { false }

## Private Types

using | PRatioArrayType = vnl_matrix<PRatioType>
using | PRatioType = double

## Private Member Functions

void | ComputeDerivativeLowMemory (DerivativeType &derivative) const
void | ComputeDerivativeLowMemorySingleThreaded (DerivativeType &derivative) const
void | ComputeValueAndPRatioArray (double &MI) const
void | UpdateDerivativeLowMemory (const RealType fixedImageValue, const RealType movingImageValue, const DerivativeType &imageJacobian, const NonZeroJacobianIndicesType &nzji, DerivativeType &derivative) const

## Private Attributes

PRatioArrayType | m_PRatioArray {}
bool | m_UseJacobianPreconditioning { false }

## Member Typedef Documentation

## BSplineInterpolatorType

template<class TFixedImage, class TMovingImage>

using itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::BSplineInterpolatorType

protected

Typedefs used for computing image derivatives.

Definition at line 236 of file itkAdvancedImageToImageMetric.h.

## ConstPointer

template<class TFixedImage, class TMovingImage>

using itk::ParzenWindowMutualInformationImageToImageMetric< TFixedImage, TMovingImage >::ConstPointer = SmartPointer<const Self>

Definition at line 85 of file itkParzenWindowMutualInformationImageToImageMetric.h.

## DerivativeValueType

template<class TFixedImage, class TMovingImage>

using itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::DerivativeValueType

Definition at line 116 of file itkAdvancedImageToImageMetric.h.

## FixedImageIndexType

template<class TFixedImage, class TMovingImage>

using itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::FixedImageIndexType

protected

Protected Typedefs Typedefs for indices and points.

Definition at line 229 of file itkAdvancedImageToImageMetric.h.

## FixedImageIndexValueType

template<class TFixedImage, class TMovingImage>

using itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::FixedImageIndexValueType

protected

Definition at line 230 of file itkAdvancedImageToImageMetric.h.

## FixedImageLimiterOutputType

template<class TFixedImage, class TMovingImage>

using itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::FixedImageLimiterOutputType

Definition at line 126 of file itkAdvancedImageToImageMetric.h.

## FixedImageLimiterType

template<class TFixedImage, class TMovingImage>

using itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::FixedImageLimiterType

Typedefs for Limiter support.

Definition at line 124 of file itkAdvancedImageToImageMetric.h.

## FixedImageMaskPointer

template<class TFixedImage, class TMovingImage>

using itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::FixedImageMaskPointer

Definition at line 111 of file itkAdvancedImageToImageMetric.h.

## FixedImageMaskType

template<class TFixedImage, class TMovingImage>

using itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::FixedImageMaskType

Definition at line 110 of file itkAdvancedImageToImageMetric.h.

## FixedImagePixelType

template<class TFixedImage, class TMovingImage>

using itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::FixedImagePixelType

Some useful extra typedefs.

Definition at line 118 of file itkAdvancedImageToImageMetric.h.

## FixedImagePointType

template<class TFixedImage, class TMovingImage>

using itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::FixedImagePointType

protected

Definition at line 233 of file itkAdvancedImageToImageMetric.h.

## ImageSampleContainerPointer

template<class TFixedImage, class TMovingImage>

using itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::ImageSampleContainerPointer

Definition at line 123 of file itkAdvancedImageToImageMetric.h.

## ImageSampleContainerType

template<class TFixedImage, class TMovingImage>

using itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::ImageSampleContainerType

Definition at line 122 of file itkAdvancedImageToImageMetric.h.

## ImageSamplerPointer

template<class TFixedImage, class TMovingImage>

using itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::ImageSamplerPointer

Definition at line 121 of file itkAdvancedImageToImageMetric.h.

## ImageSamplerType

template<class TFixedImage, class TMovingImage>

using itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::ImageSamplerType

Typedefs for the ImageSampler.

Definition at line 120 of file itkAdvancedImageToImageMetric.h.

## IncrementalMarginalPDFType

template<class TFixedImage, class TMovingImage>

using itk::ParzenWindowHistogramImageToImageMetric< TFixedImage, TMovingImage >::IncrementalMarginalPDFType

protected

Definition at line 248 of file itkParzenWindowHistogramImageToImageMetric.h.

## JointPDFDerivativesIndexType

template<class TFixedImage, class TMovingImage>

using itk::ParzenWindowHistogramImageToImageMetric< TFixedImage, TMovingImage >::JointPDFDerivativesIndexType

protected

Definition at line 253 of file itkParzenWindowHistogramImageToImageMetric.h.

## JointPDFDerivativesRegionType

template<class TFixedImage, class TMovingImage>

using itk::ParzenWindowHistogramImageToImageMetric< TFixedImage, TMovingImage >::JointPDFDerivativesRegionType

protected

Definition at line 254 of file itkParzenWindowHistogramImageToImageMetric.h.

## JointPDFDerivativesSizeType

template<class TFixedImage, class TMovingImage>

using itk::ParzenWindowHistogramImageToImageMetric< TFixedImage, TMovingImage >::JointPDFDerivativesSizeType

protected

Definition at line 255 of file itkParzenWindowHistogramImageToImageMetric.h.

## JointPDFDerivativesType

template<class TFixedImage, class TMovingImage>

using itk::ParzenWindowHistogramImageToImageMetric< TFixedImage, TMovingImage >::JointPDFDerivativesType

protected

Definition at line 246 of file itkParzenWindowHistogramImageToImageMetric.h.

## JointPDFIndexType

template<class TFixedImage, class TMovingImage>

using itk::ParzenWindowHistogramImageToImageMetric< TFixedImage, TMovingImage >::JointPDFIndexType

protected

Definition at line 250 of file itkParzenWindowHistogramImageToImageMetric.h.

## JointPDFRegionType

template<class TFixedImage, class TMovingImage>

using itk::ParzenWindowHistogramImageToImageMetric< TFixedImage, TMovingImage >::JointPDFRegionType

protected

Definition at line 251 of file itkParzenWindowHistogramImageToImageMetric.h.

## JointPDFSizeType

template<class TFixedImage, class TMovingImage>

using itk::ParzenWindowHistogramImageToImageMetric< TFixedImage, TMovingImage >::JointPDFSizeType

protected

Definition at line 252 of file itkParzenWindowHistogramImageToImageMetric.h.

## JointPDFType

template<class TFixedImage, class TMovingImage>

using itk::ParzenWindowHistogramImageToImageMetric< TFixedImage, TMovingImage >::JointPDFType

protected

Definition at line 244 of file itkParzenWindowHistogramImageToImageMetric.h.

## KernelFunctionType

template<class TFixedImage, class TMovingImage>

using itk::ParzenWindowHistogramImageToImageMetric< TFixedImage, TMovingImage >::KernelFunctionType

protected

Typedefs for Parzen kernel.

Definition at line 262 of file itkParzenWindowHistogramImageToImageMetric.h.

## MarginalPDFType

template<class TFixedImage, class TMovingImage>

using itk::ParzenWindowHistogramImageToImageMetric< TFixedImage, TMovingImage >::MarginalPDFType

protected

Definition at line 243 of file itkParzenWindowHistogramImageToImageMetric.h.

## MovingImageContinuousIndexType

template<class TFixedImage, class TMovingImage>

using itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::MovingImageContinuousIndexType

protected

Definition at line 235 of file itkAdvancedImageToImageMetric.h.

## MovingImageDerivativeScalesType

template<class TFixedImage, class TMovingImage>

using itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::MovingImageDerivativeScalesType

Definition at line 128 of file itkAdvancedImageToImageMetric.h.

## MovingImageDerivativeType

template<class TFixedImage, class TMovingImage>

using itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::MovingImageDerivativeType

protected

Definition at line 237 of file itkAdvancedImageToImageMetric.h.

## MovingImageIndexType

template<class TFixedImage, class TMovingImage>

using itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::MovingImageIndexType

protected

Definition at line 232 of file itkAdvancedImageToImageMetric.h.

## MovingImageLimiterOutputType

template<class TFixedImage, class TMovingImage>

using itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::MovingImageLimiterOutputType

Definition at line 127 of file itkAdvancedImageToImageMetric.h.

## MovingImageLimiterType

template<class TFixedImage, class TMovingImage>

using itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::MovingImageLimiterType

Definition at line 125 of file itkAdvancedImageToImageMetric.h.

## MovingImageMaskPointer

template<class TFixedImage, class TMovingImage>

using itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::MovingImageMaskPointer

Definition at line 113 of file itkAdvancedImageToImageMetric.h.

## MovingImageMaskType

template<class TFixedImage, class TMovingImage>

using itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::MovingImageMaskType

Definition at line 112 of file itkAdvancedImageToImageMetric.h.

## MovingImagePointType

template<class TFixedImage, class TMovingImage>

using itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::MovingImagePointType

protected

Definition at line 234 of file itkAdvancedImageToImageMetric.h.

## MovingImageRegionType

template<class TFixedImage, class TMovingImage>

using itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::MovingImageRegionType

Definition at line 119 of file itkAdvancedImageToImageMetric.h.

## NonZeroJacobianIndicesType

template<class TFixedImage, class TMovingImage>

using itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::NonZeroJacobianIndicesType

protected

Typedefs for support of sparse Jacobians and compact support of transformations.

Definition at line 238 of file itkAdvancedImageToImageMetric.h.

## ParzenValueContainerType

template<class TFixedImage, class TMovingImage>

using itk::ParzenWindowHistogramImageToImageMetric< TFixedImage, TMovingImage >::ParzenValueContainerType

protected

Definition at line 259 of file itkParzenWindowHistogramImageToImageMetric.h.

## PDFDerivativeValueType

template<class TFixedImage, class TMovingImage>

using itk::ParzenWindowHistogramImageToImageMetric< TFixedImage, TMovingImage >::PDFDerivativeValueType

protected

Definition at line 242 of file itkParzenWindowHistogramImageToImageMetric.h.

## PDFValueType

template<class TFixedImage, class TMovingImage>

using itk::ParzenWindowHistogramImageToImageMetric< TFixedImage, TMovingImage >::PDFValueType

protected

Typedefs for the PDFs and PDF derivatives.

Definition at line 241 of file itkParzenWindowHistogramImageToImageMetric.h.

## Pointer

template<class TFixedImage, class TMovingImage>

using itk::ParzenWindowMutualInformationImageToImageMetric< TFixedImage, TMovingImage >::Pointer = SmartPointer<Self>

Definition at line 84 of file itkParzenWindowMutualInformationImageToImageMetric.h.

## PRatioArrayType

template<class TFixedImage, class TMovingImage>

using itk::ParzenWindowMutualInformationImageToImageMetric< TFixedImage, TMovingImage >::PRatioArrayType = vnl_matrix<PRatioType>

private

Definition at line 256 of file itkParzenWindowMutualInformationImageToImageMetric.h.

## PRatioType

template<class TFixedImage, class TMovingImage>

using itk::ParzenWindowMutualInformationImageToImageMetric< TFixedImage, TMovingImage >::PRatioType = double

private

Helper array for storing the values of the JointPDF ratios.

Definition at line 255 of file itkParzenWindowMutualInformationImageToImageMetric.h.

## Self

template<class TFixedImage, class TMovingImage>

using itk::ParzenWindowMutualInformationImageToImageMetric< TFixedImage, TMovingImage >::Self = ParzenWindowMutualInformationImageToImageMetric

Standard class typedefs.

Definition at line 82 of file itkParzenWindowMutualInformationImageToImageMetric.h.

## Superclass

template<class TFixedImage, class TMovingImage>

using itk::ParzenWindowMutualInformationImageToImageMetric< TFixedImage, TMovingImage >::Superclass = ParzenWindowHistogramImageToImageMetric<TFixedImage, TMovingImage>

Definition at line 83 of file itkParzenWindowMutualInformationImageToImageMetric.h.

## ThreadInfoType

template<class TFixedImage, class TMovingImage>

using itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::ThreadInfoType

Typedef for multi-threading.

Definition at line 129 of file itkAdvancedImageToImageMetric.h.

## Constructor & Destructor Documentation

## ParzenWindowMutualInformationImageToImageMetric()

template<class TFixedImage, class TMovingImage>

itk::ParzenWindowMutualInformationImageToImageMetric< TFixedImage, TMovingImage >::ParzenWindowMutualInformationImageToImageMetric | ( |  | ) |

protected

The constructor.

## ~ParzenWindowMutualInformationImageToImageMetric()

template<class TFixedImage, class TMovingImage>

itk::ParzenWindowMutualInformationImageToImageMetric< TFixedImage, TMovingImage >::~ParzenWindowMutualInformationImageToImageMetric | ( |  | ) |

override protected default

The destructor.

## Member Function Documentation

## AfterThreadedComputeDerivativeLowMemory()

template<class TFixedImage, class TMovingImage>

void itk::ParzenWindowMutualInformationImageToImageMetric< TFixedImage, TMovingImage >::AfterThreadedComputeDerivativeLowMemory | ( | DerivativeType & | derivative | ) | const

protected

Single-threadedly accumulate results.

## ComputeDerivativeLowMemory()

template<class TFixedImage, class TMovingImage>

void itk::ParzenWindowMutualInformationImageToImageMetric< TFixedImage, TMovingImage >::ComputeDerivativeLowMemory | ( | DerivativeType & | derivative | ) | const

private

## ComputeDerivativeLowMemorySingleThreaded()

template<class TFixedImage, class TMovingImage>

void itk::ParzenWindowMutualInformationImageToImageMetric< TFixedImage, TMovingImage >::ComputeDerivativeLowMemorySingleThreaded | ( | DerivativeType & | derivative | ) | const

private

Helper function to compute the derivative for the low memory variant.

## ComputeDerivativeLowMemoryThreaderCallback()

template<class TFixedImage, class TMovingImage>

ITK_THREAD_RETURN_FUNCTION_CALL_CONVENTION itk::ParzenWindowMutualInformationImageToImageMetric< TFixedImage, TMovingImage >::ComputeDerivativeLowMemoryThreaderCallback | ( | void * | arg | ) |

static protected

Helper function to launch the threads.

## ComputeJacobianPreconditioner()

template<class TFixedImage, class TMovingImage>

virtual void itk::ParzenWindowMutualInformationImageToImageMetric< TFixedImage, TMovingImage >::ComputeJacobianPreconditioner | ( | const TransformJacobianType & | jac,
|  | const NonZeroJacobianIndicesType & | nzji,
|  | DerivativeType & | preconditioner,
|  | DerivativeType & | divisor ) const

protected virtual

Compute terms to implement preconditioning as proposed by Tustison et al.

## ComputeValueAndPRatioArray()

template<class TFixedImage, class TMovingImage>

void itk::ParzenWindowMutualInformationImageToImageMetric< TFixedImage, TMovingImage >::ComputeValueAndPRatioArray | ( | double & | MI | ) | const

private

Helper function to compute m_PRatioArray in case of low memory consumption.

## GetClassName()

template<class TFixedImage, class TMovingImage>

virtual const char * itk::ParzenWindowMutualInformationImageToImageMetric< TFixedImage, TMovingImage >::GetClassName | ( |  | ) | const

virtual

Run-time type information (and related methods).

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

Reimplemented in elastix::AdvancedMattesMutualInformationMetric< TElastix >.

## GetUseJacobianPreconditioning()

template<class TFixedImage, class TMovingImage>

virtual bool itk::ParzenWindowMutualInformationImageToImageMetric< TFixedImage, TMovingImage >::GetUseJacobianPreconditioning | ( |  | ) | const

virtual

Set/get whether to apply the technique introduced by Nicholas Tustison; default: false

## GetValue()

template<class TFixedImage, class TMovingImage>

MeasureType itk::ParzenWindowMutualInformationImageToImageMetric< TFixedImage, TMovingImage >::GetValue | ( | const ParametersType & | parameters | ) | const

override

Get the value.

## GetValueAndAnalyticDerivative()

template<class TFixedImage, class TMovingImage>

void itk::ParzenWindowMutualInformationImageToImageMetric< TFixedImage, TMovingImage >::GetValueAndAnalyticDerivative | ( | const ParametersType & | parameters,
|  | MeasureType & | value,
|  | DerivativeType & | derivative ) const

override protected virtual

Get the value and analytic derivative. Called by GetValueAndDerivative if UseFiniteDifferenceDerivative == false.

Implements a version that only loops once over the samples, but uses a large block of memory to explicitly store the joint histogram derivative. It's size is #FixedHistogramBins * #MovingHistogramBins * #parameters * float.

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

## GetValueAndAnalyticDerivativeLowMemory()

template<class TFixedImage, class TMovingImage>

virtual void itk::ParzenWindowMutualInformationImageToImageMetric< TFixedImage, TMovingImage >::GetValueAndAnalyticDerivativeLowMemory | ( | const ParametersType & | parameters,
|  | MeasureType & | value,
|  | DerivativeType & | derivative ) const

protected virtual

Get the value and analytic derivative. Called by GetValueAndDerivative if UseFiniteDifferenceDerivative == false and UseExplicitPDFDerivatives == false.

Implements a version that avoids the large memory allocation of the explicit joint histogram derivative. This comes at the cost of looping over the samples twice, instead of once. The first time does not require GetJacobian() and moving image derivatives, however.

## GetValueAndFiniteDifferenceDerivative()

template<class TFixedImage, class TMovingImage>

void itk::ParzenWindowMutualInformationImageToImageMetric< TFixedImage, TMovingImage >::GetValueAndFiniteDifferenceDerivative | ( | const ParametersType & | parameters,
|  | MeasureType & | value,
|  | DerivativeType & | derivative ) const

override protected virtual

Get the value and finite difference derivative. Called by GetValueAndDerivative if UseFiniteDifferenceDerivative == true.

This is really only here for experimental purposes.

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

## InitializeHistograms()

template<class TFixedImage, class TMovingImage>

void itk::ParzenWindowMutualInformationImageToImageMetric< TFixedImage, TMovingImage >::InitializeHistograms | ( |  | ) |

override protected virtual

Some initialization functions, called by Initialize.

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

## ITK_DISALLOW_COPY_AND_MOVE()

template<class TFixedImage, class TMovingImage>

itk::ParzenWindowMutualInformationImageToImageMetric< TFixedImage, TMovingImage >::ITK_DISALLOW_COPY_AND_MOVE | ( | ParzenWindowMutualInformationImageToImageMetric< TFixedImage, TMovingImage > |  | ) |

## itkStaticConstMacro() [1/2]

template<class TFixedImage, class TMovingImage>

itk::ParzenWindowMutualInformationImageToImageMetric< TFixedImage, TMovingImage >::itkStaticConstMacro | ( | FixedImageDimension | ,
|  | unsigned int | ,
|  | FixedImageType::ImageDimension | )

The fixed image dimension.

## itkStaticConstMacro() [2/2]

template<class TFixedImage, class TMovingImage>

itk::ParzenWindowMutualInformationImageToImageMetric< TFixedImage, TMovingImage >::itkStaticConstMacro | ( | MovingImageDimension | ,
|  | unsigned int | ,
|  | MovingImageType::ImageDimension | )

The moving image dimension.

## LaunchComputeDerivativeLowMemoryThreaderCallback()

template<class TFixedImage, class TMovingImage>

void itk::ParzenWindowMutualInformationImageToImageMetric< TFixedImage, TMovingImage >::LaunchComputeDerivativeLowMemoryThreaderCallback | ( |  | ) | const

protected

Helper function to launch the threads.

## New()

template<class TFixedImage, class TMovingImage>

Pointer itk::ParzenWindowMutualInformationImageToImageMetric< TFixedImage, TMovingImage >::New | ( |  | ) |

static

Method for creation through the object factory.

## SetUseJacobianPreconditioning()

template<class TFixedImage, class TMovingImage>

virtual void itk::ParzenWindowMutualInformationImageToImageMetric< TFixedImage, TMovingImage >::SetUseJacobianPreconditioning | ( | bool | _arg | ) |

virtual

## ThreadedComputeDerivativeLowMemory()

template<class TFixedImage, class TMovingImage>

void itk::ParzenWindowMutualInformationImageToImageMetric< TFixedImage, TMovingImage >::ThreadedComputeDerivativeLowMemory | ( | ThreadIdType | threadId | ) |

protected

Multi-threaded versions of the ComputePDF function.

## UpdateDerivativeLowMemory()

template<class TFixedImage, class TMovingImage>

void itk::ParzenWindowMutualInformationImageToImageMetric< TFixedImage, TMovingImage >::UpdateDerivativeLowMemory | ( | const RealType | fixedImageValue,
|  | const RealType | movingImageValue,
|  | const DerivativeType & | imageJacobian,
|  | const NonZeroJacobianIndicesType & | nzji,
|  | DerivativeType & | derivative ) const

private

Helper function to update the derivative for the low memory variant.

## Field Documentation

## m_ParzenWindowMutualInformationThreaderParameters

template<class TFixedImage, class TMovingImage>

ParzenWindowMutualInformationMultiThreaderParameterType itk::ParzenWindowMutualInformationImageToImageMetric< TFixedImage, TMovingImage >::m_ParzenWindowMutualInformationThreaderParameters {}

protected

Definition at line 235 of file itkParzenWindowMutualInformationImageToImageMetric.h.

## m_PRatioArray

template<class TFixedImage, class TMovingImage>

PRatioArrayType itk::ParzenWindowMutualInformationImageToImageMetric< TFixedImage, TMovingImage >::m_PRatioArray {}

mutable private

Definition at line 257 of file itkParzenWindowMutualInformationImageToImageMetric.h.

## m_UseJacobianPreconditioning

template<class TFixedImage, class TMovingImage>

bool itk::ParzenWindowMutualInformationImageToImageMetric< TFixedImage, TMovingImage >::m_UseJacobianPreconditioning { false }

private

Setting

Definition at line 260 of file itkParzenWindowMutualInformationImageToImageMetric.h.

Generated on 1768596610 for elastix by 1.15.0 |