From bef498c1aff519919db4ab9fc4f7061e1c90bea2 Mon Sep 17 00:00:00 2001 From: zhenyuen Date: Mon, 11 Nov 2024 22:22:22 +0000 Subject: [PATCH] feat: update docstrings --- stonesoup/predictor/particle.py | 12 +++++++++++- stonesoup/updater/particle.py | 12 +++++++++++- 2 files changed, 22 insertions(+), 2 deletions(-) diff --git a/stonesoup/predictor/particle.py b/stonesoup/predictor/particle.py index 8c43a8eb5..ba65b9d05 100644 --- a/stonesoup/predictor/particle.py +++ b/stonesoup/predictor/particle.py @@ -528,7 +528,17 @@ def predict(self, prior, timestamp=None, **kwargs): class MarginalisedParticlePredictor(ParticlePredictor): - """Implementation of the Marginalised Particle Filter predictor""" + """Implementation of the Marginalised Particle Filter (MPF) predictor. + + The MPF which partitions the state into: + 1. linear Gaussian + 2. non-linear and possibly non-Gaussian + + It uses a Kalman filter to handle the linear Gaussian states, and + a traditional particle filter to infer the non-linear states. + + See Cappe, Godsill, Moulines (2007) for more details. + """ def __init__(self, *args, **kwargs): super().__init__(*args, **kwargs) diff --git a/stonesoup/updater/particle.py b/stonesoup/updater/particle.py index 0736605fd..8d4678b66 100644 --- a/stonesoup/updater/particle.py +++ b/stonesoup/updater/particle.py @@ -655,7 +655,17 @@ def _get_measurement_loglikelihoods(self, prediction, detections): class MarginalisedParticleUpdater(ParticleUpdater): - """Implementation of the Marginalised Particle Filter updater""" + """Implementation of the Marginalised Particle Filter (MPF) updater + + The MPF which partitions the state into: + 1. linear Gaussian + 2. non-linear and possibly non-Gaussian + + It uses a Kalman filter to handle the linear Gaussian states, and + a traditional particle filter to infer the non-linear states. + + See Cappe, Godsill, Moulines (2007) for more details. + """ def _measurement_matrix(self, predicted_state=None, measurement_model=None, **kwargs): # H