Clusters associations

Provides functions for building cluster-to-points association maps, both on host and device.

Authors

Simone Balducci, Felice Pantaleo, Marco Rovere, Wahid Redjeb, Aurora Perego, Francesco Giacomini

namespace clue

Functions

template<std::size_t Ndim>
inline auto get_clusters(const PointsHost<Ndim> &points)

Construct a map associating clusters to points This overload works on host points and returns a map allocated on the host.

Parameters:
const PointsHost<Ndim> &points

The points for which to get the clusters

Template Parameters:
std::size_t Ndim

The number of dimensions of the points

Returns:

An AssociationMap where each key is a cluster index and the associated values are the indices of the points belonging to that cluster

template<concepts::queue TQueue, std::size_t Ndim>
inline auto get_clusters(TQueue &queue, const PointsDevice<Ndim> &points)

Construct a map associating clusters to points This overload works on device points and returns a map allocated on the device.

Parameters:
const PointsDevice<Ndim> &points

The points for which to get the clusters

Template Parameters:
concepts::queue TQueue

The type of queue to use for device computations

std::size_t Ndim

The number of dimensions of the points

Returns:

An AssociationMap where each key is a cluster index and the associated values are the indices of the points belonging to that cluster