ATLAS Offline Software
|
Class for operating DBSCAN clustering. More...
#include <DBScan.h>
Public Types | |
using | RegionFunc = std::function< std::vector< pointType >(const pointType &, double)> |
Function type for region query function. More... | |
Public Member Functions | |
DBScan (const std::unordered_set< pointType > &, RegionFunc) | |
Normal Constructor. More... | |
DBScan () | |
Default constructor. More... | |
~DBScan () | |
DBScan & | operator= (DBScan &&) noexcept=default |
Move assignment operator. More... | |
DBScan (DBScan &&) noexcept=default | |
Move constructor. More... | |
std::vector< Cluster< pointType > > | getClusters () const |
Retrun the list of clusters along with noise clusters. More... | |
size_t | nClusters () const |
const Cluster< pointType > & | getCluster (size_t) const |
Retrieve cluster. More... | |
void | clusterize (double, size_t) |
Generate clusters with DBSCAN algorithim. More... | |
Private Attributes | |
RegionFunc | m_regionQuery |
std::unordered_map< pointType, bool > | m_pointsVisited |
std::vector< Cluster< pointType > > | m_clusters |
std::unordered_set< pointType > | m_noises |
std::vector< Cluster< pointType > > | m_noisesCluster |
Class for operating DBSCAN clustering.
Pass set of points on construction, then execute clusterize() once. Set of points can only be read on construction so you need to make new DBSCAN instance when you want to add new points.
using TrigVSI::DBScan< pointType >::RegionFunc = std::function<std::vector<pointType>(const pointType&, double)> |
TrigVSI::DBScan< pointType >::DBScan | ( | const std::unordered_set< pointType > & | set, |
RegionFunc | regionQuery | ||
) |
TrigVSI::DBScan< pointType >::DBScan |
|
inline |
|
defaultnoexcept |
Move constructor.
void TrigVSI::DBScan< pointType >::clusterize | ( | double | eps, |
size_t | minN | ||
) |
Generate clusters with DBSCAN algorithim.
[in] | eps | Radius of region to find neighbor points. |
[in] | minN | Threshold to determine point as core. |
|
inline |
Retrieve cluster.
[in] | icls | Index of the cluster. |
Return different type of clusters depending on icls.
Definition at line 128 of file DBScan.h.
|
inline |
|
inline |
|
defaultnoexcept |
Move assignment operator.
|
private |
|
private |
|
private |
|
private |
|
private |