Clustering
C++20 header-only: DBSCAN, HDBSCAN, k-means.
Loading...
Searching...
No Matches
clustering::index::RangeIndex Concept Reference

Contract for spatial indexes that can surface the radius-neighborhood adjacency over a borrowed point cloud in one call. More...

#include <clustering/index/range_query.h>

Concept definition

template<class Q, class T>
concept RangeIndex = std::constructible_from<Q, const NDArray<T, 2> &> &&
requires(const Q &q, T radius, math::Pool pool) {
{
q.query(radius, pool)
} -> std::same_as<std::vector<std::vector<std::int32_t>>>;
}
Contract for spatial indexes that can surface the radius-neighborhood adjacency over a borrowed point...
Definition range_query.h:24
Thin injection wrapper around a BS::light_thread_pool.
Definition thread.h:63

Detailed Description

Contract for spatial indexes that can surface the radius-neighborhood adjacency over a borrowed point cloud in one call.

DBSCAN reduces core-point detection and cluster expansion to neighbor lookups on the radius graph; any satisfying backend is free to build that graph however its geometry favours (tree walk for low dim, blocked pairwise for high dim).

Template Parameters
QCandidate index type.
TElement type of the point cloud.

Definition at line 24 of file range_query.h.