ITK  4.0.0
Insight Segmentation and Registration Toolkit
Public Types | Public Member Functions | Static Public Member Functions | Static Public Attributes | Protected Member Functions | Private Member Functions | Private Attributes
itk::PointsLocator< TPointIdentifier, VPointDimension, TCoordRep, TPointsContainer > Class Template Reference

Accelerate geometric searches for points. More...

#include <itkPointsLocator.h>

Inheritance diagram for itk::PointsLocator< TPointIdentifier, VPointDimension, TCoordRep, TPointsContainer >:
Collaboration diagram for itk::PointsLocator< TPointIdentifier, VPointDimension, TCoordRep, TPointsContainer >:

List of all members.

Public Types

typedef SmartPointer< const SelfConstPointer
typedef TCoordRep CoordRepType
typedef
TreeType::InstanceIdentifierVectorType 
NeighborsIdentifierType
typedef SmartPointer< SelfPointer
typedef TPointIdentifier PointIdentifier
typedef TPointsContainer PointsContainer
typedef
PointsContainer::ConstIterator 
PointsContainerConstIterator
typedef
PointsContainer::ConstPointer 
PointsContainerConstPointer
typedef PointsContainer::Iterator PointsContainerIterator
typedef PointsContainer::Pointer PointsContainerPointer
typedef Point< CoordRepType,
VPointDimension > 
PointType
typedef SampleAdaptorType::Pointer SampleAdaptorPointer
typedef
Statistics::VectorContainerToListSampleAdaptor
< PointsContainer
SampleAdaptorType
typedef PointsLocator Self
typedef Object Superclass
typedef TreeType::ConstPointer TreeConstPointer
typedef TreeGeneratorType::Pointer TreeGeneratorPointer
typedef
Statistics::KdTreeGenerator
< SampleAdaptorType
TreeGeneratorType
typedef
TreeGeneratorType::KdTreeType 
TreeType

Public Member Functions

virtual ::itk::LightObject::Pointer CreateAnother (void) const
void FindClosestNPoints (const PointType &, unsigned int, NeighborsIdentifierType &) const
PointIdentifier FindClosestPoint (const PointType &query) const
void FindPointsWithinRadius (const PointType &, double, NeighborsIdentifierType &) const
virtual const char * GetNameOfClass () const
virtual const PointsContainerGetPoints ()
void Initialize ()
void Search (const PointType &, unsigned int, NeighborsIdentifierType &) const
void Search (const PointType &, double, NeighborsIdentifierType &) const
virtual void SetPoints (PointsContainer *_arg)

Static Public Member Functions

static Pointer New ()

Static Public Attributes

static const unsigned int PointDimension = VPointDimension

Protected Member Functions

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

Private Member Functions

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

Private Attributes

TreeGeneratorPointer m_KdTreeGenerator
PointsContainerPointer m_Points
SampleAdaptorPointer m_SampleAdaptor
TreeConstPointer m_Tree

Detailed Description

template<typename TPointIdentifier = IdentifierType, int VPointDimension = 3, typename TCoordRep = float, typename TPointsContainer = VectorContainer<TPointIdentifier, Point<TCoordRep, VPointDimension> >>
class itk::PointsLocator< TPointIdentifier, VPointDimension, TCoordRep, TPointsContainer >

Accelerate geometric searches for points.

This class accelerates the search for the closest point to a user-provided point, by using constructing a Kd-Tree structure for the PointSetContainer.

Definition at line 45 of file itkPointsLocator.h.


Member Typedef Documentation

template<typename TPointIdentifier = IdentifierType, int VPointDimension = 3, typename TCoordRep = float, typename TPointsContainer = VectorContainer<TPointIdentifier, Point<TCoordRep, VPointDimension> >>
typedef SmartPointer<const Self> itk::PointsLocator< TPointIdentifier, VPointDimension, TCoordRep, TPointsContainer >::ConstPointer

Reimplemented from itk::Object.

Definition at line 52 of file itkPointsLocator.h.

template<typename TPointIdentifier = IdentifierType, int VPointDimension = 3, typename TCoordRep = float, typename TPointsContainer = VectorContainer<TPointIdentifier, Point<TCoordRep, VPointDimension> >>
typedef TCoordRep itk::PointsLocator< TPointIdentifier, VPointDimension, TCoordRep, TPointsContainer >::CoordRepType

Definition at line 62 of file itkPointsLocator.h.

template<typename TPointIdentifier = IdentifierType, int VPointDimension = 3, typename TCoordRep = float, typename TPointsContainer = VectorContainer<TPointIdentifier, Point<TCoordRep, VPointDimension> >>
typedef TreeType::InstanceIdentifierVectorType itk::PointsLocator< TPointIdentifier, VPointDimension, TCoordRep, TPointsContainer >::NeighborsIdentifierType

Definition at line 86 of file itkPointsLocator.h.

template<typename TPointIdentifier = IdentifierType, int VPointDimension = 3, typename TCoordRep = float, typename TPointsContainer = VectorContainer<TPointIdentifier, Point<TCoordRep, VPointDimension> >>
typedef SmartPointer<Self> itk::PointsLocator< TPointIdentifier, VPointDimension, TCoordRep, TPointsContainer >::Pointer

Reimplemented from itk::Object.

Definition at line 51 of file itkPointsLocator.h.

template<typename TPointIdentifier = IdentifierType, int VPointDimension = 3, typename TCoordRep = float, typename TPointsContainer = VectorContainer<TPointIdentifier, Point<TCoordRep, VPointDimension> >>
typedef TPointIdentifier itk::PointsLocator< TPointIdentifier, VPointDimension, TCoordRep, TPointsContainer >::PointIdentifier

Hold on to the type information specified by the template parameters.

Definition at line 58 of file itkPointsLocator.h.

template<typename TPointIdentifier = IdentifierType, int VPointDimension = 3, typename TCoordRep = float, typename TPointsContainer = VectorContainer<TPointIdentifier, Point<TCoordRep, VPointDimension> >>
typedef TPointsContainer itk::PointsLocator< TPointIdentifier, VPointDimension, TCoordRep, TPointsContainer >::PointsContainer

Definition at line 63 of file itkPointsLocator.h.

template<typename TPointIdentifier = IdentifierType, int VPointDimension = 3, typename TCoordRep = float, typename TPointsContainer = VectorContainer<TPointIdentifier, Point<TCoordRep, VPointDimension> >>
typedef PointsContainer::ConstIterator itk::PointsLocator< TPointIdentifier, VPointDimension, TCoordRep, TPointsContainer >::PointsContainerConstIterator

Convenient typedefs.

Definition at line 73 of file itkPointsLocator.h.

template<typename TPointIdentifier = IdentifierType, int VPointDimension = 3, typename TCoordRep = float, typename TPointsContainer = VectorContainer<TPointIdentifier, Point<TCoordRep, VPointDimension> >>
typedef PointsContainer::ConstPointer itk::PointsLocator< TPointIdentifier, VPointDimension, TCoordRep, TPointsContainer >::PointsContainerConstPointer

Definition at line 65 of file itkPointsLocator.h.

template<typename TPointIdentifier = IdentifierType, int VPointDimension = 3, typename TCoordRep = float, typename TPointsContainer = VectorContainer<TPointIdentifier, Point<TCoordRep, VPointDimension> >>
typedef PointsContainer::Iterator itk::PointsLocator< TPointIdentifier, VPointDimension, TCoordRep, TPointsContainer >::PointsContainerIterator

Definition at line 74 of file itkPointsLocator.h.

template<typename TPointIdentifier = IdentifierType, int VPointDimension = 3, typename TCoordRep = float, typename TPointsContainer = VectorContainer<TPointIdentifier, Point<TCoordRep, VPointDimension> >>
typedef PointsContainer::Pointer itk::PointsLocator< TPointIdentifier, VPointDimension, TCoordRep, TPointsContainer >::PointsContainerPointer

Definition at line 64 of file itkPointsLocator.h.

template<typename TPointIdentifier = IdentifierType, int VPointDimension = 3, typename TCoordRep = float, typename TPointsContainer = VectorContainer<TPointIdentifier, Point<TCoordRep, VPointDimension> >>
typedef Point<CoordRepType, VPointDimension> itk::PointsLocator< TPointIdentifier, VPointDimension, TCoordRep, TPointsContainer >::PointType

Definition at line 67 of file itkPointsLocator.h.

template<typename TPointIdentifier = IdentifierType, int VPointDimension = 3, typename TCoordRep = float, typename TPointsContainer = VectorContainer<TPointIdentifier, Point<TCoordRep, VPointDimension> >>
typedef SampleAdaptorType::Pointer itk::PointsLocator< TPointIdentifier, VPointDimension, TCoordRep, TPointsContainer >::SampleAdaptorPointer

Definition at line 79 of file itkPointsLocator.h.

template<typename TPointIdentifier = IdentifierType, int VPointDimension = 3, typename TCoordRep = float, typename TPointsContainer = VectorContainer<TPointIdentifier, Point<TCoordRep, VPointDimension> >>
typedef Statistics::VectorContainerToListSampleAdaptor<PointsContainer> itk::PointsLocator< TPointIdentifier, VPointDimension, TCoordRep, TPointsContainer >::SampleAdaptorType

Type of the PointsContainer to List Adaptor.

Definition at line 78 of file itkPointsLocator.h.

template<typename TPointIdentifier = IdentifierType, int VPointDimension = 3, typename TCoordRep = float, typename TPointsContainer = VectorContainer<TPointIdentifier, Point<TCoordRep, VPointDimension> >>
typedef PointsLocator itk::PointsLocator< TPointIdentifier, VPointDimension, TCoordRep, TPointsContainer >::Self

Standard class typedefs.

Reimplemented from itk::Object.

Definition at line 49 of file itkPointsLocator.h.

template<typename TPointIdentifier = IdentifierType, int VPointDimension = 3, typename TCoordRep = float, typename TPointsContainer = VectorContainer<TPointIdentifier, Point<TCoordRep, VPointDimension> >>
typedef Object itk::PointsLocator< TPointIdentifier, VPointDimension, TCoordRep, TPointsContainer >::Superclass

Reimplemented from itk::Object.

Definition at line 50 of file itkPointsLocator.h.

template<typename TPointIdentifier = IdentifierType, int VPointDimension = 3, typename TCoordRep = float, typename TPointsContainer = VectorContainer<TPointIdentifier, Point<TCoordRep, VPointDimension> >>
typedef TreeType::ConstPointer itk::PointsLocator< TPointIdentifier, VPointDimension, TCoordRep, TPointsContainer >::TreeConstPointer

Definition at line 85 of file itkPointsLocator.h.

template<typename TPointIdentifier = IdentifierType, int VPointDimension = 3, typename TCoordRep = float, typename TPointsContainer = VectorContainer<TPointIdentifier, Point<TCoordRep, VPointDimension> >>
typedef TreeGeneratorType::Pointer itk::PointsLocator< TPointIdentifier, VPointDimension, TCoordRep, TPointsContainer >::TreeGeneratorPointer

Definition at line 83 of file itkPointsLocator.h.

template<typename TPointIdentifier = IdentifierType, int VPointDimension = 3, typename TCoordRep = float, typename TPointsContainer = VectorContainer<TPointIdentifier, Point<TCoordRep, VPointDimension> >>
typedef Statistics::KdTreeGenerator<SampleAdaptorType> itk::PointsLocator< TPointIdentifier, VPointDimension, TCoordRep, TPointsContainer >::TreeGeneratorType

Types fo the KdTreeGenerator

Definition at line 82 of file itkPointsLocator.h.

template<typename TPointIdentifier = IdentifierType, int VPointDimension = 3, typename TCoordRep = float, typename TPointsContainer = VectorContainer<TPointIdentifier, Point<TCoordRep, VPointDimension> >>
typedef TreeGeneratorType::KdTreeType itk::PointsLocator< TPointIdentifier, VPointDimension, TCoordRep, TPointsContainer >::TreeType

Definition at line 84 of file itkPointsLocator.h.


Constructor & Destructor Documentation

template<typename TPointIdentifier = IdentifierType, int VPointDimension = 3, typename TCoordRep = float, typename TPointsContainer = VectorContainer<TPointIdentifier, Point<TCoordRep, VPointDimension> >>
itk::PointsLocator< TPointIdentifier, VPointDimension, TCoordRep, TPointsContainer >::PointsLocator ( ) [protected]
template<typename TPointIdentifier = IdentifierType, int VPointDimension = 3, typename TCoordRep = float, typename TPointsContainer = VectorContainer<TPointIdentifier, Point<TCoordRep, VPointDimension> >>
itk::PointsLocator< TPointIdentifier, VPointDimension, TCoordRep, TPointsContainer >::~PointsLocator ( ) [protected]
template<typename TPointIdentifier = IdentifierType, int VPointDimension = 3, typename TCoordRep = float, typename TPointsContainer = VectorContainer<TPointIdentifier, Point<TCoordRep, VPointDimension> >>
itk::PointsLocator< TPointIdentifier, VPointDimension, TCoordRep, TPointsContainer >::PointsLocator ( const Self ) [private]

Member Function Documentation

template<typename TPointIdentifier = IdentifierType, int VPointDimension = 3, typename TCoordRep = float, typename TPointsContainer = VectorContainer<TPointIdentifier, Point<TCoordRep, VPointDimension> >>
virtual::itk::LightObject::Pointer itk::PointsLocator< TPointIdentifier, VPointDimension, TCoordRep, TPointsContainer >::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<typename TPointIdentifier = IdentifierType, int VPointDimension = 3, typename TCoordRep = float, typename TPointsContainer = VectorContainer<TPointIdentifier, Point<TCoordRep, VPointDimension> >>
void itk::PointsLocator< TPointIdentifier, VPointDimension, TCoordRep, TPointsContainer >::FindClosestNPoints ( const PointType ,
unsigned  int,
NeighborsIdentifierType  
) const

Find the closest N points. Returns the point ids.

template<typename TPointIdentifier = IdentifierType, int VPointDimension = 3, typename TCoordRep = float, typename TPointsContainer = VectorContainer<TPointIdentifier, Point<TCoordRep, VPointDimension> >>
PointIdentifier itk::PointsLocator< TPointIdentifier, VPointDimension, TCoordRep, TPointsContainer >::FindClosestPoint ( const PointType query) const

Find the closest point

template<typename TPointIdentifier = IdentifierType, int VPointDimension = 3, typename TCoordRep = float, typename TPointsContainer = VectorContainer<TPointIdentifier, Point<TCoordRep, VPointDimension> >>
void itk::PointsLocator< TPointIdentifier, VPointDimension, TCoordRep, TPointsContainer >::FindPointsWithinRadius ( const PointType ,
double  ,
NeighborsIdentifierType  
) const

Find all the points within a specified radius. Returns the point ids.

template<typename TPointIdentifier = IdentifierType, int VPointDimension = 3, typename TCoordRep = float, typename TPointsContainer = VectorContainer<TPointIdentifier, Point<TCoordRep, VPointDimension> >>
virtual const char* itk::PointsLocator< TPointIdentifier, VPointDimension, TCoordRep, TPointsContainer >::GetNameOfClass ( ) const [virtual]

Standard part of every itk Object.

Reimplemented from itk::Object.

template<typename TPointIdentifier = IdentifierType, int VPointDimension = 3, typename TCoordRep = float, typename TPointsContainer = VectorContainer<TPointIdentifier, Point<TCoordRep, VPointDimension> >>
virtual const PointsContainer* itk::PointsLocator< TPointIdentifier, VPointDimension, TCoordRep, TPointsContainer >::GetPoints ( ) [virtual]

Set/Get the points from which the bounding box should be computed.

template<typename TPointIdentifier = IdentifierType, int VPointDimension = 3, typename TCoordRep = float, typename TPointsContainer = VectorContainer<TPointIdentifier, Point<TCoordRep, VPointDimension> >>
void itk::PointsLocator< TPointIdentifier, VPointDimension, TCoordRep, TPointsContainer >::Initialize ( )

Compute the kd-tree that will facilitate the querying the points.

template<typename TPointIdentifier = IdentifierType, int VPointDimension = 3, typename TCoordRep = float, typename TPointsContainer = VectorContainer<TPointIdentifier, Point<TCoordRep, VPointDimension> >>
static Pointer itk::PointsLocator< TPointIdentifier, VPointDimension, TCoordRep, TPointsContainer >::New ( ) [static]

Method for creation through the object factory.

Reimplemented from itk::Object.

template<typename TPointIdentifier = IdentifierType, int VPointDimension = 3, typename TCoordRep = float, typename TPointsContainer = VectorContainer<TPointIdentifier, Point<TCoordRep, VPointDimension> >>
void itk::PointsLocator< TPointIdentifier, VPointDimension, TCoordRep, TPointsContainer >::operator= ( const Self ) [private]

Mutex lock to protect modification to the reference count

Reimplemented from itk::Object.

template<typename TPointIdentifier = IdentifierType, int VPointDimension = 3, typename TCoordRep = float, typename TPointsContainer = VectorContainer<TPointIdentifier, Point<TCoordRep, VPointDimension> >>
virtual void itk::PointsLocator< TPointIdentifier, VPointDimension, TCoordRep, TPointsContainer >::PrintSelf ( std::ostream &  os,
Indent  indent 
) const [protected, virtual]

Methods invoked by Print() to print information about the object including superclasses. Typically not called by the user (use Print() instead) but used in the hierarchical print process to combine the output of several classes.

Reimplemented from itk::Object.

template<typename TPointIdentifier = IdentifierType, int VPointDimension = 3, typename TCoordRep = float, typename TPointsContainer = VectorContainer<TPointIdentifier, Point<TCoordRep, VPointDimension> >>
void itk::PointsLocator< TPointIdentifier, VPointDimension, TCoordRep, TPointsContainer >::Search ( const PointType ,
double  ,
NeighborsIdentifierType  
) const

Find all the points within a specified radius. Returns the point ids.

template<typename TPointIdentifier = IdentifierType, int VPointDimension = 3, typename TCoordRep = float, typename TPointsContainer = VectorContainer<TPointIdentifier, Point<TCoordRep, VPointDimension> >>
void itk::PointsLocator< TPointIdentifier, VPointDimension, TCoordRep, TPointsContainer >::Search ( const PointType ,
unsigned  int,
NeighborsIdentifierType  
) const

Find the k-nearest neighbors. Returns the point ids.

template<typename TPointIdentifier = IdentifierType, int VPointDimension = 3, typename TCoordRep = float, typename TPointsContainer = VectorContainer<TPointIdentifier, Point<TCoordRep, VPointDimension> >>
virtual void itk::PointsLocator< TPointIdentifier, VPointDimension, TCoordRep, TPointsContainer >::SetPoints ( PointsContainer _arg) [virtual]

Set/Get the points from which the bounding box should be computed.


Member Data Documentation

template<typename TPointIdentifier = IdentifierType, int VPointDimension = 3, typename TCoordRep = float, typename TPointsContainer = VectorContainer<TPointIdentifier, Point<TCoordRep, VPointDimension> >>
TreeGeneratorPointer itk::PointsLocator< TPointIdentifier, VPointDimension, TCoordRep, TPointsContainer >::m_KdTreeGenerator [private]

Definition at line 126 of file itkPointsLocator.h.

template<typename TPointIdentifier = IdentifierType, int VPointDimension = 3, typename TCoordRep = float, typename TPointsContainer = VectorContainer<TPointIdentifier, Point<TCoordRep, VPointDimension> >>
PointsContainerPointer itk::PointsLocator< TPointIdentifier, VPointDimension, TCoordRep, TPointsContainer >::m_Points [private]

Definition at line 124 of file itkPointsLocator.h.

template<typename TPointIdentifier = IdentifierType, int VPointDimension = 3, typename TCoordRep = float, typename TPointsContainer = VectorContainer<TPointIdentifier, Point<TCoordRep, VPointDimension> >>
SampleAdaptorPointer itk::PointsLocator< TPointIdentifier, VPointDimension, TCoordRep, TPointsContainer >::m_SampleAdaptor [private]

Definition at line 125 of file itkPointsLocator.h.

template<typename TPointIdentifier = IdentifierType, int VPointDimension = 3, typename TCoordRep = float, typename TPointsContainer = VectorContainer<TPointIdentifier, Point<TCoordRep, VPointDimension> >>
TreeConstPointer itk::PointsLocator< TPointIdentifier, VPointDimension, TCoordRep, TPointsContainer >::m_Tree [private]

Definition at line 127 of file itkPointsLocator.h.

template<typename TPointIdentifier = IdentifierType, int VPointDimension = 3, typename TCoordRep = float, typename TPointsContainer = VectorContainer<TPointIdentifier, Point<TCoordRep, VPointDimension> >>
const unsigned int itk::PointsLocator< TPointIdentifier, VPointDimension, TCoordRep, TPointsContainer >::PointDimension = VPointDimension [static]

Hold on to the dimensions specified by the template parameters.

Definition at line 70 of file itkPointsLocator.h.


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