18 #ifndef itkHistogramImageToImageMetric_h 19 #define itkHistogramImageToImageMetric_h 38 template<
typename TFixedImage,
typename TMovingImage >
86 void SetTransform(TransformType *transform) ITK_OVERRIDE;
90 itkSetMacro(HistogramSize, HistogramSizeType);
93 itkGetConstReferenceMacro(HistogramSize, HistogramSizeType);
97 itkSetMacro(UpperBoundIncreaseFactor,
double);
98 itkGetConstMacro(UpperBoundIncreaseFactor,
double);
102 itkSetMacro(PaddingValue, FixedImagePixelType);
105 itkGetConstReferenceMacro(PaddingValue, FixedImagePixelType);
110 itkGetConstReferenceMacro(Histogram, HistogramPointer);
115 itkSetMacro(UsePaddingValue,
bool);
116 itkGetConstMacro(UsePaddingValue,
bool);
120 itkSetMacro(DerivativeStepLength,
double);
123 itkGetConstMacro(DerivativeStepLength,
double);
129 itkSetMacro(DerivativeStepLengthScales, ScalesType);
132 itkGetConstReferenceMacro(DerivativeStepLengthScales, ScalesType);
135 MeasureType
GetValue(const TransformParametersType & parameters) const ITK_OVERRIDE;
138 void GetDerivative(const TransformParametersType & parameters,
139 DerivativeType & derivative) const ITK_OVERRIDE;
144 DerivativeType & Derivative) const ITK_OVERRIDE;
166 virtual ~HistogramImageToImageMetric() {}
191 HistogramType & histogram)
const;
196 unsigned int parameter,
198 HistogramType & histogram)
const;
201 void CopyHistogram(HistogramType & target, HistogramType & source)
const;
205 virtual MeasureType
EvaluateMeasure(HistogramType & histogram)
const = 0;
212 void operator=(const Self &) ITK_DELETE_FUNCTION;
234 #ifndef ITK_MANUAL_INSTANTIATION 235 #include "itkHistogramImageToImageMetric.hxx" 238 #endif // itkHistogramImageToImageMetric_h bool m_LowerBoundSetByUser
Array class with size defined at construction time.
Superclass::TransformPointer TransformPointer
TransformType::OutputPointType OutputPointType
Superclass::InputPointType InputPointType
HistogramSizeType m_HistogramSize
HistogramType::Pointer HistogramPointer
TransformType::InputPointType InputPointType
Superclass::DerivativeType DerivativeType
Superclass::FixedImageType FixedImageType
void SetLowerBound(const MeasurementVectorType &bound)
Superclass::FixedImageType::PixelType FixedImagePixelType
This class stores measurement vectors in the context of n-dimensional histogram.
TransformType::Pointer TransformPointer
void ComputeHistogram(const TransformParametersType ¶meters, HistogramType &histogram) const
The "itk" namespace contains all Insight Segmentation and Registration Toolkit (ITK) classes...
NumericTraits< MovingImagePixelType >::RealType RealType
SmartPointer< const Self > ConstPointer
Superclass::DerivativeType DerivativeType
MovingImageType::ConstPointer MovingImageConstPointer
void SetUpperBound(const MeasurementVectorType &bound)
void CopyHistogram(HistogramType &target, HistogramType &source) const
double m_DerivativeStepLength
void PrintSelf(std::ostream &os, Indent indent) const override
virtual MeasureType EvaluateMeasure(HistogramType &histogram) const =0
TFixedImage FixedImageType
Superclass::FixedImageConstPointer FixedImageConstPointerType
FixedImagePixelType m_PaddingValue
Superclass::MeasurementVectorType MeasurementVectorType
TMovingImage MovingImageType
void GetValueAndDerivative(const TransformParametersType ¶meters, MeasureType &Value, DerivativeType &Derivative) const override
HistogramImageToImageMetric()
const MeasurementVectorType & GetUpperBound() const
Statistics::Histogram< double > HistogramType
Standard exception handling object.
MeasureType GetValue(const TransformParametersType ¶meters) const override
HistogramType::MeasurementVectorType MeasurementVectorType
Superclass::TransformType TransformType
bool m_UpperBoundSetByUser
MeasurementVectorType m_LowerBound
Superclass::TransformParametersType TransformParametersType
Superclass::MeasureType MeasureType
TransformType::JacobianType TransformJacobianType
void Initialize() override
HistogramType::SizeType HistogramSizeType
Superclass::MovingImageType MovingImageType
HistogramImageToImageMetric Self
MeasurementVectorType m_UpperBound
Superclass::TransformJacobianType TransformJacobianType
Superclass::GradientPixelType GradientPixelType
Control indentation during Print() invocation.
FixedImageType::ConstPointer FixedImageConstPointer
SmartPointer< Self > Pointer
const MeasurementVectorType & GetLowerBound() const
Superclass::OutputPointType OutputPointType
Computes similarity between two objects to be registered.
Superclass::MeasureType MeasureType
CovariantVector< RealType, itkGetStaticConstMacro(MovingImageDimension) > GradientPixelType
ScalesType m_DerivativeStepLengthScales
Transform< CoordinateRepresentationType, itkGetStaticConstMacro(MovingImageDimension), itkGetStaticConstMacro(FixedImageDimension) > TransformType
Computes similarity between regions of two images.
HistogramPointer m_Histogram
TransformType::ParametersType TransformParametersType
void SetTransform(TransformType *transform) override
Superclass::MovingImageType::PixelType MovingImagePixelType
Superclass::RealType RealType
void GetDerivative(const TransformParametersType ¶meters, DerivativeType &derivative) const override
Superclass::MovingImageConstPointer MovingImageConstPointerType
double m_UpperBoundIncreaseFactor
ImageToImageMetric< TFixedImage, TMovingImage > Superclass