Main Page   Groups   Namespace List   Class Hierarchy   Alphabetical List   Compound List   File List   Namespace Members   Compound Members   File Members   Concepts

itk::Statistics::KdTreeNode< TSample > Struct 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 KdTreeNode< TSample > Self
typedef TSample::MeasurementType MeasurementType
typedef FixedArray< double,
itkGetStaticConstMacro(MeasurementVectorSize) 
CentroidType )
typedef TSample::InstanceIdentifier InstanceIdentifier

Public Member Functions

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

Detailed Description

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

See also:
KdTreeNonterminalNode, KdTreeWeightedCentroidNonterminalNode, KdTreeTerminalNode

Definition at line 57 of file itkKdTree.h.


Member Typedef Documentation

template<class TSample>
typedef FixedArray< double, itkGetStaticConstMacro(MeasurementVectorSize) itk::Statistics::KdTreeNode< TSample >::CentroidType)
 

Centroid type

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

Definition at line 71 of file itkKdTree.h.

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

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

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

Definition at line 75 of file itkKdTree.h.

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

Measurement type, not the measurement vector type

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

Definition at line 63 of file itkKdTree.h.

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

type alias for itself Definition at line 60 of file itkKdTree.h.


Constructor & Destructor Documentation

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

Destructor Definition at line 112 of file itkKdTree.h.


Member Function Documentation

template<class TSample>
virtual void itk::Statistics::KdTreeNode< TSample >::AddInstanceIdentifier InstanceIdentifier  id  )  [pure virtual]
 

Add an instance to this node

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

template<class TSample>
virtual void itk::Statistics::KdTreeNode< TSample >::GetCentroid CentroidType centroid  )  [pure virtual]
 

Returns the centroid. weighted centroid divided by the size

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

template<class TSample>
virtual InstanceIdentifier itk::Statistics::KdTreeNode< TSample >::GetInstanceIdentifier vcl_size_t  index  )  [pure virtual]
 

Retuns the instance identifier of the index-th measurement vector

Implemented in 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
[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 >, and itk::Statistics::KdTreeTerminalNode< TSample >.

template<class TSample>
virtual void itk::Statistics::KdTreeNode< TSample >::GetWeightedCentroid CentroidType centroid  )  [pure virtual]
 

Returns the vector sum of the all measurement vectors under this node

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

template<class TSample>
virtual bool itk::Statistics::KdTreeNode< TSample >::IsTerminal  )  [pure virtual]
 

Returns true if the node is a terminal node, that is a node that doesn't have any child.

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

template<class TSample>
itk::Statistics::KdTreeNode< TSample >::itkStaticConstMacro MeasurementVectorSize  ,
unsigned  int,
TSample::MeasurementVectorSize 
 

Measurement vector length

template<class TSample>
virtual Self* itk::Statistics::KdTreeNode< TSample >::Left  )  [pure virtual]
 

Returns the pointer to the left child of this node

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

template<class TSample>
virtual Self* itk::Statistics::KdTreeNode< TSample >::Right  )  [pure virtual]
 

Returns the pointer to the right child of this node

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

template<class TSample>
virtual unsigned int itk::Statistics::KdTreeNode< TSample >::Size  )  [pure virtual]
 

Returs the number of measurement vectors under this node including its children

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


The documentation for this struct was generated from the following file:
Generated at Sat Mar 31 03:13:31 2007 for ITK by doxygen 1.3.8 written by Dimitri van Heesch, © 1997-2000