ITK  4.2.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

#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 Types inherited from itk::PointSetToPointSetMetricv4< TFixedPointSet, TMovingPointSet >
typedef PointType::CoordRepType CoordRepType
typedef DerivativeType::ValueType DerivativeValueType
typedef Superclass::DimensionType DimensionType
typedef
Superclass::FixedInputPointType 
FixedInputPointType
typedef
Superclass::FixedOutputPointType 
FixedOutputPointType
typedef TFixedPointSet::PixelType FixedPixelType
typedef
TFixedPointSet::PointsContainer 
FixedPointsContainer
typedef TFixedPointSet FixedPointSetType
typedef TFixedPointSet::PointType FixedPointType
typedef PointSet
< FixedPixelType,
itkGetStaticConstMacro(PointDimension)> 
FixedTransformedPointSetType
typedef
Superclass::FixedTransformJacobianType 
FixedTransformJacobianType
typedef
Superclass::FixedTransformParametersType 
FixedTransformParametersType
typedef
Superclass::FixedTransformPointer 
FixedTransformPointer
typedef
Superclass::FixedTransformType 
FixedTransformType
typedef Superclass::JacobianType JacobianType
typedef
Superclass::MovingInputPointType 
MovingInputPointType
typedef
Superclass::MovingOutputPointType 
MovingOutputPointType
typedef TMovingPointSet::PixelType MovingPixelType
typedef
TMovingPointSet::PointsContainer 
MovingPointsContainer
typedef TMovingPointSet MovingPointSetType
typedef TMovingPointSet::PointType MovingPointType
typedef PointSet
< MovingPixelType,
itkGetStaticConstMacro(PointDimension)> 
MovingTransformedPointSetType
typedef
Superclass::MovingTransformJacobianType 
MovingTransformJacobianType
typedef
Superclass::MovingTransformParametersType 
MovingTransformParametersType
typedef
Superclass::MovingTransformPointer 
MovingTransformPointer
typedef
Superclass::MovingTransformType 
MovingTransformType
typedef
PointsLocatorType::NeighborsIdentifierType 
NeighborsIdentifierType
typedef
Superclass::NumberOfParametersType 
NumberOfParametersType
typedef Superclass::ParametersType ParametersType
typedef
Superclass::ParametersValueType 
ParametersValueType
typedef
PointsContainer::ConstIterator 
PointsConstIterator
typedef FixedPointsContainer PointsContainer
typedef PointsLocator
< PointIdentifier,
itkGetStaticConstMacro(PointDimension),
CoordRepType, PointsContainer
PointsLocatorType
typedef
Superclass::VirtualDirectionType 
VirtualDirectionType
typedef
Superclass::VirtualImagePointer 
VirtualImagePointer
typedef
Superclass::VirtualImageType 
VirtualImageType
typedef
Superclass::VirtualIndexType 
VirtualIndexType
typedef
Superclass::VirtualPointType 
VirtualOriginType
typedef
Superclass::VirtualPixelType 
VirtualPixelType
typedef
Superclass::VirtualPointSetPointer 
VirtualPointSetPointer
typedef
Superclass::VirtualPointSetType 
VirtualPointSetType
typedef
Superclass::VirtualPointType 
VirtualPointType
typedef Superclass::VirtualSizeType VirtualRadiusType
typedef
Superclass::VirtualRegionType 
VirtualRegionType
typedef Superclass::VirtualSizeType VirtualSizeType
typedef
Superclass::VirtualSpacingType 
VirtualSpacingType
- Public Types inherited from itk::ObjectToObjectMetric< TFixedPointSet::PointDimension, TMovingPointSet::PointDimension >
typedef
Superclass::ParametersValueType 
CoordinateRepresentationType
typedef
Superclass::InternalComputationValueType 
InternalComputationValueType
typedef
DisplacementFieldTransform
< CoordinateRepresentationType,
itkGetStaticConstMacro(MovingDimension) > 
MovingDisplacementFieldTransformType
typedef
VirtualImageType::ConstPointer 
VirtualImageConstPointer
- Public Types inherited from itk::ObjectToObjectMetricBase
enum  GradientSourceType {
  GRADIENT_SOURCE_FIXED = 0,
  GRADIENT_SOURCE_MOVING,
  GRADIENT_SOURCE_BOTH
}
- Public Types inherited from itk::SingleValuedCostFunctionv4
- Public Types inherited from itk::CostFunction
- Public Types inherited from itk::Object
- Public Types inherited from itk::LightObject

Public Member Functions

virtual ::itk::LightObject::Pointer CreateAnother (void) const
virtual MeasureType GetLocalNeighborhoodValue (const PointType &) const
virtual void GetLocalNeighborhoodValueAndDerivative (const PointType &, MeasureType &, LocalDerivativeType &) const
virtual const char * GetNameOfClass () const
- Public Member Functions inherited from itk::PointSetToPointSetMetricv4< TFixedPointSet, TMovingPointSet >
virtual void GetDerivative (DerivativeType &) const
virtual const FixedPointSetTypeGetFixedPointSet ()
virtual const
FixedTransformedPointSetType
GetFixedTransformedPointSet ()
virtual LocalDerivativeType GetLocalNeighborhoodDerivative (const PointType &) const
virtual MeasureType GetLocalNeighborhoodValue (const PointType &) const =0
virtual void GetLocalNeighborhoodValueAndDerivative (const PointType &, MeasureType &, LocalDerivativeType &) const =0
virtual const MovingPointSetTypeGetMovingPointSet ()
virtual const
MovingTransformedPointSetType
GetMovingTransformedPointSet ()
SizeValueType GetNumberOfComponents () const
virtual MeasureType GetValue () const
virtual void GetValueAndDerivative (MeasureType &, DerivativeType &) const
const VirtualPointSetTypeGetVirtualTransformedPointSet ()
virtual void Initialize (void) throw ( ExceptionObject )
virtual void SetFixedPointSet (const FixedPointSetType *_arg)
virtual void SetMovingPointSet (MovingPointSetType *_arg)
virtual bool SupportsArbitraryVirtualDomainSamples (void) const
- Public Member Functions inherited from itk::ObjectToObjectMetric< TFixedPointSet::PointDimension, TMovingPointSet::PointDimension >
OffsetValueType ComputeParameterOffsetFromVirtualIndex (const VirtualIndexType &index, const NumberOfParametersType &numberOfLocalParameters) const
OffsetValueType ComputeParameterOffsetFromVirtualPoint (const VirtualPointType &point, const NumberOfParametersType &numberOfLocalParameters) const
virtual const FixedTransformTypeGetFixedTransform ()
virtual const MovingTransformTypeGetMovingTransform ()
virtual NumberOfParametersType GetNumberOfLocalParameters () const
virtual NumberOfParametersType GetNumberOfParameters () const
virtual SizeValueType GetNumberOfValidPoints () const
virtual const ParametersTypeGetParameters () const
const MovingTransformTypeGetTransform ()
VirtualDirectionType GetVirtualDirection (void) const
virtual const TimeStampGetVirtualDomainTimeStamp (void) const
virtual const VirtualImageTypeGetVirtualImage ()
VirtualOriginType GetVirtualOrigin (void) const
const VirtualRegionTypeGetVirtualRegion (void) const
VirtualSpacingType GetVirtualSpacing (void) const
virtual bool HasLocalSupport () const
virtual void SetFixedTransform (FixedTransformType *_arg)
virtual void SetMovingTransform (MovingTransformType *_arg)
virtual void SetParameters (ParametersType &params)
void SetTransform (MovingTransformType *transform)
void SetVirtualDomain (const VirtualSpacingType &spacing, const VirtualOriginType &origin, const VirtualDirectionType &direction, const VirtualRegionType &region)
virtual void UpdateTransformParameters (const DerivativeType &derivative, ParametersValueType factor)
void SetVirtualDomainFromImage (VirtualImageType *virtualImage)
void SetVirtualDomainFromImage (const VirtualImageType *virtualImage)
bool IsInsideVirtualDomain (const VirtualPointType &point) const
bool IsInsideVirtualDomain (const VirtualIndexType &index) const
- Public Member Functions inherited from itk::ObjectToObjectMetricBase
MeasureType GetCurrentValue () const
virtual GradientSourceType GetGradientSource () const
bool GetGradientSourceIncludesFixed () const
bool GetGradientSourceIncludesMoving () const
virtual void GetValueAndDerivative (MeasureType &value, DerivativeType &derivative) const =0
virtual void SetGradientSource (GradientSourceType _arg)
- Public Member Functions inherited from itk::SingleValuedCostFunctionv4
virtual void GetValueAndDerivative (MeasureType &value, DerivativeType &derivative) const =0

Static Public Member Functions

static Pointer New ()

Protected Member Functions

 EuclideanDistancePointSetToPointSetMetricv4 ()
void PrintSelf (std::ostream &os, Indent indent) const
virtual ~EuclideanDistancePointSetToPointSetMetricv4 ()
- Protected Member Functions inherited from itk::PointSetToPointSetMetricv4< TFixedPointSet, TMovingPointSet >
virtual SizeValueType CalculateNumberOfValidFixedPoints (void) const
void CalculateValueAndDerivative (MeasureType &value, DerivativeType &derivative, bool calculateValue) const
virtual void InitializeForIteration (void) const
virtual void InitializePointSets (void) const
void InitializePointsLocators () const
 PointSetToPointSetMetricv4 ()
void StorePointDerivative (const VirtualPointType &, const DerivativeType &, DerivativeType &) const
void TransformFixedAndCreateVirtualPointSet () const
void TransformMovingPointSet () const
virtual ~PointSetToPointSetMetricv4 ()
- Protected Member Functions inherited from itk::ObjectToObjectMetric< TFixedPointSet::PointDimension, TMovingPointSet::PointDimension >
MovingDisplacementFieldTransformTypeGetMovingDisplacementFieldTransform () const
 ObjectToObjectMetric ()
bool TransformPhysicalPointToVirtualIndex (const VirtualPointType &, VirtualIndexType &) const
void TransformVirtualIndexToPhysicalPoint (const VirtualIndexType &, VirtualPointType &) const
virtual void VerifyDisplacementFieldSizeAndPhysicalSpace ()
bool VerifyNumberOfValidPoints (MeasureType &value, DerivativeType &derivative) const
virtual ~ObjectToObjectMetric ()
- Protected Member Functions inherited from itk::ObjectToObjectMetricBase
 ObjectToObjectMetricBase ()
virtual ~ObjectToObjectMetricBase ()
- Protected Member Functions inherited from itk::SingleValuedCostFunctionv4
 SingleValuedCostFunctionv4 ()
virtual ~SingleValuedCostFunctionv4 ()
- 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

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

Additional Inherited Members

- Static Public Attributes inherited from itk::PointSetToPointSetMetricv4< TFixedPointSet, TMovingPointSet >
static const DimensionType FixedPointDimension = Superclass::FixedDimension
static const DimensionType MovingPointDimension = Superclass::MovingDimension
static const DimensionType PointDimension = Superclass::FixedDimension
- Static Public Attributes inherited from itk::ObjectToObjectMetric< TFixedPointSet::PointDimension, TMovingPointSet::PointDimension >
static const DimensionType FixedDimension
static const DimensionType MovingDimension
static const DimensionType VirtualDimension
- Protected Attributes inherited from itk::PointSetToPointSetMetricv4< TFixedPointSet, TMovingPointSet >
FixedPointSetType::ConstPointer m_FixedPointSet
FixedTransformedPointSetType::Pointer m_FixedTransformedPointSet
PointsLocatorType::Pointer m_FixedTransformedPointsLocator
MovingPointSetType::ConstPointer m_MovingPointSet
MovingTransformedPointSetType::Pointer m_MovingTransformedPointSet
PointsLocatorType::Pointer m_MovingTransformedPointsLocator
VirtualPointSetPointer m_VirtualTransformedPointSet
- Protected Attributes inherited from itk::ObjectToObjectMetric< TFixedPointSet::PointDimension, TMovingPointSet::PointDimension >
FixedTransformPointer m_FixedTransform
MovingTransformPointer m_MovingTransform
SizeValueType m_NumberOfValidPoints
bool m_UserHasSetVirtualDomain
VirtualImagePointer m_VirtualImage
- Protected Attributes inherited from itk::ObjectToObjectMetricBase
GradientSourceType m_GradientSource
MeasureType m_Value

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

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