18 #ifndef itkMattesMutualInformationImageToImageMetricv4GetValueAndDerivativeThreader_h
19 #define itkMattesMutualInformationImageToImageMetricv4GetValueAndDerivativeThreader_h
34 template <
typename TDomainPartitioner,
typename TImageToImageMetric,
typename TMattesMutualInformationMetric>
72 using PDFValueType =
typename TMattesMutualInformationMetric::PDFValueType;
73 using JointPDFType =
typename TMattesMutualInformationMetric::JointPDFType;
86 typename TMattesMutualInformationMetric::CubicBSplineDerivativeFunctionType;
88 using JacobianType =
typename TMattesMutualInformationMetric::JacobianType;
92 : m_MattesAssociate(nullptr)
96 BeforeThreadedExecution()
override;
99 AfterThreadedExecution()
override;
105 ProcessPoint(
const VirtualIndexType & virtualIndex,
106 const VirtualPointType & virtualPoint,
107 const FixedImagePointType & mappedFixedPoint,
108 const FixedImagePixelType & fixedImageValue,
109 const FixedImageGradientType & mappedFixedImageGradient,
110 const MovingImagePointType & mappedMovingPoint,
111 const MovingImagePixelType & movingImageValue,
112 const MovingImageGradientType & movingImageGradient,
113 MeasureType & metricValueReturn,
114 DerivativeType & localDerivativeReturn,
119 ComputePDFDerivativesLocalSupportTransform(
const JacobianType & jacobian,
120 const MovingImageGradientType & movingImageGradient,
121 const PDFValueType & cubicBSplineDerivativeValue,
122 DerivativeValueType * localSupportDerivativeResultPtr)
const;
132 #ifndef ITK_MANUAL_INSTANTIATION
133 # include "itkMattesMutualInformationImageToImageMetricv4GetValueAndDerivativeThreader.hxx"