18 #ifndef itkHistogramImageToImageMetric_h
19 #define itkHistogramImageToImageMetric_h
38 template <
typename TFixedImage,
typename TMovingImage>
54 using typename Superclass::RealType;
55 using typename Superclass::TransformType;
56 using typename Superclass::TransformPointer;
57 using typename Superclass::TransformParametersType;
58 using typename Superclass::TransformJacobianType;
59 using typename Superclass::GradientPixelType;
60 using typename Superclass::InputPointType;
61 using typename Superclass::OutputPointType;
62 using typename Superclass::MeasureType;
63 using typename Superclass::DerivativeType;
64 using typename Superclass::FixedImageType;
66 using typename Superclass::MovingImageType;
82 Initialize()
override;
98 itkSetMacro(UpperBoundIncreaseFactor,
double);
99 itkGetConstMacro(UpperBoundIncreaseFactor,
double);
116 itkSetMacro(UsePaddingValue,
bool);
117 itkGetConstMacro(UsePaddingValue,
bool);
121 itkSetMacro(DerivativeStepLength,
double);
124 itkGetConstMacro(DerivativeStepLength,
double);
130 itkSetMacro(DerivativeStepLengthScales,
ScalesType);
133 itkGetConstReferenceMacro(DerivativeStepLengthScales,
ScalesType);
157 GetLowerBound()
const;
167 GetUpperBound()
const;
186 double m_UpperBoundIncreaseFactor{};
190 bool m_LowerBoundSetByUser{};
194 bool m_UpperBoundSetByUser{};
199 ComputeHistogram(
const TransformParametersType & parameters, HistogramType & histogram)
const;
204 ComputeHistogram(
const TransformParametersType & parameters,
205 unsigned int parameter,
207 HistogramType & histogram)
const;
211 CopyHistogram(HistogramType & target, HistogramType & source)
const;
216 EvaluateMeasure(HistogramType & histogram)
const = 0;
220 PrintSelf(std::ostream & os,
Indent indent)
const override;
229 bool m_UsePaddingValue{};
232 double m_DerivativeStepLength{};
243 #ifndef ITK_MANUAL_INSTANTIATION
244 # include "itkHistogramImageToImageMetric.hxx"
247 #endif // itkHistogramImageToImageMetric_h