Classes | Namespaces | Typedefs | Functions
cluster_based_estimation.hpp File Reference

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>
Include dependency graph for cluster_based_estimation.hpp:
This graph shows which files directly or indirectly include this file:

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...
 

Detailed Description

Implementation of a cluster-based estimation algorithm.

Definition in file cluster_based_estimation.hpp.



beluga
Author(s):
autogenerated on Tue Jul 16 2024 02:59:53