ITK  4.2.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 Types inherited from itk::FunctionBase< TVector, double >
typedef TVector InputType
typedef double OutputType
- Public Types inherited from itk::Object
- Public Types inherited from itk::LightObject

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)
- Protected Member Functions inherited from itk::FunctionBase< TVector, double >
 FunctionBase ()
 ~FunctionBase ()
- Protected Member Functions inherited from itk::Object
 Object ()
bool PrintObservers (std::ostream &os, Indent indent) const
virtual void SetTimeStamp (const TimeStamp &time)
virtual ~Object ()
- Protected Member Functions inherited from itk::LightObject
virtual LightObject::Pointer InternalClone () const
 LightObject ()
virtual void PrintHeader (std::ostream &os, Indent indent) const
virtual void PrintTrailer (std::ostream &os, Indent indent) const
virtual ~LightObject ()

Private Attributes

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

Additional Inherited Members


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 ( )
inlineprotectedvirtual

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
protectedvirtual

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)
inlinevirtual

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

template<class TVector>
MeasurementVectorSizeType itk::Statistics::DistanceMetric< TVector >::m_MeasurementVectorSize
private

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: