API Reference

kalman_filters.kalmanFilterTool.cli

CLI entry for the Kalman Filter tool.

This module supports three usage styles:

  1. Preferred package execution from the repository root:

    python -m kalman_filters.kalmanFilterTool.cli run --help
    
  2. Historical no-subcommand usage from the package folder:

    python cli.py --help
    python cli.py --dt 0.05 --T 10 --backend both
    
  3. Sphinx documentation skeleton generation:

    python -m kalman_filters.kalmanFilterTool.cli sphinx-skel docs --force
    

The Sphinx helper intentionally writes conservative, deploy-safe files for GitHub Pages builds.

kalman_filters.kalmanFilterTool.cli.build_parser()[source]

Build the command-line parser.

Return type:

ArgumentParser

kalman_filters.kalmanFilterTool.cli.main(argv=None)[source]

Run the kalmanFilterTool command-line interface.

Parameters:

argv (list[str] | None)

Return type:

int

kalman_filters.kalmanFilterTool.apis

class kalman_filters.kalmanFilterTool.apis.RunRequest(dt: 'float' = 0.05, T: 'float' = 10.0, q: 'float' = 0.25, r: 'float' = 4.0, u: 'float' = 0.0, steady: 'bool' = False, seed: 'int' = 1, backend: 'Backend' = 'both', A: 'Optional[np.ndarray]' = None, B: 'Optional[np.ndarray]' = None, C: 'Optional[np.ndarray]' = None, G: 'Optional[np.ndarray]' = None, Q: 'Optional[np.ndarray]' = None, R: 'Optional[np.ndarray]' = None, x0: 'Optional[np.ndarray]' = None, P0: 'Optional[np.ndarray]' = None, xtrue0: 'Optional[np.ndarray]' = None, save_csv: 'Optional[str]' = None, save_png: 'Optional[str]' = None, save_html: 'Optional[str]' = None, no_show: 'bool' = False, in_dir: 'str' = 'kalman_filters/kalmanFilterTool/in', out_dir: 'str' = 'kalman_filters/kalmanFilterTool/out')[source]

Bases: object

Parameters:
  • dt (float)

  • T (float)

  • q (float)

  • r (float)

  • u (float)

  • steady (bool)

  • seed (int)

  • backend (Literal['mpl', 'plotly', 'both', 'none'])

  • A (ndarray | None)

  • B (ndarray | None)

  • C (ndarray | None)

  • G (ndarray | None)

  • Q (ndarray | None)

  • R (ndarray | None)

  • x0 (ndarray | None)

  • P0 (ndarray | None)

  • xtrue0 (ndarray | None)

  • save_csv (str | None)

  • save_png (str | None)

  • save_html (str | None)

  • no_show (bool)

  • in_dir (str)

  • out_dir (str)

A: ndarray | None = None
B: ndarray | None = None
C: ndarray | None = None
G: ndarray | None = None
P0: ndarray | None = None
Q: ndarray | None = None
R: ndarray | None = None
T: float = 10.0
backend: Literal['mpl', 'plotly', 'both', 'none'] = 'both'
dt: float = 0.05
in_dir: str = 'kalman_filters/kalmanFilterTool/in'
no_show: bool = False
out_dir: str = 'kalman_filters/kalmanFilterTool/out'
q: float = 0.25
r: float = 4.0
save_csv: str | None = None
save_html: str | None = None
save_png: str | None = None
seed: int = 1
steady: bool = False
u: float = 0.0
x0: ndarray | None = None
xtrue0: ndarray | None = None

kalman_filters.kalmanFilterTool.io

kalman_filters.kalmanFilterTool.io.parse_matrix(s)[source]
Parameters:

s (str)

Return type:

ndarray

kalman_filters.kalmanFilterTool.io.parse_vector(s)[source]
Parameters:

s (str)

Return type:

ndarray

kalman_filters.kalmanFilterTool.app

class kalman_filters.kalmanFilterTool.app.KalmanFilterApp[source]

Bases: object

build_and_run(req)[source]
Parameters:

req (RunRequest)

Return type:

dict

kalman_filters.kalmanFilterTool.core

class kalman_filters.kalmanFilterTool.core.KalmanModel(A: 'np.ndarray', B: 'np.ndarray', C: 'np.ndarray', G: 'np.ndarray', Q_state: 'Optional[np.ndarray]', Qw: 'Optional[np.ndarray]', R: 'np.ndarray', noise_mode: 'NoiseMode')[source]

Bases: object

Parameters:
  • A (ndarray)

  • B (ndarray)

  • C (ndarray)

  • G (ndarray)

  • Q_state (ndarray | None)

  • Qw (ndarray | None)

  • R (ndarray)

  • noise_mode (Literal['state', 'input'])

A: ndarray
B: ndarray
C: ndarray
G: ndarray
GQGT()[source]
Return type:

ndarray

Q_state: ndarray | None
Qw: ndarray | None
R: ndarray
property n: int
noise_mode: Literal['state', 'input']
property p: int
class kalman_filters.kalmanFilterTool.core.SimulationResult(t: 'np.ndarray', X_true: 'np.ndarray', X_hat: 'np.ndarray', Y_meas: 'np.ndarray', K_gain: 'Optional[np.ndarray]', meta: 'dict')[source]

Bases: object

Parameters:
  • t (ndarray)

  • X_true (ndarray)

  • X_hat (ndarray)

  • Y_meas (ndarray)

  • K_gain (ndarray | None)

  • meta (dict)

K_gain: ndarray | None
X_hat: ndarray
X_true: ndarray
Y_meas: ndarray
meta: dict
t: ndarray
class kalman_filters.kalmanFilterTool.core.Simulator(model, dt, T, seed=1, steady=False, u=0.0)[source]

Bases: object

Parameters:
  • model (KalmanModel)

  • dt (float)

  • T (float)

  • seed (int)

  • steady (bool)

  • u (float)

run(x0, P0, xtrue0)[source]
Parameters:
  • x0 (ndarray)

  • P0 (ndarray)

  • xtrue0 (ndarray)

Return type:

SimulationResult

kalman_filters.kalmanFilterTool.core.coerce_shapes(A, B, C, G, Q, R, dt, q_scalar, Q_arg_was_none)[source]
Parameters:
  • q_scalar (float | None)

  • Q_arg_was_none (bool)

Return type:

KalmanModel

kalman_filters.kalmanFilterTool.core.dare_estimation(A, C, GQGT, R)[source]
Parameters:
  • A (ndarray)

  • C (ndarray)

  • GQGT (ndarray)

  • R (ndarray)

Return type:

ndarray

kalman_filters.kalmanFilterTool.core.default_cv_model(dt, q, r)[source]
Parameters:
  • dt (float)

  • q (float)

  • r (float)

kalman_filters.kalmanFilterTool.design

class kalman_filters.kalmanFilterTool.design.CSVExporter(out_dir: 'str' = 'kalman_filters/kalmanFilterTool/out')[source]

Bases: object

Parameters:

out_dir (str)

out_dir: str = 'kalman_filters/kalmanFilterTool/out'
write(t, Y, X_true, X_hat, filename='kf.csv')[source]
Parameters:
  • t (ndarray)

  • Y (ndarray)

  • X_true (ndarray)

  • X_hat (ndarray)

  • filename (str)

Return type:

str

class kalman_filters.kalmanFilterTool.design.Plotter(backend='both', out_dir='kalman_filters/kalmanFilterTool/out', no_show=False)[source]

Bases: object

Parameters:
  • backend (str)

  • out_dir (str)

  • no_show (bool)

mpl(t, Y, X_true, X_hat, save_png)[source]
Parameters:
  • t (ndarray)

  • Y (ndarray)

  • X_true (ndarray)

  • X_hat (ndarray)

  • save_png (str | None)

plotly(t, Y, X_true, X_hat, save_html)[source]
Parameters:
  • t (ndarray)

  • Y (ndarray)

  • X_true (ndarray)

  • X_hat (ndarray)

  • save_html (str | None)

render(t, Y, X_true, X_hat, save_png, save_html)[source]
Parameters:
  • t (ndarray)

  • Y (ndarray)

  • X_true (ndarray)

  • X_hat (ndarray)

  • save_png (str | None)

  • save_html (str | None)

kalman_filters.kalmanFilterTool.utils

kalman_filters.kalmanFilterTool.utils.ensure_dir(path)[source]
Parameters:

path (str)

Return type:

None

kalman_filters.kalmanFilterTool.utils.out_path(out_dir, name, default_name)[source]
Parameters:
  • out_dir (str)

  • name (str | None)

  • default_name (str)

Return type:

str

kalman_filters.kalmanFilterTool.utils.timing(fn)[source]
Parameters:

fn (Callable[[...], Any])

Return type:

Callable[[…], Any]