18 #ifndef itkMattesMutualInformationImageToImageMetricv4GetValueAndDerivativeThreader_h
19 #define itkMattesMutualInformationImageToImageMetricv4GetValueAndDerivativeThreader_h
34 template <
typename TDomainPartitioner,
typename TImageToImageMetric,
typename TMattesMutualInformationMetric >
71 using PDFValueType =
typename TMattesMutualInformationMetric::PDFValueType;
72 using JointPDFType =
typename TMattesMutualInformationMetric::JointPDFType;
86 using JacobianType =
typename TMattesMutualInformationMetric::JacobianType;
90 m_MattesAssociate(nullptr)
93 void BeforeThreadedExecution()
override;
95 void AfterThreadedExecution()
override;
101 const VirtualIndexType & virtualIndex,
102 const VirtualPointType & virtualPoint,
103 const FixedImagePointType & mappedFixedPoint,
104 const FixedImagePixelType & mappedFixedPixelValue,
105 const FixedImageGradientType & mappedFixedImageGradient,
106 const MovingImagePointType & mappedMovingPoint,
107 const MovingImagePixelType & mappedMovingPixelValue,
108 const MovingImageGradientType & mappedMovingImageGradient,
109 MeasureType & metricValueReturn,
110 DerivativeType & localDerivativeReturn,
114 virtual void ComputePDFDerivativesLocalSupportTransform(
115 const JacobianType & jacobian,
116 const MovingImageGradientType & movingGradient,
117 const PDFValueType & cubicBSplineDerivativeValue,
118 DerivativeValueType * localSupportDerivativeResultPtr)
const;
128 #ifndef ITK_MANUAL_INSTANTIATION
129 #include "itkMattesMutualInformationImageToImageMetricv4GetValueAndDerivativeThreader.hxx"
unsigned int ThreadIdType
Provides threading for ImageToImageMetricv4::GetValueAndDerivative.