ACloudViewer  3.9.4
A Modern Library for 3D Data Processing
flann::KMeansppCenterChooser< Distance > Class Template Reference

#include <center_chooser.h>

Inheritance diagram for flann::KMeansppCenterChooser< Distance >:
Collaboration diagram for flann::KMeansppCenterChooser< Distance >:

Public Types

typedef Distance::ElementType ElementType
 
typedef Distance::ResultType DistanceType
 
- Public Types inherited from flann::CenterChooser< Distance >
typedef Distance::ElementType ElementType
 
typedef Distance::ResultType DistanceType
 

Public Member Functions

 KMeansppCenterChooser (const Distance &distance, const std::vector< ElementType * > &points)
 
void operator() (int k, int *indices, int indices_length, int *centers, int &centers_length)
 
- Public Member Functions inherited from flann::CenterChooser< Distance >
 CenterChooser (const Distance &distance, const std::vector< ElementType * > &points)
 
virtual ~CenterChooser ()
 
void setDataSize (size_t cols)
 

Additional Inherited Members

- Protected Attributes inherited from flann::CenterChooser< Distance >
const Distance distance_
 
const std::vector< ElementType * > & points_
 
size_t cols_
 

Detailed Description

template<typename Distance>
class flann::KMeansppCenterChooser< Distance >

Chooses the initial centers using the algorithm proposed in the KMeans++ paper: Arthur, David; Vassilvitskii, Sergei - k-means++: The Advantages of Careful Seeding

Definition at line 211 of file center_chooser.h.

Member Typedef Documentation

◆ DistanceType

template<typename Distance >
typedef Distance::ResultType flann::KMeansppCenterChooser< Distance >::DistanceType

Definition at line 215 of file center_chooser.h.

◆ ElementType

template<typename Distance >
typedef Distance::ElementType flann::KMeansppCenterChooser< Distance >::ElementType

Definition at line 214 of file center_chooser.h.

Constructor & Destructor Documentation

◆ KMeansppCenterChooser()

template<typename Distance >
flann::KMeansppCenterChooser< Distance >::KMeansppCenterChooser ( const Distance distance,
const std::vector< ElementType * > &  points 
)
inline

Definition at line 221 of file center_chooser.h.

Member Function Documentation

◆ operator()()

template<typename Distance >
void flann::KMeansppCenterChooser< Distance >::operator() ( int  k,
int *  indices,
int  indices_length,
int *  centers,
int &  centers_length 
)
inlinevirtual

Chooses cluster centers

Parameters
knumber of centers to choose
indicesindices of points to choose the centers from
indices_lengthlength of indices
centersindices of chosen centers
centers_lengthlength of centers array

Implements flann::CenterChooser< Distance >.

Definition at line 224 of file center_chooser.h.

References flann::CenterChooser< Distance >::cols_, dist(), flann::CenterChooser< Distance >::distance_, min(), flann::CenterChooser< Distance >::points_, flann::rand_double(), and flann::rand_int().


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