18#ifndef itkDistanceMetric_h
19#define itkDistanceMetric_h
47template <
typename TVector>
100 if (MeasurementVectorTraits::IsResizable<MeasurementVectorType>({}))
105 if (s == this->m_MeasurementVectorSize)
111 this->m_MeasurementVectorSize = s;
121 if (defaultLength != s)
123 itkExceptionMacro(
"Attempting to change the measurement vector size of a non-resizable vector type");
147#ifndef ITK_MANUAL_INSTANTIATION
148# include "itkDistanceMetric.hxx"
Base class for all ITK function objects.
Control indentation during Print() invocation.
Light weight base class for most itk classes.
static unsigned int GetLength()
this class declares common interfaces for distance functions.
virtual double Evaluate(const MeasurementVectorType &x1, const MeasurementVectorType &x2) const =0
void SetOrigin(const OriginType &x)
~DistanceMetric() override=default
virtual void SetMeasurementVectorSize(MeasurementVectorSizeType s)
TVector MeasurementVectorType
double Evaluate(const MeasurementVectorType &x) const override=0
unsigned int MeasurementVectorSizeType
void PrintSelf(std::ostream &os, Indent indent) const override
The "itk" namespace contains all Insight Segmentation and Registration Toolkit (ITK) classes....