ITK  4.2.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 Types inherited from itk::PointSetToPointSetMetric< TFixedPointSet, TMovingPointSet >
typedef
Superclass::ParametersValueType 
CoordinateRepresentationType
typedef
TransformType::InputPointType 
InputPointType
typedef TMovingPointSet::PixelType MovingPointSetPixelType
typedef
TransformType::OutputPointType 
OutputPointType
typedef Superclass::ParametersType ParametersType
- Public Types inherited from itk::MultipleValuedCostFunction
- Public Types inherited from itk::CostFunction
typedef double ParametersValueType
- Public Types inherited from itk::Object
- Public Types inherited from itk::LightObject

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 ()
- Public Member Functions inherited from itk::PointSetToPointSetMetric< TFixedPointSet, TMovingPointSet >
virtual const FixedPointSetTypeGetFixedPointSet ()
virtual const MovingPointSetTypeGetMovingPointSet ()
unsigned int GetNumberOfParameters (void) const
virtual TransformTypeGetTransform ()
virtual void Initialize (void) throw ( ExceptionObject )
virtual void SetFixedPointSet (const FixedPointSetType *_arg)
virtual void SetMovingPointSet (const MovingPointSetType *_arg)
virtual void SetTransform (TransformType *_arg)
void SetTransformParameters (const ParametersType &parameters) const
- Public Member Functions inherited from itk::MultipleValuedCostFunction
virtual void GetDerivative (const ParametersType &parameters, DerivativeType &derivative) const =0
virtual MeasureType GetValue (const ParametersType &parameters) const =0

Static Public Member Functions

static Pointer New ()

Protected Member Functions

void PrintSelf (std::ostream &os, Indent indent) const
- Protected Member Functions inherited from itk::PointSetToPointSetMetric< TFixedPointSet, TMovingPointSet >
 PointSetToPointSetMetric ()
virtual ~PointSetToPointSetMetric ()
- Protected Member Functions inherited from itk::MultipleValuedCostFunction
 MultipleValuedCostFunction ()
virtual ~MultipleValuedCostFunction ()
- Protected Member Functions inherited from itk::CostFunction
 CostFunction ()
virtual ~CostFunction ()
- 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 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 ()

Additional Inherited Members

- Static Public Attributes inherited from itk::PointSetToPointSetMetric< TFixedPointSet, TMovingPointSet >
static const unsigned int MovingPointSetDimension = TMovingPointSet::PointDimension
static const unsigned int FixedPointSetDimension = TFixedPointSet::PointDimension
- Protected Attributes inherited from itk::PointSetToPointSetMetric< TFixedPointSet, TMovingPointSet >
FixedPointSetConstPointer m_FixedPointSet
MovingPointSetConstPointer m_MovingPointSet
TransformPointer m_Transform

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

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
protectedvirtual
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: