ITK  6.0.0
Insight Toolkit
Public Types | Public Member Functions | Private Attributes | List of all members
itk::Statistics::KdTreeNonterminalNode< TSample > Class Template Reference

#include <itkKdTree.h>

Detailed Description

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

This is a subclass of the KdTreeNode.

KdTreeNonterminalNode doesn't store the information related with the centroids. Therefore, the GetWeightedCentroid and the GetCentroid methods are void. This class should have the left and the right children. If we have a sample and want to generate a KdTree without the centroid related information, we can use the KdTreeGenerator.

See also
KdTreeNode, KdTreeWeightedCentroidNonterminalNode, KdTreeGenerator

Definition at line 149 of file itkKdTree.h.

+ Inheritance diagram for itk::Statistics::KdTreeNonterminalNode< TSample >:
+ Collaboration diagram for itk::Statistics::KdTreeNonterminalNode< TSample >:

Public Types

using CentroidType = Array< double >
 
using InstanceIdentifier = typename TSample::InstanceIdentifier
 
using MeasurementType = typename TSample::MeasurementType
 
using Superclass = KdTreeNode< TSample >
 
- Public Types inherited from itk::Statistics::KdTreeNode< TSample >
using CentroidType = Array< double >
 
using InstanceIdentifier = typename TSample::InstanceIdentifier
 
using MeasurementType = typename TSample::MeasurementType
 
using Self = KdTreeNode< TSample >
 

Public Member Functions

void AddInstanceIdentifier (InstanceIdentifier valueId) override
 
void GetCentroid (CentroidType &) override
 
InstanceIdentifier GetInstanceIdentifier (InstanceIdentifier) const override
 
void GetParameters (unsigned int &, MeasurementType &) const override
 
void GetWeightedCentroid (CentroidType &) override
 
bool IsTerminal () const override
 
 KdTreeNonterminalNode (unsigned int, MeasurementType, Superclass *, Superclass *)
 
const SuperclassLeft () const override
 
SuperclassLeft () override
 
const SuperclassRight () const override
 
SuperclassRight () override
 
unsigned int Size () const override
 
 ~KdTreeNonterminalNode () override=default
 
- Public Member Functions inherited from itk::Statistics::KdTreeNode< TSample >
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 const SelfLeft () const =0
 
virtual SelfLeft ()=0
 
virtual const SelfRight () const =0
 
virtual SelfRight ()=0
 
virtual unsigned int Size () const =0
 
virtual ~KdTreeNode ()=default
 

Private Attributes

InstanceIdentifier m_InstanceIdentifier {}
 
Superclassm_Left {}
 
unsigned int m_PartitionDimension {}
 
MeasurementType m_PartitionValue {}
 
Superclassm_Right {}
 

Member Typedef Documentation

◆ CentroidType

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

Centroid type

Definition at line 74 of file itkKdTree.h.

◆ InstanceIdentifier

template<typename TSample >
using itk::Statistics::KdTreeNode< TSample >::InstanceIdentifier = typename TSample::InstanceIdentifier

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

Definition at line 78 of file itkKdTree.h.

◆ MeasurementType

template<typename TSample >
using itk::Statistics::KdTreeNode< TSample >::MeasurementType = typename TSample::MeasurementType

Measurement type, not the measurement vector type

Definition at line 71 of file itkKdTree.h.

◆ Superclass

template<typename TSample >
using itk::Statistics::KdTreeNonterminalNode< TSample >::Superclass = KdTreeNode<TSample>

Definition at line 151 of file itkKdTree.h.

Constructor & Destructor Documentation

◆ KdTreeNonterminalNode()

template<typename TSample >
itk::Statistics::KdTreeNonterminalNode< TSample >::KdTreeNonterminalNode ( unsigned int  ,
MeasurementType  ,
Superclass ,
Superclass  
)

◆ ~KdTreeNonterminalNode()

template<typename TSample >
itk::Statistics::KdTreeNonterminalNode< TSample >::~KdTreeNonterminalNode ( )
overridedefault

Member Function Documentation

◆ AddInstanceIdentifier()

template<typename TSample >
void itk::Statistics::KdTreeNonterminalNode< TSample >::AddInstanceIdentifier ( InstanceIdentifier  valueId)
inlineoverridevirtual

Set the identifier of the node.

Implements itk::Statistics::KdTreeNode< TSample >.

Definition at line 234 of file itkKdTree.h.

◆ GetCentroid()

template<typename TSample >
void itk::Statistics::KdTreeNonterminalNode< TSample >::GetCentroid ( CentroidType )
inlineoverridevirtual

Returns the centroid. weighted centroid divided by the size. Do nothing for this class.

Implements itk::Statistics::KdTreeNode< TSample >.

Definition at line 220 of file itkKdTree.h.

◆ GetInstanceIdentifier()

template<typename TSample >
InstanceIdentifier itk::Statistics::KdTreeNonterminalNode< TSample >::GetInstanceIdentifier ( InstanceIdentifier  ) const
inlineoverridevirtual

Returns the identifier of the only MeasurementVector associated with this node in the tree. This MeasurementVector will be used later during the distance computation when querying the tree.

Implements itk::Statistics::KdTreeNode< TSample >.

Definition at line 228 of file itkKdTree.h.

◆ GetParameters()

template<typename TSample >
void itk::Statistics::KdTreeNonterminalNode< TSample >::GetParameters ( unsigned int &  ,
MeasurementType  
) const
overridevirtual

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

Implements itk::Statistics::KdTreeNode< TSample >.

◆ GetWeightedCentroid()

template<typename TSample >
void itk::Statistics::KdTreeNonterminalNode< TSample >::GetWeightedCentroid ( CentroidType )
inlineoverridevirtual

Returns the vector sum of the all measurement vectors under this node. Do nothing for this class.

Implements itk::Statistics::KdTreeNode< TSample >.

Definition at line 212 of file itkKdTree.h.

◆ IsTerminal()

template<typename TSample >
bool itk::Statistics::KdTreeNonterminalNode< TSample >::IsTerminal ( ) const
inlineoverridevirtual

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

Implements itk::Statistics::KdTreeNode< TSample >.

Definition at line 161 of file itkKdTree.h.

◆ Left() [1/2]

template<typename TSample >
const Superclass * itk::Statistics::KdTreeNonterminalNode< TSample >::Left ( ) const
inlineoverridevirtual

Returns the const pointer to the left child of this node

Implements itk::Statistics::KdTreeNode< TSample >.

Definition at line 185 of file itkKdTree.h.

◆ Left() [2/2]

template<typename TSample >
Superclass * itk::Statistics::KdTreeNonterminalNode< TSample >::Left ( )
inlineoverridevirtual

Returns the pointer to the left child of this node

Implements itk::Statistics::KdTreeNode< TSample >.

Definition at line 171 of file itkKdTree.h.

◆ Right() [1/2]

template<typename TSample >
const Superclass * itk::Statistics::KdTreeNonterminalNode< TSample >::Right ( ) const
inlineoverridevirtual

Returns the const pointer to the right child of this node

Implements itk::Statistics::KdTreeNode< TSample >.

Definition at line 192 of file itkKdTree.h.

◆ Right() [2/2]

template<typename TSample >
Superclass * itk::Statistics::KdTreeNonterminalNode< TSample >::Right ( )
inlineoverridevirtual

Returns the pointer to the right child of this node

Implements itk::Statistics::KdTreeNode< TSample >.

Definition at line 178 of file itkKdTree.h.

◆ Size()

template<typename TSample >
unsigned int itk::Statistics::KdTreeNonterminalNode< TSample >::Size ( ) const
inlineoverridevirtual

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

Implements itk::Statistics::KdTreeNode< TSample >.

Definition at line 202 of file itkKdTree.h.

Member Data Documentation

◆ m_InstanceIdentifier

template<typename TSample >
InstanceIdentifier itk::Statistics::KdTreeNonterminalNode< TSample >::m_InstanceIdentifier {}
private

Definition at line 242 of file itkKdTree.h.

◆ m_Left

template<typename TSample >
Superclass* itk::Statistics::KdTreeNonterminalNode< TSample >::m_Left {}
private

Definition at line 243 of file itkKdTree.h.

◆ m_PartitionDimension

template<typename TSample >
unsigned int itk::Statistics::KdTreeNonterminalNode< TSample >::m_PartitionDimension {}
private

Definition at line 240 of file itkKdTree.h.

◆ m_PartitionValue

template<typename TSample >
MeasurementType itk::Statistics::KdTreeNonterminalNode< TSample >::m_PartitionValue {}
private

Definition at line 241 of file itkKdTree.h.

◆ m_Right

template<typename TSample >
Superclass* itk::Statistics::KdTreeNonterminalNode< TSample >::m_Right {}
private

Definition at line 244 of file itkKdTree.h.


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