18 #ifndef itkCompareHistogramImageToImageMetric_h
19 #define itkCompareHistogramImageToImageMetric_h
55 template <
typename TFixedImage,
typename TMovingImage>
72 using typename Superclass::RealType;
73 using typename Superclass::TransformType;
74 using typename Superclass::TransformPointer;
77 using typename Superclass::TransformParametersType;
78 using typename Superclass::TransformJacobianType;
79 using typename Superclass::GradientPixelType;
81 using typename Superclass::MeasureType;
82 using typename Superclass::DerivativeType;
83 using typename Superclass::FixedImageType;
84 using typename Superclass::MovingImageType;
85 using typename Superclass::FixedImageConstPointer;
86 using typename Superclass::MovingImageConstPointer;
88 using typename Superclass::HistogramType;
89 using typename Superclass::HistogramSizeType;
97 using typename Superclass::InterpolatorType;
98 using typename Superclass::InterpolatorPointer;
100 using typename Superclass::FixedImageRegionType;
119 itkGetModifiableObjectMacro(TrainingTransform,
TransformType);
128 itkSetMacro(TrainingFixedImageRegion, FixedImageRegionType);
129 itkGetConstReferenceMacro(TrainingFixedImageRegion, FixedImageRegionType);
136 return this->GetTransform()->GetNumberOfParameters();
142 Initialize()
override;
150 PrintSelf(std::ostream & os,
Indent indent)
const override;
155 FormTrainingHistogram();
160 EvaluateMeasure(HistogramType & histogram)
const override = 0;
163 FixedImageConstPointer m_TrainingFixedImage{};
164 MovingImageConstPointer m_TrainingMovingImage{};
165 TransformPointer m_TrainingTransform{};
166 InterpolatorPointer m_TrainingInterpolator{};
167 FixedImageRegionType m_TrainingFixedImageRegion{};
173 #ifndef ITK_MANUAL_INSTANTIATION
174 # include "itkCompareHistogramImageToImageMetric.hxx"
177 #endif // itkCompareHistogramImageToImageMetric_h