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

#include <itkKdTree.h>

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

Public Types

using CentroidType = typename Superclass::CentroidType
 
using InstanceIdentifier = typename Superclass::InstanceIdentifier
 
using MeasurementType = typename Superclass::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 ~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
 

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.

Member Typedef Documentation

◆ CentroidType

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

Definition at line 268 of file itkKdTree.h.

◆ InstanceIdentifier

Definition at line 269 of file itkKdTree.h.

◆ MeasurementType

Definition at line 267 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: