ITK  5.0.0
Insight Segmentation and Registration 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 >:

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 accelate the k-means estimation.

See Also
KdTreeNode, KdTreeNonterminalNode, WeightedCentroidKdTreeGenerator

Definition at line 245 of file itkKdTree.h.

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)
 
SuperclassLeft () override
 
const SuperclassLeft () const override
 
SuperclassRight () override
 
const SuperclassRight () const 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
 

Member Typedef Documentation

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

Definition at line 249 of file itkKdTree.h.

Definition at line 250 of file itkKdTree.h.

Definition at line 248 of file itkKdTree.h.

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

Definition at line 251 of file itkKdTree.h.

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

Definition at line 247 of file itkKdTree.h.

Constructor & Destructor Documentation

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

Member Function Documentation

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

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

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

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

Return the length of a measurement vector

Definition at line 268 of file itkKdTree.h.

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

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

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

Not a terminal node.

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

Definition at line 259 of file itkKdTree.h.

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

Return the left tree pointer.

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

Definition at line 274 of file itkKdTree.h.

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

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

Return the right tree pointer.

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

Definition at line 280 of file itkKdTree.h.

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

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

Member Data Documentation

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

Definition at line 342 of file itkKdTree.h.

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

Definition at line 343 of file itkKdTree.h.

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

Definition at line 345 of file itkKdTree.h.

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

Definition at line 338 of file itkKdTree.h.

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

Definition at line 339 of file itkKdTree.h.

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

Definition at line 340 of file itkKdTree.h.

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

Definition at line 346 of file itkKdTree.h.

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

Definition at line 344 of file itkKdTree.h.

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

Definition at line 341 of file itkKdTree.h.


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