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

#include <itkKdTree.h>

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

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 138 of file itkKdTree.h.

Public Types

using CentroidType = typename Superclass::CentroidType
 
using InstanceIdentifier = typename Superclass::InstanceIdentifier
 
using MeasurementType = typename Superclass::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 *)
 
SuperclassLeft () override
 
const SuperclassLeft () const override
 
SuperclassRight () override
 
const SuperclassRight () const override
 
unsigned int Size () const override
 
 ~KdTreeNonterminalNode () override=default
 
- Public Member Functions inherited from itk::Statistics::KdTreeNode< TSample >
virtual ~KdTreeNode ()=default
 

Private Attributes

InstanceIdentifier m_InstanceIdentifier
 
Superclassm_Left
 
unsigned int m_PartitionDimension
 
MeasurementType m_PartitionValue
 
Superclassm_Right
 

Member Typedef Documentation

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

Definition at line 142 of file itkKdTree.h.

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

Definition at line 143 of file itkKdTree.h.

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

Definition at line 141 of file itkKdTree.h.

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

Definition at line 140 of file itkKdTree.h.

Constructor & Destructor Documentation

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

Member Function Documentation

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 215 of file itkKdTree.h.

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 200 of file itkKdTree.h.

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 207 of file itkKdTree.h.

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

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 194 of file itkKdTree.h.

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 150 of file itkKdTree.h.

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 158 of file itkKdTree.h.

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 170 of file itkKdTree.h.

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 164 of file itkKdTree.h.

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 176 of file itkKdTree.h.

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

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

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

Definition at line 185 of file itkKdTree.h.

Member Data Documentation

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

Definition at line 224 of file itkKdTree.h.

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

Definition at line 225 of file itkKdTree.h.

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

Definition at line 222 of file itkKdTree.h.

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

Definition at line 223 of file itkKdTree.h.

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

Definition at line 226 of file itkKdTree.h.


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