18 #ifndef itkDemonsImageToImageMetricv4GetValueAndDerivativeThreader_h
19 #define itkDemonsImageToImageMetricv4GetValueAndDerivativeThreader_h
32 template <
typename TDomainPartitioner,
typename TImageToImageMetric,
typename TDemonsMetric>
49 using typename Superclass::DomainType;
50 using typename Superclass::AssociateType;
53 using typename Superclass::VirtualPointType;
54 using typename Superclass::VirtualIndexType;
55 using typename Superclass::FixedImagePointType;
56 using typename Superclass::FixedImagePixelType;
57 using typename Superclass::FixedImageGradientType;
58 using typename Superclass::MovingImagePointType;
59 using typename Superclass::MovingImagePixelType;
60 using typename Superclass::MovingImageGradientType;
61 using typename Superclass::MeasureType;
62 using typename Superclass::DerivativeType;
63 using typename Superclass::DerivativeValueType;
64 using typename Superclass::InternalComputationValueType;
65 using typename Superclass::NumberOfParametersType;
66 using typename Superclass::ImageDimensionType;
70 : m_DemonsAssociate(nullptr)
77 BeforeThreadedExecution()
override;
83 ProcessPoint(
const VirtualIndexType & virtualIndex,
84 const VirtualPointType & virtualPoint,
85 const FixedImagePointType & mappedFixedPoint,
86 const FixedImagePixelType & fixedImageValue,
87 const FixedImageGradientType & fixedImageGradient,
88 const MovingImagePointType & mappedMovingPoint,
89 const MovingImagePixelType & movingImageValue,
90 const MovingImageGradientType & movingImageGradient,
91 MeasureType & metricValueReturn,
92 DerivativeType & localDerivativeReturn,
98 TDemonsMetric * m_DemonsAssociate{};
103 #ifndef ITK_MANUAL_INSTANTIATION
104 # include "itkDemonsImageToImageMetricv4GetValueAndDerivativeThreader.hxx"