18 #ifndef itkGradientDifferenceImageToImageMetric_h
19 #define itkGradientDifferenceImageToImageMetric_h
57 template <
typename TFixedImage,
typename TMovingImage>
77 using typename Superclass::RealType;
78 using typename Superclass::TransformType;
79 using typename Superclass::TransformPointer;
80 using typename Superclass::TransformParametersType;
81 using typename Superclass::TransformJacobianType;
83 using typename Superclass::MeasureType;
84 using typename Superclass::DerivativeType;
85 using typename Superclass::FixedImageType;
86 using typename Superclass::MovingImageType;
87 using typename Superclass::FixedImageConstPointer;
88 using typename Superclass::MovingImageConstPointer;
93 static constexpr
unsigned int FixedImageDimension = TFixedImage::ImageDimension;
110 static constexpr
unsigned int MovedImageDimension = MovingImageType::ImageDimension;
135 Initialize()
override;
139 itkSetMacro(DerivativeDelta,
double);
140 itkGetConstReferenceMacro(DerivativeDelta,
double);
147 PrintSelf(std::ostream & os,
Indent indent)
const override;
151 ComputeMovedGradientRange()
const;
155 ComputeVariance()
const;
197 double m_DerivativeDelta{};
201 #ifndef ITK_MANUAL_INSTANTIATION
202 # include "itkGradientDifferenceImageToImageMetric.hxx"