Main Page   Groups   Namespace List   Class Hierarchy   Alphabetical List   Compound List   File List   Namespace Members   Compound Members   File Members   Concepts
Public Types | Public Member Functions

itk::Statistics::KdTreeNode< TSample > Class Template Reference

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

#include <itkKdTree.h>

Inheritance diagram for itk::Statistics::KdTreeNode< TSample >:
Inheritance graph
[legend]

List of all members.

Public Types

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

Public Member Functions

virtual void AddInstanceIdentifier (InstanceIdentifier id)=0
virtual void AddInstanceIdentifier (InstanceIdentifier id)=0
virtual void GetCentroid (CentroidType &centroid)=0
virtual void GetCentroid (CentroidType &centroid)=0
virtual InstanceIdentifier GetInstanceIdentifier (vcl_size_t index) const =0
virtual InstanceIdentifier GetInstanceIdentifier (vcl_size_t index) const =0
virtual void GetParameters (unsigned int &partitionDimension, MeasurementType &partitionValue) const =0
virtual void GetParameters (unsigned int &partitionDimension, MeasurementType &partitionValue) const =0
virtual void GetWeightedCentroid (CentroidType &centroid)=0
virtual void GetWeightedCentroid (CentroidType &centroid)=0
virtual bool IsTerminal () const =0
virtual bool IsTerminal () const =0
virtual unsigned int Size () const =0
virtual unsigned int Size () const =0
virtual ~KdTreeNode ()
virtual ~KdTreeNode ()

virtual SelfLeft ()=0
virtual const SelfLeft () const =0

virtual SelfRight ()=0
virtual const SelfRight () const =0

virtual SelfLeft ()=0
virtual const SelfLeft () const =0

virtual SelfRight ()=0
virtual const SelfRight () const =0

Detailed Description

template<class 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.

Warning:
This class has been reported as not being thread safe. See http://www.itk.org/pipermail/insight-users/2009-November/034247.html
See also:
KdTreeNonterminalNode, KdTreeWeightedCentroidNonterminalNode, KdTreeTerminalNode

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 66 of file Numerics/Statistics/itkKdTree.h.


Member Typedef Documentation

template<class TSample >
typedef Array< double > itk::Statistics::KdTreeNode< TSample >::CentroidType
template<class TSample >
typedef Array< double > itk::Statistics::KdTreeNode< TSample >::CentroidType
template<class TSample >
typedef TSample::InstanceIdentifier itk::Statistics::KdTreeNode< TSample >::InstanceIdentifier
template<class TSample >
typedef TSample::InstanceIdentifier itk::Statistics::KdTreeNode< TSample >::InstanceIdentifier
template<class TSample >
typedef TSample::MeasurementType itk::Statistics::KdTreeNode< TSample >::MeasurementType
template<class TSample >
typedef TSample::MeasurementType itk::Statistics::KdTreeNode< TSample >::MeasurementType
template<class TSample >
typedef KdTreeNode< TSample> itk::Statistics::KdTreeNode< TSample >::Self

type alias for itself

Definition at line 69 of file Numerics/Statistics/itkKdTree.h.

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

type alias for itself

Definition at line 66 of file Review/Statistics/itkKdTree.h.


Constructor & Destructor Documentation

template<class TSample >
virtual itk::Statistics::KdTreeNode< TSample >::~KdTreeNode (  )  [inline, virtual]

Destructor

Definition at line 120 of file Numerics/Statistics/itkKdTree.h.

template<class TSample >
virtual itk::Statistics::KdTreeNode< TSample >::~KdTreeNode (  )  [inline, virtual]

Destructor

Definition at line 117 of file Review/Statistics/itkKdTree.h.


Member Function Documentation

template<class TSample >
virtual void itk::Statistics::KdTreeNode< TSample >::AddInstanceIdentifier ( InstanceIdentifier  id  )  [pure virtual]
template<class TSample >
virtual void itk::Statistics::KdTreeNode< TSample >::AddInstanceIdentifier ( InstanceIdentifier  id  )  [pure virtual]
template<class TSample >
virtual void itk::Statistics::KdTreeNode< TSample >::GetCentroid ( CentroidType centroid  )  [pure virtual]
template<class TSample >
virtual void itk::Statistics::KdTreeNode< TSample >::GetCentroid ( CentroidType centroid  )  [pure virtual]
template<class TSample >
virtual InstanceIdentifier itk::Statistics::KdTreeNode< TSample >::GetInstanceIdentifier ( vcl_size_t  index  )  const [pure virtual]
template<class TSample >
virtual InstanceIdentifier itk::Statistics::KdTreeNode< TSample >::GetInstanceIdentifier ( vcl_size_t  index  )  const [pure virtual]
template<class TSample >
virtual void itk::Statistics::KdTreeNode< TSample >::GetParameters ( unsigned int &  partitionDimension,
MeasurementType partitionValue 
) 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::KdTreeNonterminalNode< TSample >, itk::Statistics::KdTreeWeightedCentroidNonterminalNode< TSample >, itk::Statistics::KdTreeTerminalNode< TSample >, itk::Statistics::KdTreeNonterminalNode< TSample >, itk::Statistics::KdTreeWeightedCentroidNonterminalNode< TSample >, and itk::Statistics::KdTreeTerminalNode< TSample >.

template<class TSample >
virtual void itk::Statistics::KdTreeNode< TSample >::GetParameters ( unsigned int &  partitionDimension,
MeasurementType partitionValue 
) 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::KdTreeNonterminalNode< TSample >, itk::Statistics::KdTreeWeightedCentroidNonterminalNode< TSample >, itk::Statistics::KdTreeTerminalNode< TSample >, itk::Statistics::KdTreeNonterminalNode< TSample >, itk::Statistics::KdTreeWeightedCentroidNonterminalNode< TSample >, and itk::Statistics::KdTreeTerminalNode< TSample >.

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

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

Generated at Tue Jul 13 2010 04:07:41 for ITK by doxygen 1.7.1 written by Dimitri van Heesch, © 1997-2000