Main MRPT website > C++ reference for MRPT 1.9.9
List of all members | Classes | Public Member Functions | Private Member Functions | Private Attributes
KmTree Class Reference

Detailed Description

Definition at line 43 of file KmTree.h.

#include <kmeans++/KmTree.h>

Classes

struct  Node
 

Public Member Functions

 KmTree (int n, int d, Scalar *points)
 
 ~KmTree ()
 
Scalar DoKMeansStep (int k, Scalar *centers, int *assignment) const
 
Scalar SeedKMeansPlusPlus (int k, Scalar *centers) const
 

Private Member Functions

NodeBuildNodes (Scalar *points, int first_index, int last_index, char **next_node_data)
 
Scalar GetNodeCost (const Node *node, Scalar *center) const
 
Scalar DoKMeansStepAtNode (const Node *node, int k, int *candidates, Scalar *centers, Scalar *sums, int *counts, int *assignment) const
 
bool ShouldBePruned (Scalar *box_median, Scalar *box_radius, Scalar *centers, int best_index, int test_index) const
 
void SeedKmppSetClusterIndex (const Node *node, int index) const
 
Scalar SeedKmppUpdateAssignment (const Node *node, int new_cluster, Scalar *centers, Scalar *dist_sq) const
 

Private Attributes

int n_
 
int d_
 
Scalarpoints_
 
Nodetop_node_
 
char * node_data_
 
int * point_indices_
 

Constructor & Destructor Documentation

◆ KmTree()

KmTree::KmTree ( int  n,
int  d,
Scalar points 
)

◆ ~KmTree()

KmTree::~KmTree ( )

Definition at line 52 of file KmTree.cpp.

References node_data_, and point_indices_.

Member Function Documentation

◆ BuildNodes()

KmTree::Node * KmTree::BuildNodes ( Scalar points,
int  first_index,
int  last_index,
char **  next_node_data 
)
private

◆ DoKMeansStep()

Scalar KmTree::DoKMeansStep ( int  k,
Scalar centers,
int *  assignment 
) const

◆ DoKMeansStepAtNode()

Scalar KmTree::DoKMeansStepAtNode ( const Node node,
int  k,
int *  candidates,
Scalar centers,
Scalar sums,
int *  counts,
int *  assignment 
) const
private

◆ GetNodeCost()

Scalar KmTree::GetNodeCost ( const Node node,
Scalar center 
) const
private

◆ SeedKMeansPlusPlus()

Scalar KmTree::SeedKMeansPlusPlus ( int  k,
Scalar centers 
) const

◆ SeedKmppSetClusterIndex()

void KmTree::SeedKmppSetClusterIndex ( const Node node,
int  index 
) const
private

◆ SeedKmppUpdateAssignment()

Scalar KmTree::SeedKmppUpdateAssignment ( const Node node,
int  new_cluster,
Scalar centers,
Scalar dist_sq 
) const
private

◆ ShouldBePruned()

bool KmTree::ShouldBePruned ( Scalar box_median,
Scalar box_radius,
Scalar centers,
int  best_index,
int  test_index 
) const
private

Definition at line 325 of file KmTree.cpp.

References d_.

Referenced by DoKMeansStepAtNode(), and SeedKmppUpdateAssignment().

Member Data Documentation

◆ d_

int KmTree::d_
private

◆ n_

int KmTree::n_
private

Definition at line 100 of file KmTree.h.

Referenced by SeedKMeansPlusPlus().

◆ node_data_

char* KmTree::node_data_
private

Definition at line 103 of file KmTree.h.

Referenced by KmTree(), and ~KmTree().

◆ point_indices_

int* KmTree::point_indices_
private

◆ points_

Scalar* KmTree::points_
private

Definition at line 101 of file KmTree.h.

Referenced by SeedKMeansPlusPlus(), and SeedKmppUpdateAssignment().

◆ top_node_

Node* KmTree::top_node_
private

Definition at line 102 of file KmTree.h.

Referenced by DoKMeansStep(), KmTree(), and SeedKMeansPlusPlus().




Page generated by Doxygen 1.8.17 for MRPT 1.9.9 Git: ad3a9d8ae Tue May 1 23:10:22 2018 -0700 at miƩ 12 jul 2023 10:03:34 CEST