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

#include <itkEuclideanDistancePointMetric.h>

+ Inheritance diagram for itk::EuclideanDistancePointMetric< TFixedPointSet, TMovingPointSet, TDistanceMap >:
+ Collaboration diagram for itk::EuclideanDistancePointMetric< TFixedPointSet, TMovingPointSet, TDistanceMap >:

List of all members.

Public Types

typedef SmartPointer< const SelfConstPointer
typedef Superclass::DerivativeType DerivativeType
typedef
DistanceMapType::ConstPointer 
DistanceMapPointer
typedef TDistanceMap DistanceMapType
typedef
Superclass::FixedPointSetConstPointer 
FixedPointSetConstPointer
typedef
Superclass::FixedPointSetType 
FixedPointSetType
typedef Superclass::MeasureType MeasureType
typedef
Superclass::MovingPointSetConstPointer 
MovingPointSetConstPointer
typedef
Superclass::MovingPointSetType 
MovingPointSetType
typedef
Superclass::PointDataIterator 
PointDataIterator
typedef SmartPointer< SelfPointer
typedef Superclass::PointIterator PointIterator
typedef
EuclideanDistancePointMetric 
Self
typedef
PointSetToPointSetMetric
< TFixedPointSet,
TMovingPointSet > 
Superclass
typedef
Superclass::TransformJacobianType 
TransformJacobianType
typedef
Superclass::TransformParametersType 
TransformParametersType
typedef
Superclass::TransformPointer 
TransformPointer
typedef Superclass::TransformType TransformType

Public Member Functions

virtual ::itk::LightObject::Pointer CreateAnother (void) const
void GetDerivative (const TransformParametersType &parameters, DerivativeType &Derivative) const
virtual const char * GetNameOfClass () const
unsigned int GetNumberOfValues () const
MeasureType GetValue (const TransformParametersType &parameters) const
void GetValueAndDerivative (const TransformParametersType &parameters, MeasureType &Value, DerivativeType &Derivative) const
virtual void SetDistanceMap (const DistanceMapType *_arg)
virtual const DistanceMapTypeGetDistanceMap ()

Static Public Member Functions

static Pointer New ()

Protected Member Functions

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

Private Member Functions

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

Private Attributes

bool m_ComputeSquaredDistance
DistanceMapPointer m_DistanceMap
virtual void SetComputeSquaredDistance (bool _arg)
virtual bool GetComputeSquaredDistance () const
virtual void ComputeSquaredDistanceOn ()
virtual void ComputeSquaredDistanceOff ()
 EuclideanDistancePointMetric ()
virtual ~EuclideanDistancePointMetric ()

Detailed Description

template<class TFixedPointSet, class TMovingPointSet, class TDistanceMap = ::itk::Image< unsigned short, ::itk::GetPointSetDimension< TMovingPointSet >::PointDimension >>
class itk::EuclideanDistancePointMetric< TFixedPointSet, TMovingPointSet, TDistanceMap >

Computes the minimum distance between a moving point-set and a fixed point-set. A vector of minimum closest point distance is created for each point in the moving point-set. No correspondance is needed. For speed consideration, the point-set with the minimum number of points should be used as the moving point-set. If the number of points is high, the possibility of setting a distance map should improve the speed of the closest point computation.

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

Definition at line 47 of file itkEuclideanDistancePointMetric.h.


Member Typedef Documentation

template<class TFixedPointSet , class TMovingPointSet , class TDistanceMap = ::itk::Image< unsigned short, ::itk::GetPointSetDimension< TMovingPointSet >::PointDimension >>
typedef SmartPointer< const Self > itk::EuclideanDistancePointMetric< TFixedPointSet, TMovingPointSet, TDistanceMap >::ConstPointer
template<class TFixedPointSet , class TMovingPointSet , class TDistanceMap = ::itk::Image< unsigned short, ::itk::GetPointSetDimension< TMovingPointSet >::PointDimension >>
typedef Superclass::DerivativeType itk::EuclideanDistancePointMetric< TFixedPointSet, TMovingPointSet, TDistanceMap >::DerivativeType

Type of the derivative.

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

Definition at line 72 of file itkEuclideanDistancePointMetric.h.

template<class TFixedPointSet , class TMovingPointSet , class TDistanceMap = ::itk::Image< unsigned short, ::itk::GetPointSetDimension< TMovingPointSet >::PointDimension >>
typedef DistanceMapType::ConstPointer itk::EuclideanDistancePointMetric< TFixedPointSet, TMovingPointSet, TDistanceMap >::DistanceMapPointer

Definition at line 82 of file itkEuclideanDistancePointMetric.h.

template<class TFixedPointSet , class TMovingPointSet , class TDistanceMap = ::itk::Image< unsigned short, ::itk::GetPointSetDimension< TMovingPointSet >::PointDimension >>
typedef TDistanceMap itk::EuclideanDistancePointMetric< TFixedPointSet, TMovingPointSet, TDistanceMap >::DistanceMapType

Definition at line 81 of file itkEuclideanDistancePointMetric.h.

template<class TFixedPointSet , class TMovingPointSet , class TDistanceMap = ::itk::Image< unsigned short, ::itk::GetPointSetDimension< TMovingPointSet >::PointDimension >>
typedef Superclass::FixedPointSetConstPointer itk::EuclideanDistancePointMetric< TFixedPointSet, TMovingPointSet, TDistanceMap >::FixedPointSetConstPointer
template<class TFixedPointSet , class TMovingPointSet , class TDistanceMap = ::itk::Image< unsigned short, ::itk::GetPointSetDimension< TMovingPointSet >::PointDimension >>
typedef Superclass::FixedPointSetType itk::EuclideanDistancePointMetric< TFixedPointSet, TMovingPointSet, TDistanceMap >::FixedPointSetType

Type of the fixed Pointset.

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

Definition at line 73 of file itkEuclideanDistancePointMetric.h.

template<class TFixedPointSet , class TMovingPointSet , class TDistanceMap = ::itk::Image< unsigned short, ::itk::GetPointSetDimension< TMovingPointSet >::PointDimension >>
typedef Superclass::MeasureType itk::EuclideanDistancePointMetric< TFixedPointSet, TMovingPointSet, TDistanceMap >::MeasureType

Type of the measure.

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

Definition at line 71 of file itkEuclideanDistancePointMetric.h.

template<class TFixedPointSet , class TMovingPointSet , class TDistanceMap = ::itk::Image< unsigned short, ::itk::GetPointSetDimension< TMovingPointSet >::PointDimension >>
typedef Superclass::MovingPointSetConstPointer itk::EuclideanDistancePointMetric< TFixedPointSet, TMovingPointSet, TDistanceMap >::MovingPointSetConstPointer
template<class TFixedPointSet , class TMovingPointSet , class TDistanceMap = ::itk::Image< unsigned short, ::itk::GetPointSetDimension< TMovingPointSet >::PointDimension >>
typedef Superclass::MovingPointSetType itk::EuclideanDistancePointMetric< TFixedPointSet, TMovingPointSet, TDistanceMap >::MovingPointSetType

Type of the moving Pointset.

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

Definition at line 74 of file itkEuclideanDistancePointMetric.h.

template<class TFixedPointSet , class TMovingPointSet , class TDistanceMap = ::itk::Image< unsigned short, ::itk::GetPointSetDimension< TMovingPointSet >::PointDimension >>
typedef Superclass::PointDataIterator itk::EuclideanDistancePointMetric< TFixedPointSet, TMovingPointSet, TDistanceMap >::PointDataIterator
template<class TFixedPointSet , class TMovingPointSet , class TDistanceMap = ::itk::Image< unsigned short, ::itk::GetPointSetDimension< TMovingPointSet >::PointDimension >>
typedef SmartPointer< Self > itk::EuclideanDistancePointMetric< TFixedPointSet, TMovingPointSet, TDistanceMap >::Pointer
template<class TFixedPointSet , class TMovingPointSet , class TDistanceMap = ::itk::Image< unsigned short, ::itk::GetPointSetDimension< TMovingPointSet >::PointDimension >>
typedef Superclass::PointIterator itk::EuclideanDistancePointMetric< TFixedPointSet, TMovingPointSet, TDistanceMap >::PointIterator
template<class TFixedPointSet , class TMovingPointSet , class TDistanceMap = ::itk::Image< unsigned short, ::itk::GetPointSetDimension< TMovingPointSet >::PointDimension >>
typedef EuclideanDistancePointMetric itk::EuclideanDistancePointMetric< TFixedPointSet, TMovingPointSet, TDistanceMap >::Self

Standard class typedefs.

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

Definition at line 53 of file itkEuclideanDistancePointMetric.h.

template<class TFixedPointSet , class TMovingPointSet , class TDistanceMap = ::itk::Image< unsigned short, ::itk::GetPointSetDimension< TMovingPointSet >::PointDimension >>
typedef PointSetToPointSetMetric< TFixedPointSet, TMovingPointSet > itk::EuclideanDistancePointMetric< TFixedPointSet, TMovingPointSet, TDistanceMap >::Superclass
template<class TFixedPointSet , class TMovingPointSet , class TDistanceMap = ::itk::Image< unsigned short, ::itk::GetPointSetDimension< TMovingPointSet >::PointDimension >>
typedef Superclass::TransformJacobianType itk::EuclideanDistancePointMetric< TFixedPointSet, TMovingPointSet, TDistanceMap >::TransformJacobianType
template<class TFixedPointSet , class TMovingPointSet , class TDistanceMap = ::itk::Image< unsigned short, ::itk::GetPointSetDimension< TMovingPointSet >::PointDimension >>
typedef Superclass::TransformParametersType itk::EuclideanDistancePointMetric< TFixedPointSet, TMovingPointSet, TDistanceMap >::TransformParametersType
template<class TFixedPointSet , class TMovingPointSet , class TDistanceMap = ::itk::Image< unsigned short, ::itk::GetPointSetDimension< TMovingPointSet >::PointDimension >>
typedef Superclass::TransformPointer itk::EuclideanDistancePointMetric< TFixedPointSet, TMovingPointSet, TDistanceMap >::TransformPointer
template<class TFixedPointSet , class TMovingPointSet , class TDistanceMap = ::itk::Image< unsigned short, ::itk::GetPointSetDimension< TMovingPointSet >::PointDimension >>
typedef Superclass::TransformType itk::EuclideanDistancePointMetric< TFixedPointSet, TMovingPointSet, TDistanceMap >::TransformType

Types transferred from the base class

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

Definition at line 63 of file itkEuclideanDistancePointMetric.h.


Constructor & Destructor Documentation

template<class TFixedPointSet , class TMovingPointSet , class TDistanceMap = ::itk::Image< unsigned short, ::itk::GetPointSetDimension< TMovingPointSet >::PointDimension >>
itk::EuclideanDistancePointMetric< TFixedPointSet, TMovingPointSet, TDistanceMap >::EuclideanDistancePointMetric ( ) [protected]

Set/Get if the distance should be squared. Default is true for computation speed

template<class TFixedPointSet , class TMovingPointSet , class TDistanceMap = ::itk::Image< unsigned short, ::itk::GetPointSetDimension< TMovingPointSet >::PointDimension >>
virtual itk::EuclideanDistancePointMetric< TFixedPointSet, TMovingPointSet, TDistanceMap >::~EuclideanDistancePointMetric ( ) [inline, protected, virtual]

Set/Get if the distance should be squared. Default is true for computation speed

Definition at line 110 of file itkEuclideanDistancePointMetric.h.

template<class TFixedPointSet , class TMovingPointSet , class TDistanceMap = ::itk::Image< unsigned short, ::itk::GetPointSetDimension< TMovingPointSet >::PointDimension >>
itk::EuclideanDistancePointMetric< TFixedPointSet, TMovingPointSet, TDistanceMap >::EuclideanDistancePointMetric ( const Self ) [private]

Member Function Documentation

template<class TFixedPointSet , class TMovingPointSet , class TDistanceMap = ::itk::Image< unsigned short, ::itk::GetPointSetDimension< TMovingPointSet >::PointDimension >>
virtual void itk::EuclideanDistancePointMetric< TFixedPointSet, TMovingPointSet, TDistanceMap >::ComputeSquaredDistanceOff ( ) [virtual]

Set/Get if the distance should be squared. Default is true for computation speed

template<class TFixedPointSet , class TMovingPointSet , class TDistanceMap = ::itk::Image< unsigned short, ::itk::GetPointSetDimension< TMovingPointSet >::PointDimension >>
virtual void itk::EuclideanDistancePointMetric< TFixedPointSet, TMovingPointSet, TDistanceMap >::ComputeSquaredDistanceOn ( ) [virtual]

Set/Get if the distance should be squared. Default is true for computation speed

template<class TFixedPointSet , class TMovingPointSet , class TDistanceMap = ::itk::Image< unsigned short, ::itk::GetPointSetDimension< TMovingPointSet >::PointDimension >>
virtual::itk::LightObject::Pointer itk::EuclideanDistancePointMetric< TFixedPointSet, TMovingPointSet, TDistanceMap >::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 , class TDistanceMap = ::itk::Image< unsigned short, ::itk::GetPointSetDimension< TMovingPointSet >::PointDimension >>
virtual bool itk::EuclideanDistancePointMetric< TFixedPointSet, TMovingPointSet, TDistanceMap >::GetComputeSquaredDistance ( ) const [virtual]

Set/Get if the distance should be squared. Default is true for computation speed

template<class TFixedPointSet , class TMovingPointSet , class TDistanceMap = ::itk::Image< unsigned short, ::itk::GetPointSetDimension< TMovingPointSet >::PointDimension >>
void itk::EuclideanDistancePointMetric< TFixedPointSet, TMovingPointSet, TDistanceMap >::GetDerivative ( const TransformParametersType parameters,
DerivativeType Derivative 
) const

Get the derivatives of the match measure.

template<class TFixedPointSet , class TMovingPointSet , class TDistanceMap = ::itk::Image< unsigned short, ::itk::GetPointSetDimension< TMovingPointSet >::PointDimension >>
virtual const DistanceMapType* itk::EuclideanDistancePointMetric< TFixedPointSet, TMovingPointSet, TDistanceMap >::GetDistanceMap ( ) [virtual]

Set/Get the distance map

template<class TFixedPointSet , class TMovingPointSet , class TDistanceMap = ::itk::Image< unsigned short, ::itk::GetPointSetDimension< TMovingPointSet >::PointDimension >>
virtual const char* itk::EuclideanDistancePointMetric< TFixedPointSet, TMovingPointSet, TDistanceMap >::GetNameOfClass ( ) const [virtual]

Run-time type information (and related methods).

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

template<class TFixedPointSet , class TMovingPointSet , class TDistanceMap = ::itk::Image< unsigned short, ::itk::GetPointSetDimension< TMovingPointSet >::PointDimension >>
unsigned int itk::EuclideanDistancePointMetric< TFixedPointSet, TMovingPointSet, TDistanceMap >::GetNumberOfValues ( ) const [virtual]

Get the number of values

Implements itk::MultipleValuedCostFunction.

template<class TFixedPointSet , class TMovingPointSet , class TDistanceMap = ::itk::Image< unsigned short, ::itk::GetPointSetDimension< TMovingPointSet >::PointDimension >>
MeasureType itk::EuclideanDistancePointMetric< TFixedPointSet, TMovingPointSet, TDistanceMap >::GetValue ( const TransformParametersType parameters) const

Get the value for single valued optimizers.

template<class TFixedPointSet , class TMovingPointSet , class TDistanceMap = ::itk::Image< unsigned short, ::itk::GetPointSetDimension< TMovingPointSet >::PointDimension >>
void itk::EuclideanDistancePointMetric< TFixedPointSet, TMovingPointSet, TDistanceMap >::GetValueAndDerivative ( const TransformParametersType parameters,
MeasureType Value,
DerivativeType Derivative 
) const

Get value and derivatives for multiple valued optimizers.

template<class TFixedPointSet , class TMovingPointSet , class TDistanceMap = ::itk::Image< unsigned short, ::itk::GetPointSetDimension< TMovingPointSet >::PointDimension >>
static Pointer itk::EuclideanDistancePointMetric< TFixedPointSet, TMovingPointSet, TDistanceMap >::New ( ) [static]

Method for creation through the object factory.

Reimplemented from itk::Object.

template<class TFixedPointSet , class TMovingPointSet , class TDistanceMap = ::itk::Image< unsigned short, ::itk::GetPointSetDimension< TMovingPointSet >::PointDimension >>
void itk::EuclideanDistancePointMetric< TFixedPointSet, TMovingPointSet, TDistanceMap >::operator= ( const Self ) [private]

Mutex lock to protect modification to the reference count

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

template<class TFixedPointSet , class TMovingPointSet , class TDistanceMap = ::itk::Image< unsigned short, ::itk::GetPointSetDimension< TMovingPointSet >::PointDimension >>
void itk::EuclideanDistancePointMetric< TFixedPointSet, TMovingPointSet, TDistanceMap >::PrintSelf ( std::ostream &  os,
Indent  indent 
) const [protected, virtual]
template<class TFixedPointSet , class TMovingPointSet , class TDistanceMap = ::itk::Image< unsigned short, ::itk::GetPointSetDimension< TMovingPointSet >::PointDimension >>
virtual void itk::EuclideanDistancePointMetric< TFixedPointSet, TMovingPointSet, TDistanceMap >::SetComputeSquaredDistance ( bool  _arg) [virtual]

Set/Get if the distance should be squared. Default is true for computation speed

template<class TFixedPointSet , class TMovingPointSet , class TDistanceMap = ::itk::Image< unsigned short, ::itk::GetPointSetDimension< TMovingPointSet >::PointDimension >>
virtual void itk::EuclideanDistancePointMetric< TFixedPointSet, TMovingPointSet, TDistanceMap >::SetDistanceMap ( const DistanceMapType _arg) [virtual]

Set/Get the distance map


Member Data Documentation

template<class TFixedPointSet , class TMovingPointSet , class TDistanceMap = ::itk::Image< unsigned short, ::itk::GetPointSetDimension< TMovingPointSet >::PointDimension >>
bool itk::EuclideanDistancePointMetric< TFixedPointSet, TMovingPointSet, TDistanceMap >::m_ComputeSquaredDistance [private]

Definition at line 121 of file itkEuclideanDistancePointMetric.h.

template<class TFixedPointSet , class TMovingPointSet , class TDistanceMap = ::itk::Image< unsigned short, ::itk::GetPointSetDimension< TMovingPointSet >::PointDimension >>
DistanceMapPointer itk::EuclideanDistancePointMetric< TFixedPointSet, TMovingPointSet, TDistanceMap >::m_DistanceMap [private]

Definition at line 120 of file itkEuclideanDistancePointMetric.h.


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