ITK  4.1.0
Insight Segmentation and Registration Toolkit
Public Types | Public Member Functions | Private Attributes
itk::Statistics::DistanceMetric< TVector > Class Template Reference

#include <itkDistanceMetric.h>

+ Inheritance diagram for itk::Statistics::DistanceMetric< TVector >:
+ Collaboration diagram for itk::Statistics::DistanceMetric< TVector >:

List of all members.

Public Types

typedef SmartPointer< const SelfConstPointer
typedef unsigned int MeasurementVectorSizeType
typedef TVector MeasurementVectorType
typedef Array< double > OriginType
typedef SmartPointer< SelfPointer
typedef DistanceMetric Self
typedef FunctionBase< TVector,
double > 
Superclass

Public Member Functions

virtual double Evaluate (const MeasurementVectorType &x) const =0
virtual double Evaluate (const MeasurementVectorType &x1, const MeasurementVectorType &x2) const =0
virtual const char * GetNameOfClass () const
virtual const OriginTypeGetOrigin ()
virtual void SetMeasurementVectorSize (MeasurementVectorSizeType s)
void SetOrigin (const OriginType &x)

Private Attributes

MeasurementVectorSizeType m_MeasurementVectorSize
OriginType m_Origin
virtual MeasurementVectorSizeType GetMeasurementVectorSize () const
 DistanceMetric ()
virtual ~DistanceMetric ()
void PrintSelf (std::ostream &os, Indent indent) const

Detailed Description

template<class TVector>
class itk::Statistics::DistanceMetric< TVector >

this class declares common interfaces for distance functions.

As a function derived from FunctionBase, users use Evaluate method to get result.

To use this function users should first set the origin by calling SetOrigin() function, then call Evaluate() method with a point to get the distance between the origin point and the evaluation point.

See also:
EuclideanSquareDistanceMetric
EuclideanDistanceMetric
ManhattanDistanceMetric

Definition at line 47 of file itkDistanceMetric.h.


Member Typedef Documentation

template<class TVector>
typedef SmartPointer< const Self > itk::Statistics::DistanceMetric< TVector >::ConstPointer
template<class TVector>
typedef unsigned int itk::Statistics::DistanceMetric< TVector >::MeasurementVectorSizeType
template<class TVector>
typedef TVector itk::Statistics::DistanceMetric< TVector >::MeasurementVectorType
template<class TVector>
typedef Array< double > itk::Statistics::DistanceMetric< TVector >::OriginType
template<class TVector>
typedef SmartPointer< Self > itk::Statistics::DistanceMetric< TVector >::Pointer
template<class TVector>
typedef DistanceMetric itk::Statistics::DistanceMetric< TVector >::Self
template<class TVector>
typedef FunctionBase< TVector, double > itk::Statistics::DistanceMetric< TVector >::Superclass

Constructor & Destructor Documentation

template<class TVector>
itk::Statistics::DistanceMetric< TVector >::DistanceMetric ( ) [protected]

Get method for the length of the measurement vector

template<class TVector>
virtual itk::Statistics::DistanceMetric< TVector >::~DistanceMetric ( ) [inline, protected, virtual]

Get method for the length of the measurement vector

Definition at line 134 of file itkDistanceMetric.h.


Member Function Documentation

template<class TVector>
virtual double itk::Statistics::DistanceMetric< TVector >::Evaluate ( const MeasurementVectorType x) const [pure virtual]
template<class TVector>
virtual double itk::Statistics::DistanceMetric< TVector >::Evaluate ( const MeasurementVectorType x1,
const MeasurementVectorType x2 
) const [pure virtual]

Gets the distance between x1 and x2. This method is used by KdTreeKMeans estimators. When the estimator is refactored, this method should be removed. Distance between two measurement vectors can be computed by setting one of them as an origin of the distane and using the Evaluate method with a single argument

Implemented in itk::Statistics::MahalanobisDistanceMetric< TVector >, itk::Statistics::ManhattanDistanceMetric< TVector >, itk::Statistics::EuclideanDistanceMetric< TVector >, itk::Statistics::EuclideanDistanceMetric< ParameterType >, and itk::Statistics::EuclideanSquareDistanceMetric< TVector >.

template<class TVector>
virtual MeasurementVectorSizeType itk::Statistics::DistanceMetric< TVector >::GetMeasurementVectorSize ( ) const [virtual]

Get method for the length of the measurement vector

template<class TVector>
virtual const char* itk::Statistics::DistanceMetric< TVector >::GetNameOfClass ( ) const [virtual]
template<class TVector>
virtual const OriginType& itk::Statistics::DistanceMetric< TVector >::GetOrigin ( ) [virtual]
template<class TVector>
void itk::Statistics::DistanceMetric< TVector >::PrintSelf ( std::ostream &  os,
Indent  indent 
) const [protected, virtual]

Get method for the length of the measurement vector

Reimplemented from itk::Object.

Reimplemented in itk::Statistics::MahalanobisDistanceMetric< TVector >.

template<class TVector>
virtual void itk::Statistics::DistanceMetric< TVector >::SetMeasurementVectorSize ( MeasurementVectorSizeType  s) [inline, virtual]

Set method for the length of the measurement vector

Reimplemented in itk::Statistics::MahalanobisDistanceMetric< TVector >.

Definition at line 93 of file itkDistanceMetric.h.

template<class TVector>
void itk::Statistics::DistanceMetric< TVector >::SetOrigin ( const OriginType x)

Sets the origin point that will be used for the single point version Evaluate() function. This function is necessary part of implementing the Evaluate() interface. The argument of SetOrigin() must be of type DistanceMetric::OriginType, which in most cases will be different from the TVector type. This is necessary because often times the origin would be a mean, or a vector representative of a collection of vectors.


Member Data Documentation

Number of components in the MeasurementVectorType

Definition at line 143 of file itkDistanceMetric.h.

template<class TVector>
OriginType itk::Statistics::DistanceMetric< TVector >::m_Origin [private]

Definition at line 140 of file itkDistanceMetric.h.


The documentation for this class was generated from the following file: