Back to Adaptive Vision Library website
You are here: Start » Function Reference » Clustering » ClusterPoints2D_SingleLink
ClusterPoints2D_SingleLink
Clusters data using hierarchical single-link algorithm.
Header: | AVL.h |
---|
Syntax
C++
C#
void avl::ClusterPoints2D_SingleLink ( const atl::Array<avl::Point2D>& inPoints, const atl::Optional<int> inClusters, const atl::Optional<float> inMaxDistance, atl::Array<atl::Array<avl::Point2D>>& outClusters )
Parameters
Name | Type | Range | Default | Description | |
---|---|---|---|---|---|
inPoints | const Array<Point2D>& | Array of points to cluster | |||
inClusters | const Optional<int> | 2 - + | NIL | Number of clusters to extract | |
inMaxDistance | const Optional<float> | 0.0 - | NIL | Maximum distance between two closest points in a cluster | |
outClusters | Array<Array<Point2D>>& | Resulting Point2D clusters |
Remarks
If input parameter inClusters is not set, number of clusters is determined in the following way:
- if inMaxDistance is set then every two points of mutual distance smaller or equal to inMaxDistance belong to one cluster;
- if inMaxDistance is not set then an array of sorted edges' lengths of minimum spanning tree of inPoints is determined and
a pair of two subsequent elements which makes a maximum difference is found.
Maximum distance is defined as the smaller element of such a pair.
In other words number of clusters is the number of vertical lines in the dendrogram cut by a horizontal line that can transverse the maximum distance vertically without intersecting a cluster.
Errors
Error type | Description |
---|---|
DomainError | Filter input inPoints is empty in ClusterPoints2D_SingleLink. |
DomainError | Too big inPoints array in ClusterPoints2D_SingleLink. |
DomainError | Desired number of clusters is greater than inPoints size in ClusterPoints2D_SingleLink. |
See Also
- ClusterPoints2D – Clusters 2D points using K Means Clustering method.