|
EmrysFilter 0.1.0
State estimation utilities in C++23 using Eigen
|
Reducing an update's branches (decisions.md [weighted-branches], [reduction-policies], [composed-features]): the Collapse, Select, and Keep policies, the Gate that rejects branches by a chi-squared test before another policy, the ReductionPolicy and MixtureReductionPolicy concepts a filter's update() requires of its policy, which a policy of the user's own meets [user-extension-points], and filterUpdate(), which turns an update into the FilterUpdate a filter returns. More...
#include <array>#include <concepts>#include <cstddef>#include <expected>#include <iterator>#include <optional>#include <ranges>#include <span>#include <tuple>#include <type_traits>#include <utility>#include <vector>#include <EmrysFilter/Models/Consistency.h>#include <EmrysFilter/Distributions/Gaussian.h>#include <EmrysFilter/Distributions/Mixture.h>#include <EmrysFilter/Core/Allocation.h>#include <EmrysFilter/Core/Forwarding.h>#include <EmrysFilter/Core/Macros.h>#include <EmrysFilter/Core/Math.h>#include <EmrysFilter/Models/Measurement.h>#include <EmrysFilter/Distributions/SampleSet.h>#include <EmrysFilter/Distributions/Statistics.h>#include <EmrysFilter/Core/Weights.h>Go to the source code of this file.
Classes | |
| struct | Emrys::reductions::Collapse |
| Reduction policy that moment-matches an update's branches into one Gaussian: soft outlier rejection, as in the probabilistic data association of Bar-Shalom and Tse (1975). More... | |
| struct | Emrys::reductions::Select |
| Reduction policy that keeps the most probable branch: hard rejection by comparing the noise components with each other. More... | |
| struct | Emrys::reductions::Keep |
| Reduction policy that keeps every branch, each added to the filter's output with its own posterior probability (see ReductionPolicy). More... | |
| struct | Emrys::NisThreshold< Scalar > |
A Gate's threshold given directly as a normalized innovation squared, rather than as a probability, in the scalar it is written in (NisThreshold{9.21f} is a float). More... | |
| class | Emrys::reductions::Gate< Inner, Scalar_ > |
| Reduction policy that rejects branches by a chi-squared test on their normalized innovation squared, then reduces the rest with Inner. More... | |
Namespaces | |
| namespace | Emrys::reductions |
| The reduction policies, each made by its factory (decisions.md [policy-factories], [reduction-policies]): collapse(), select(), keep(), and gate(). | |
Concepts | |
| concept | Emrys::ReductionPolicy |
| A reduction policy for a filter that keeps a State per update: it reduces an update's branches to at most one State (decisions.md [reduction-policies]). | |
| concept | Emrys::MixtureReductionPolicy |
| A reduction policy a MixtureFilter over Component_ takes for Update: one that reduces the branches into an output that holds several components (see ReductionPolicy), so that one prior component becomes several, as Keep makes it. | |
Functions | |
| constexpr Collapse | Emrys::reductions::collapse () |
| constexpr Select | Emrys::reductions::select () |
| constexpr Keep | Emrys::reductions::keep () |
| template<typename Value, typename Inner = Collapse> requires std::is_arithmetic_v<Value> | |
| Gate< Inner, internal::DeducedScalar< Value > > | Emrys::reductions::gate (Value probability, Inner inner={}) |
| template<RealScalar Scalar, typename Inner = Collapse> | |
| Gate< Inner, Scalar > | Emrys::reductions::gate (NisThreshold< Scalar > threshold, Inner inner={}) |
| template<typename State, typename Policy, typename Branches> requires internal::BranchRange<Branches> && internal::ReducesInto< Policy, Branches, internal::OneComponentOutput<State, internal::BranchScalarOf<Branches>, std::optional<State>>> | |
| std::optional< State > | Emrys::reduceToOne (Policy const &policy, Branches &&branches) |
Reducing an update's branches (decisions.md [weighted-branches], [reduction-policies], [composed-features]): the Collapse, Select, and Keep policies, the Gate that rejects branches by a chi-squared test before another policy, the ReductionPolicy and MixtureReductionPolicy concepts a filter's update() requires of its policy, which a policy of the user's own meets [user-extension-points], and filterUpdate(), which turns an update into the FilterUpdate a filter returns.
Read Consistency.h next.