18 #ifndef itkCorrelationImageToImageMetricv4GetValueAndDerivativeThreader_h
19 #define itkCorrelationImageToImageMetricv4GetValueAndDerivativeThreader_h
32 template <
typename TDomainPartitioner,
typename TImageToImageMetric,
typename TCorrelationMetric>
50 using typename Superclass::DomainType;
51 using typename Superclass::AssociateType;
54 using typename Superclass::VirtualIndexType;
55 using typename Superclass::VirtualPointType;
56 using typename Superclass::FixedImagePointType;
57 using typename Superclass::FixedImagePixelType;
58 using typename Superclass::FixedImageGradientType;
59 using typename Superclass::MovingImagePointType;
60 using typename Superclass::MovingImagePixelType;
61 using typename Superclass::MovingImageGradientType;
62 using typename Superclass::MeasureType;
63 using typename Superclass::DerivativeType;
64 using typename Superclass::DerivativeValueType;
71 using typename Superclass::InternalComputationValueType;
72 using typename Superclass::NumberOfParametersType;
84 BeforeThreadedExecution()
override;
94 AfterThreadedExecution()
override;
102 ProcessVirtualPoint(
const VirtualIndexType & virtualIndex,
103 const VirtualPointType & virtualPoint,
110 ProcessPoint(
const VirtualIndexType & virtualIndex,
111 const VirtualPointType & virtualPoint,
112 const FixedImagePointType & mappedFixedPoint,
113 const FixedImagePixelType & fixedImageValue,
114 const FixedImageGradientType & mappedFixedImageGradient,
115 const MovingImagePointType & mappedMovingPoint,
116 const MovingImagePixelType & movingImageValue,
117 const MovingImageGradientType & movingImageGradient,
118 MeasureType & metricValueReturn,
119 DerivativeType & localDerivativeReturn,
134 InternalComputationValueType
fm;
135 InternalComputationValueType
m2;
136 InternalComputationValueType
f2;
137 InternalComputationValueType
m;
138 InternalComputationValueType
f;
143 itkPadStruct(ITK_CACHE_LINE_ALIGNMENT,
145 PaddedCorrelationMetricValueDerivativePerThreadStruct);
146 itkAlignedTypedef(ITK_CACHE_LINE_ALIGNMENT,
147 PaddedCorrelationMetricValueDerivativePerThreadStruct,
148 AlignedCorrelationMetricValueDerivativePerThreadStruct);
159 #ifndef ITK_MANUAL_INSTANTIATION
160 # include "itkCorrelationImageToImageMetricv4GetValueAndDerivativeThreader.hxx"