ITK  4.0.0
Insight Segmentation and Registration Toolkit
Public Types | Public Member Functions | Static Public Member Functions | Protected Member Functions | Private Member Functions
itk::EuclideanDistancePointSetToPointSetMetricv4< TFixedPointSet, TMovingPointSet > Class Template Reference

Computes the Euclidan distance metric between two point sets. More...

#include <itkEuclideanDistancePointSetToPointSetMetricv4.h>

Inheritance diagram for itk::EuclideanDistancePointSetToPointSetMetricv4< TFixedPointSet, TMovingPointSet >:
Collaboration diagram for itk::EuclideanDistancePointSetToPointSetMetricv4< TFixedPointSet, TMovingPointSet >:

List of all members.

Public Types

typedef SmartPointer< const SelfConstPointer
typedef Superclass::DerivativeType DerivativeType
typedef
Superclass::LocalDerivativeType 
LocalDerivativeType
typedef Superclass::MeasureType MeasureType
typedef SmartPointer< SelfPointer
typedef Superclass::PointIdentifier PointIdentifier
typedef Superclass::PointType PointType
typedef
EuclideanDistancePointSetToPointSetMetricv4 
Self
typedef
PointSetToPointSetMetricv4
< TFixedPointSet,
TMovingPointSet > 
Superclass

Public Member Functions

virtual ::itk::LightObject::Pointer CreateAnother (void) const
virtual LocalDerivativeType GetLocalNeighborhoodDerivative (const PointType &) const
virtual MeasureType GetLocalNeighborhoodValue (const PointType &) const
virtual void GetLocalNeighborhoodValueAndDerivative (const PointType &, MeasureType &, LocalDerivativeType &) const
virtual const char * GetNameOfClass () const

Static Public Member Functions

static Pointer New ()

Protected Member Functions

 EuclideanDistancePointSetToPointSetMetricv4 ()
void PrintSelf (std::ostream &os, Indent indent) const
virtual ~EuclideanDistancePointSetToPointSetMetricv4 ()

Private Member Functions

 EuclideanDistancePointSetToPointSetMetricv4 (const Self &)
void operator= (const Self &)

Detailed Description

template<class TFixedPointSet, class TMovingPointSet = TFixedPointSet>
class itk::EuclideanDistancePointSetToPointSetMetricv4< TFixedPointSet, TMovingPointSet >

Computes the Euclidan distance metric between two point sets.

Given two point sets the Euclidean distance metric (i.e. ICP) is defined to be the aggregate of all shortest distances between all possible pairings of points between the two sets.

We only have to handle the individual point case as the parent class handles the aggregation.

Reference: PJ Besl and ND McKay, "A Method for Registration of 3-D Shapes", IEEE PAMI, Vol 14, No. 2, February 1992

Definition at line 42 of file itkEuclideanDistancePointSetToPointSetMetricv4.h.


Member Typedef Documentation

template<class TFixedPointSet , class TMovingPointSet = TFixedPointSet>
typedef SmartPointer<const Self> itk::EuclideanDistancePointSetToPointSetMetricv4< TFixedPointSet, TMovingPointSet >::ConstPointer
template<class TFixedPointSet , class TMovingPointSet = TFixedPointSet>
typedef Superclass::DerivativeType itk::EuclideanDistancePointSetToPointSetMetricv4< TFixedPointSet, TMovingPointSet >::DerivativeType
template<class TFixedPointSet , class TMovingPointSet = TFixedPointSet>
typedef Superclass::LocalDerivativeType itk::EuclideanDistancePointSetToPointSetMetricv4< TFixedPointSet, TMovingPointSet >::LocalDerivativeType
template<class TFixedPointSet , class TMovingPointSet = TFixedPointSet>
typedef Superclass::MeasureType itk::EuclideanDistancePointSetToPointSetMetricv4< TFixedPointSet, TMovingPointSet >::MeasureType

Types transferred from the base class

Reimplemented from itk::PointSetToPointSetMetricv4< TFixedPointSet, TMovingPointSet >.

Definition at line 57 of file itkEuclideanDistancePointSetToPointSetMetricv4.h.

template<class TFixedPointSet , class TMovingPointSet = TFixedPointSet>
typedef SmartPointer<Self> itk::EuclideanDistancePointSetToPointSetMetricv4< TFixedPointSet, TMovingPointSet >::Pointer
template<class TFixedPointSet , class TMovingPointSet = TFixedPointSet>
typedef Superclass::PointIdentifier itk::EuclideanDistancePointSetToPointSetMetricv4< TFixedPointSet, TMovingPointSet >::PointIdentifier
template<class TFixedPointSet , class TMovingPointSet = TFixedPointSet>
typedef Superclass::PointType itk::EuclideanDistancePointSetToPointSetMetricv4< TFixedPointSet, TMovingPointSet >::PointType
template<class TFixedPointSet , class TMovingPointSet = TFixedPointSet>
typedef EuclideanDistancePointSetToPointSetMetricv4 itk::EuclideanDistancePointSetToPointSetMetricv4< TFixedPointSet, TMovingPointSet >::Self
template<class TFixedPointSet , class TMovingPointSet = TFixedPointSet>
typedef PointSetToPointSetMetricv4<TFixedPointSet, TMovingPointSet> itk::EuclideanDistancePointSetToPointSetMetricv4< TFixedPointSet, TMovingPointSet >::Superclass

Constructor & Destructor Documentation

template<class TFixedPointSet , class TMovingPointSet = TFixedPointSet>
itk::EuclideanDistancePointSetToPointSetMetricv4< TFixedPointSet, TMovingPointSet >::EuclideanDistancePointSetToPointSetMetricv4 ( ) [protected]
template<class TFixedPointSet , class TMovingPointSet = TFixedPointSet>
virtual itk::EuclideanDistancePointSetToPointSetMetricv4< TFixedPointSet, TMovingPointSet >::~EuclideanDistancePointSetToPointSetMetricv4 ( ) [protected, virtual]
template<class TFixedPointSet , class TMovingPointSet = TFixedPointSet>
itk::EuclideanDistancePointSetToPointSetMetricv4< TFixedPointSet, TMovingPointSet >::EuclideanDistancePointSetToPointSetMetricv4 ( const Self ) [private]

Member Function Documentation

template<class TFixedPointSet , class TMovingPointSet = TFixedPointSet>
virtual::itk::LightObject::Pointer itk::EuclideanDistancePointSetToPointSetMetricv4< TFixedPointSet, TMovingPointSet >::CreateAnother ( void  ) const [virtual]

Create an object from an instance, potentially deferring to a factory. This method allows you to create an instance of an object that is exactly the same type as the referring object. This is useful in cases where an object has been cast back to a base class.

Reimplemented from itk::Object.

template<class TFixedPointSet , class TMovingPointSet = TFixedPointSet>
virtual LocalDerivativeType itk::EuclideanDistancePointSetToPointSetMetricv4< TFixedPointSet, TMovingPointSet >::GetLocalNeighborhoodDerivative ( const PointType ) const [virtual]

Calculates the local derivative for a single point.

template<class TFixedPointSet , class TMovingPointSet = TFixedPointSet>
virtual MeasureType itk::EuclideanDistancePointSetToPointSetMetricv4< TFixedPointSet, TMovingPointSet >::GetLocalNeighborhoodValue ( const PointType ) const [virtual]

Calculates the local metric value for a single point.

template<class TFixedPointSet , class TMovingPointSet = TFixedPointSet>
virtual void itk::EuclideanDistancePointSetToPointSetMetricv4< TFixedPointSet, TMovingPointSet >::GetLocalNeighborhoodValueAndDerivative ( const PointType ,
MeasureType ,
LocalDerivativeType  
) const [virtual]

Calculates the local value and derivative for a single point.

template<class TFixedPointSet , class TMovingPointSet = TFixedPointSet>
virtual const char* itk::EuclideanDistancePointSetToPointSetMetricv4< TFixedPointSet, TMovingPointSet >::GetNameOfClass ( ) const [virtual]

Run-time type information (and related methods).

Reimplemented from itk::PointSetToPointSetMetricv4< TFixedPointSet, TMovingPointSet >.

template<class TFixedPointSet , class TMovingPointSet = TFixedPointSet>
static Pointer itk::EuclideanDistancePointSetToPointSetMetricv4< TFixedPointSet, TMovingPointSet >::New ( ) [static]

Method for creation through the object factory.

Reimplemented from itk::Object.

template<class TFixedPointSet , class TMovingPointSet = TFixedPointSet>
void itk::EuclideanDistancePointSetToPointSetMetricv4< TFixedPointSet, TMovingPointSet >::operator= ( const Self ) [private]

Mutex lock to protect modification to the reference count

Reimplemented from itk::PointSetToPointSetMetricv4< TFixedPointSet, TMovingPointSet >.

template<class TFixedPointSet , class TMovingPointSet = TFixedPointSet>
void itk::EuclideanDistancePointSetToPointSetMetricv4< TFixedPointSet, TMovingPointSet >::PrintSelf ( std::ostream &  os,
Indent  indent 
) const [protected, virtual]

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