18 #ifndef itkDistanceMetric_h 19 #define itkDistanceMetric_h 46 template<
typename TVector >
78 itkGetConstReferenceMacro(Origin, OriginType);
82 virtual double Evaluate(
const MeasurementVectorType & x)
const ITK_OVERRIDE = 0;
89 virtual double Evaluate(
const MeasurementVectorType & x1,
90 const MeasurementVectorType & x2)
const = 0;
96 MeasurementVectorType m;
116 MeasurementVectorType m3;
117 MeasurementVectorSizeType defaultLength =
121 if ( defaultLength != s )
124 "Attempting to change the measurement \ 125 vector size of a non-resizable vector type" );
131 itkGetConstMacro(MeasurementVectorSize, MeasurementVectorSizeType);
148 #ifndef ITK_MANUAL_INSTANTIATION 149 #include "itkDistanceMetric.hxx"
SmartPointer< const Self > ConstPointer
The "itk" namespace contains all Insight Segmentation and Registration Toolkit (ITK) classes...
virtual void SetMeasurementVectorSize(MeasurementVectorSizeType s)
Array< double > OriginType
TVector MeasurementVectorType
this class declares common interfaces for distance functions.
static bool IsResizable(const TVectorType &)
MeasurementVectorSizeType m_MeasurementVectorSize
void SetOrigin(const OriginType &x)
virtual double Evaluate(const MeasurementVectorType &x) const override=0
void PrintSelf(std::ostream &os, Indent indent) const override
static unsigned int GetLength()
Base class for all ITK function objects.
FunctionBase< TVector, double > Superclass
virtual void Modified() const
virtual ~DistanceMetric()
Control indentation during Print() invocation.
SmartPointer< Self > Pointer
unsigned int MeasurementVectorSizeType