18 #ifndef itkDemonsImageToImageMetricv4GetValueAndDerivativeThreader_h
19 #define itkDemonsImageToImageMetricv4GetValueAndDerivativeThreader_h
32 template <
typename TDomainPartitioner,
typename TImageToImageMetric,
typename TDemonsMetric>
50 using typename Superclass::DomainType;
51 using typename Superclass::AssociateType;
54 using typename Superclass::VirtualPointType;
55 using typename Superclass::VirtualIndexType;
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;
65 using typename Superclass::InternalComputationValueType;
66 using typename Superclass::NumberOfParametersType;
67 using typename Superclass::ImageDimensionType;
71 : m_DemonsAssociate(nullptr)
78 BeforeThreadedExecution()
override;
84 ProcessPoint(
const VirtualIndexType & virtualIndex,
85 const VirtualPointType & virtualPoint,
86 const FixedImagePointType & mappedFixedPoint,
87 const FixedImagePixelType & fixedImageValue,
88 const FixedImageGradientType & fixedImageGradient,
89 const MovingImagePointType & mappedMovingPoint,
90 const MovingImagePixelType & movingImageValue,
91 const MovingImageGradientType & movingImageGradient,
92 MeasureType & metricValueReturn,
93 DerivativeType & localDerivativeReturn,
99 TDemonsMetric * m_DemonsAssociate{};
104 #ifndef ITK_MANUAL_INSTANTIATION
105 # include "itkDemonsImageToImageMetricv4GetValueAndDerivativeThreader.hxx"