template class mrpt::bayes::CRejectionSamplingCapable
Overview
A base class for implementing rejection sampling in a generic state space.
See the main method CRejectionSamplingCapable::rejectionSampling To use this class, create your own class as a child of this one and implement the desired virtual methods, and add any required internal data.
#include <mrpt/bayes/CRejectionSamplingCapable.h> template < class TStateSpace, mrpt::bayes::particle_storage_mode STORAGE = mrpt::bayes::particle_storage_mode::POINTER > class CRejectionSamplingCapable { public: // methods std::vector<TParticle> rejectionSampling(size_t desiredSamples, size_t timeoutTrials = 1000); }; // direct descendants class CRejectionSamplingRangeOnlyLocalization; struct GaussianRS;
Methods
std::vector<TParticle> rejectionSampling( size_t desiredSamples, size_t timeoutTrials = 1000 )
Generates a set of N independent samples via rejection sampling.
Parameters:
desiredSamples |
The number of desired samples to generate. |
timeoutTrials |
The maximum number of rejection trials per sample. Samples that exceed the timeout are assigned a weight proportional to the best likelihood seen, rather than the uniform weight of accepted samples. |
Returns:
Vector of desiredSamples particles.