18 #ifndef itkKullbackLeiblerCompareHistogramImageToImageMetric_h
19 #define itkKullbackLeiblerCompareHistogramImageToImageMetric_h
71 template <
typename TFixedImage,
typename TMovingImage>
91 using typename Superclass::RealType;
92 using typename Superclass::TransformType;
93 using typename Superclass::TransformPointer;
95 using typename Superclass::TransformParametersType;
96 using typename Superclass::TransformJacobianType;
97 using typename Superclass::GradientPixelType;
99 using typename Superclass::MeasureType;
100 using typename Superclass::DerivativeType;
101 using typename Superclass::FixedImageType;
102 using typename Superclass::MovingImageType;
103 using typename Superclass::FixedImageConstPointer;
104 using typename Superclass::MovingImageConstPointer;
106 using typename Superclass::HistogramType;
107 using typename Superclass::HistogramSizeType;
110 using typename Superclass::HistogramFrequencyType;
111 using typename Superclass::HistogramIteratorType;
112 using typename Superclass::HistogramPointerType;
113 using typename Superclass::InterpolatorType;
114 using typename Superclass::InterpolatorPointer;
117 itkSetMacro(Epsilon,
double);
120 itkGetConstReferenceMacro(Epsilon,
double);
126 return this->GetTransform()->GetNumberOfParameters();
133 Initialize()
override;
141 PrintSelf(std::ostream & os,
Indent indent)
const override;
146 FormTrainingHistogram();
150 EvaluateMeasure(HistogramType & histogram)
const override;
156 #ifndef ITK_MANUAL_INSTANTIATION
157 # include "itkKullbackLeiblerCompareHistogramImageToImageMetric.hxx"
160 #endif // itkKullbackLeiblerCompareHistogramImageToImageMetric_h