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

#include <itkKdTree.h>

Detailed Description

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

This is a subclass of the KdTreeNode.

KdTreeNonterminalNode does have the information related with the centroids. Therefore, the GetWeightedCentroid and the GetCentroid methods returns meaningful values. This class should have the left and right children. If we have a sample and want to generate a KdTree with the centroid related information, we can use the WeightedCentroidKdTreeGenerator. The centroid, the weighted centroid, and the size (the number of measurement vectors) can be used to accelerate the k-means estimation.

See also
KdTreeNode, KdTreeNonterminalNode, WeightedCentroidKdTreeGenerator

Definition at line 264 of file itkKdTree.h.

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

Public Types

using CentroidType = Array< double >
 
using InstanceIdentifier = typename TSample::InstanceIdentifier
 
using MeasurementType = typename TSample::MeasurementType
 
using MeasurementVectorSizeType = typename TSample::MeasurementVectorSizeType
 
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 &centroid) override
 
InstanceIdentifier GetInstanceIdentifier (InstanceIdentifier) const override
 
MeasurementVectorSizeType GetMeasurementVectorSize () const
 
void GetParameters (unsigned int &, MeasurementType &) const override
 
void GetWeightedCentroid (CentroidType &centroid) override
 
bool IsTerminal () const override
 
 KdTreeWeightedCentroidNonterminalNode (unsigned int, MeasurementType, Superclass *, Superclass *, CentroidType &, unsigned int)
 
const SuperclassLeft () const override
 
SuperclassLeft () override
 
const SuperclassRight () const override
 
SuperclassRight () override
 
unsigned int Size () const override
 
 ~KdTreeWeightedCentroidNonterminalNode () 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

CentroidType m_Centroid {}
 
InstanceIdentifier m_InstanceIdentifier {}
 
Superclassm_Left {}
 
MeasurementVectorSizeType m_MeasurementVectorSize {}
 
unsigned int m_PartitionDimension {}
 
MeasurementType m_PartitionValue {}
 
Superclassm_Right {}
 
unsigned int m_Size {}
 
CentroidType m_WeightedCentroid {}
 

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.

◆ MeasurementVectorSizeType

template<typename TSample >
using itk::Statistics::KdTreeWeightedCentroidNonterminalNode< TSample >::MeasurementVectorSizeType = typename TSample::MeasurementVectorSizeType

Definition at line 270 of file itkKdTree.h.

◆ Superclass

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

Definition at line 266 of file itkKdTree.h.

Constructor & Destructor Documentation

◆ KdTreeWeightedCentroidNonterminalNode()

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

◆ ~KdTreeWeightedCentroidNonterminalNode()

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

Member Function Documentation

◆ AddInstanceIdentifier()

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

Set the identifier of the node.

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

Definition at line 363 of file itkKdTree.h.

◆ GetCentroid()

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

Returns the centroid. weighted centroid divided by the size.

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

Definition at line 347 of file itkKdTree.h.

◆ GetInstanceIdentifier()

template<typename TSample >
InstanceIdentifier itk::Statistics::KdTreeWeightedCentroidNonterminalNode< 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 357 of file itkKdTree.h.

◆ GetMeasurementVectorSize()

template<typename TSample >
MeasurementVectorSizeType itk::Statistics::KdTreeWeightedCentroidNonterminalNode< TSample >::GetMeasurementVectorSize ( ) const
inline

Return the length of a measurement vector

Definition at line 294 of file itkKdTree.h.

◆ GetParameters()

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

Return the parameters of the node.

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

◆ GetWeightedCentroid()

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

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

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

Definition at line 338 of file itkKdTree.h.

◆ IsTerminal()

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

Not a terminal node.

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

Definition at line 283 of file itkKdTree.h.

◆ Left() [1/2]

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

Return the left tree const pointer.

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

Definition at line 315 of file itkKdTree.h.

◆ Left() [2/2]

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

Return the left tree pointer.

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

Definition at line 301 of file itkKdTree.h.

◆ Right() [1/2]

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

Return the right tree const pointer.

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

Definition at line 322 of file itkKdTree.h.

◆ Right() [2/2]

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

Return the right tree pointer.

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

Definition at line 308 of file itkKdTree.h.

◆ Size()

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

Return the size of the node.

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

Definition at line 329 of file itkKdTree.h.

Member Data Documentation

◆ m_Centroid

template<typename TSample >
CentroidType itk::Statistics::KdTreeWeightedCentroidNonterminalNode< TSample >::m_Centroid {}
private

Definition at line 373 of file itkKdTree.h.

◆ m_InstanceIdentifier

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

Definition at line 374 of file itkKdTree.h.

◆ m_Left

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

Definition at line 376 of file itkKdTree.h.

◆ m_MeasurementVectorSize

template<typename TSample >
MeasurementVectorSizeType itk::Statistics::KdTreeWeightedCentroidNonterminalNode< TSample >::m_MeasurementVectorSize {}
private

Definition at line 369 of file itkKdTree.h.

◆ m_PartitionDimension

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

Definition at line 370 of file itkKdTree.h.

◆ m_PartitionValue

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

Definition at line 371 of file itkKdTree.h.

◆ m_Right

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

Definition at line 377 of file itkKdTree.h.

◆ m_Size

template<typename TSample >
unsigned int itk::Statistics::KdTreeWeightedCentroidNonterminalNode< TSample >::m_Size {}
private

Definition at line 375 of file itkKdTree.h.

◆ m_WeightedCentroid

template<typename TSample >
CentroidType itk::Statistics::KdTreeWeightedCentroidNonterminalNode< TSample >::m_WeightedCentroid {}
private

Definition at line 372 of file itkKdTree.h.


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