Orfeo Toolbox  4.0
Public Types | Public Member Functions | List of all members
itk::Statistics::KdTreeNode< TSample > Class Template Referenceabstract

This class defines the interface of its derived classes. More...

#include <itkKdTree.h>

+ Inheritance diagram for itk::Statistics::KdTreeNode< TSample >:

Public Types

typedef Array< double > CentroidType
 
typedef TSample::InstanceIdentifier InstanceIdentifier
 
typedef TSample::MeasurementType MeasurementType
 
typedef KdTreeNode< TSample > Self
 

Public Member Functions

virtual ~KdTreeNode ()
 
virtual void AddInstanceIdentifier (InstanceIdentifier)=0
 
virtual void GetCentroid (CentroidType &)=0
 
virtual InstanceIdentifier GetInstanceIdentifier (InstanceIdentifier) const =0
 
virtual void GetParameters (unsigned int &, MeasurementType &) const =0
 
virtual void GetWeightedCentroid (CentroidType &)=0
 
virtual bool IsTerminal () const =0
 
virtual SelfLeft ()=0
 
virtual const SelfLeft () const =0
 
virtual SelfRight ()=0
 
virtual const SelfRight () const =0
 
virtual unsigned int Size () const =0
 

Detailed Description

template<typename TSample>
class itk::Statistics::KdTreeNode< TSample >

This class defines the interface of its derived classes.

The methods defined in this class are a superset of the methods defined in its subclases. Therefore, the subclasses implements only part of the methods. The template argument, TSample, can be any subclass of the Sample class.

There are two categories for the subclasses, terminal and nonterminal nodes. The terminal nodes stores the instance identifiers beloging to them, while the nonterminal nodes don't. Therefore, the AddInstanceIdentifier and the GetInstanceIdentifier have meaning only with the terminal ones. The terminal nodes don't have any child (left or right). For terminal nodes, the GetParameters method is void.

Recent API changes: The static const macro to get the length of a measurement vector, MeasurementVectorSize has been removed to allow the length of a measurement vector to be specified at run time. The typedef for CentroidType has been changed from Array to FixedArray.

See Also
KdTreeNonterminalNode, KdTreeWeightedCentroidNonterminalNode, KdTreeTerminalNode

Definition at line 64 of file itkKdTree.h.

Member Typedef Documentation

template<typename TSample >
typedef Array<double> itk::Statistics::KdTreeNode< TSample >::CentroidType

Centroid type

Definition at line 73 of file itkKdTree.h.

template<typename TSample >
typedef TSample::InstanceIdentifier itk::Statistics::KdTreeNode< TSample >::InstanceIdentifier

Instance identifier type (index value type for the measurement vector in a sample

Definition at line 77 of file itkKdTree.h.

template<typename TSample >
typedef TSample::MeasurementType itk::Statistics::KdTreeNode< TSample >::MeasurementType

Measurement type, not the measurement vector type

Definition at line 70 of file itkKdTree.h.

template<typename TSample >
typedef KdTreeNode<TSample> itk::Statistics::KdTreeNode< TSample >::Self

type alias for itself

Definition at line 67 of file itkKdTree.h.

Constructor & Destructor Documentation

template<typename TSample >
virtual itk::Statistics::KdTreeNode< TSample >::~KdTreeNode ( )
inlinevirtual

Destructor

Definition at line 121 of file itkKdTree.h.

Member Function Documentation

template<typename TSample >
virtual void itk::Statistics::KdTreeNode< TSample >::AddInstanceIdentifier ( InstanceIdentifier  )
pure virtual
template<typename TSample >
virtual void itk::Statistics::KdTreeNode< TSample >::GetCentroid ( CentroidType )
pure virtual
template<typename TSample >
virtual InstanceIdentifier itk::Statistics::KdTreeNode< TSample >::GetInstanceIdentifier ( InstanceIdentifier  ) const
pure virtual
template<typename TSample >
virtual void itk::Statistics::KdTreeNode< TSample >::GetParameters ( unsigned int &  ,
MeasurementType  
) const
pure virtual

Fills the partitionDimension (the dimension that was chosen to split the measurement vectors belong to this node to the left and the right child among k dimensions) and the partitionValue (the measurement value on the partitionDimension divides the left and the right child

Implemented in itk::Statistics::KdTreeTerminalNode< TSample >, itk::Statistics::KdTreeWeightedCentroidNonterminalNode< TSample >, and itk::Statistics::KdTreeNonterminalNode< TSample >.

Referenced by itk::Statistics::KdTree< TSample >::NearestNeighborSearchLoop(), itk::Statistics::KdTree< TSample >::PlotTree(), itk::Statistics::KdTree< TSample >::PrintTree(), and itk::Statistics::KdTree< TSample >::SearchLoop().

template<typename TSample >
virtual void itk::Statistics::KdTreeNode< TSample >::GetWeightedCentroid ( CentroidType )
pure virtual
template<typename TSample >
virtual bool itk::Statistics::KdTreeNode< TSample >::IsTerminal ( ) const
pure virtual
template<typename TSample >
virtual Self* itk::Statistics::KdTreeNode< TSample >::Left ( )
pure virtual
template<typename TSample >
virtual const Self* itk::Statistics::KdTreeNode< TSample >::Left ( ) const
pure virtual
template<typename TSample >
virtual Self* itk::Statistics::KdTreeNode< TSample >::Right ( )
pure virtual
template<typename TSample >
virtual const Self* itk::Statistics::KdTreeNode< TSample >::Right ( ) const
pure virtual
template<typename TSample >
virtual unsigned int itk::Statistics::KdTreeNode< TSample >::Size ( ) const
pure virtual

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

Generated at Sat Mar 8 2014 18:02:47 for Orfeo Toolbox with doxygen 1.8.3.1