class stonesoup.regulariser.base.Regulariser[source]

Bases: Base

Regulariser base class


class stonesoup.regulariser.particle.MCMCRegulariser[source]

Bases: Regulariser

Markov chain Monte-Carlo (MCMC) move steps, or regularisation steps, can be implemented in particle filters to prevent sample impoverishment that results from resampling. One way of avoiding this is to only perform resampling when deemed necessary by some measure of effectiveness. Sometimes this is not desirable, or possible, when a particular algorithm requires the introduction of new samples as part of the filtering process for example.

This is a particlar implementation of a MCMC move step that uses the Metropolis-Hastings algorithm [1]. After resampling, particles are moved a small amount, according do a Gaussian kernel, to a new state only if the Metropolis-Hastings acceptance probability is met by a random number assigned to each particle from a uniform random distribution, otherwise they remain the same. Further details on the implementation are given in [2].


regularise(prior, posterior, detections)[source]

Regularise the particles

  • prior (ParticleState type or list of Particle) – prior particle distribution

  • posterior (ParticleState type or list of Particle) – posterior particle distribution

  • detections (set of Detection) – set of detections containing clutter, true detections or both


particle state – The particle state after regularisation

Return type: