Implementation of a cluster-based estimation algorithm. More...
#include <functional>#include <optional>#include <queue>#include <unordered_map>#include <utility>#include <vector>#include <range/v3/algorithm/max_element.hpp>#include <range/v3/algorithm/sort.hpp>#include <range/v3/numeric/accumulate.hpp>#include <range/v3/range/conversion.hpp>#include <range/v3/view/cache1.hpp>#include <range/v3/view/filter.hpp>#include <range/v3/view/map.hpp>#include <range/v3/view/zip.hpp>#include <sophus/se2.hpp>#include <sophus/types.hpp>#include <beluga/algorithm/estimation.hpp>#include <beluga/algorithm/spatial_hash.hpp>#include <range/v3/view/group_by.hpp>

Go to the source code of this file.
Classes | |
| struct | beluga::clusterizer_detail::ClusterCell< State > |
| A struct that holds the data of a single cell for the clusterization algorithm. More... | |
| class | beluga::ParticleClusterizer |
| Particle clusterizer implementation. More... | |
| struct | beluga::ParticleClusterizerParam |
| Parameters used to construct a ParticleClusterizer instance. More... | |
Namespaces | |
| beluga | |
| The main Beluga namespace. | |
| beluga::clusterizer_detail | |
Typedefs | |
| template<class State > | |
| using | beluga::clusterizer_detail::ClusterMap = std::unordered_map< std::size_t, ClusterCell< State > > |
| A map that holds the sparse data about the particles grouped in cells. More... | |
Functions | |
| template<class State , class NeighborsFunction > | |
| static void | beluga::clusterizer_detail::assign_clusters (ClusterMap< State > &map, NeighborsFunction &&neighbors_function) |
| Assign cluster ids to an existing cluster map. More... | |
| template<class Range > | |
| auto | beluga::clusterizer_detail::calculate_percentile_threshold (Range &&range, double percentile) |
| Calculates the threshold value at a specified percentile from a range. More... | |
| template<class States , class Weights > | |
| auto | beluga::cluster_based_estimate (States &&states, Weights &&weights, ParticleClusterizerParam parameters={}) |
| Computes a cluster-based estimate from a particle set. More... | |
| template<class States , class Weights , class Clusters > | |
| auto | beluga::estimate_clusters (States &&states, Weights &&weights, Clusters &&clusters) |
| For each cluster, estimate the mean and covariance of the states that belong to it. More... | |
| template<class States , class Weights , class Hashes > | |
| static auto | beluga::clusterizer_detail::make_cluster_map (States &&states, Weights &&weights, Hashes &&hashes) |
| Create a cluster map from a range of particles and their corresponding spatial hashes. More... | |
| template<class Map , class Proj > | |
| auto | beluga::clusterizer_detail::make_priority_queue (const Map &map, Proj &&proj) |
| Create a priority queue from a map using a specified projection. More... | |
| template<class State > | |
| static void | beluga::clusterizer_detail::normalize_and_cap_weights (ClusterMap< State > &map, double percentile) |
| Normalize weights and cap them to a given percentile. More... | |
Implementation of a cluster-based estimation algorithm.
Definition in file cluster_based_estimation.hpp.