Skip to content

Add ready-made dynamic and sensor model catalog#2014

Merged
FlorianPfaff merged 5 commits into
mainfrom
codex/add-dynamic-model-catalog
May 10, 2026
Merged

Add ready-made dynamic and sensor model catalog#2014
FlorianPfaff merged 5 commits into
mainfrom
codex/add-dynamic-model-catalog

Conversation

@FlorianPfaff
Copy link
Copy Markdown
Owner

Summary

Adds a ready-made model catalog for common tracking workflows:

  • linear kinematic transition matrices and models: constant velocity, constant acceleration, constant jerk
  • integrated white-noise process covariances: acceleration, jerk, snap
  • continuous-to-discrete LTI conversion with process-noise discretization
  • Singer acceleration transition and process-noise model
  • nonlinear motion models: coordinated turn, nearly coordinated turn, nearly constant speed, SE(2)-style unicycle, local SE(3) pose/twist
  • sensor/measurement models: range-bearing, bearing-only, range-bearing-Doppler radar, TDOA, FDOA, and pinhole camera projection
  • package-level exports through pyrecest.models
  • regression tests for the model catalog

Tests

Not run in this environment. Suggested command:

python -m pytest tests/test_dynamic_models.py

Note: the branch is based on an earlier main commit and is behind current main by unrelated commits, but the diff is localized to src/pyrecest/models and tests/test_dynamic_models.py.

@github-actions
Copy link
Copy Markdown
Contributor

MegaLinter analysis: Error

Descriptor Linter Files Fixed Errors Warnings Elapsed time
✅ COPYPASTE jscpd yes no no 18.18s
✅ JSON prettier 2 0 0 0 0.5s
✅ JSON v8r 2 0 0 2.98s
✅ MARKDOWN markdownlint 28 0 0 0 1.32s
✅ MARKDOWN markdown-table-formatter 28 0 0 0 0.31s
✅ PYTHON bandit 515 0 0 8.52s
✅ PYTHON black 515 7 0 0 14.06s
❌ PYTHON flake8 515 1 0 4.87s
✅ PYTHON isort 515 8 0 0 0.97s
✅ PYTHON mypy 515 0 0 6.5s
❌ PYTHON pylint 515 1 0 116.57s
✅ PYTHON ruff 515 8 0 0 0.1s
✅ REPOSITORY checkov yes no no 21.64s
✅ REPOSITORY gitleaks yes no no 14.21s
✅ REPOSITORY git_diff yes no no 0.04s
✅ REPOSITORY secretlint yes no no 9.61s
✅ REPOSITORY syft yes no no 3.38s
✅ REPOSITORY trivy-sbom yes no no 3.8s
✅ REPOSITORY trufflehog yes no no 21.78s
✅ YAML prettier 5 0 0 0 0.51s
✅ YAML v8r 5 0 0 5.16s
✅ YAML yamllint 5 0 0 0.52s

Detailed Issues

❌ PYTHON / flake8 - 1 error
src/pyrecest/models/motion_models.py:19:1: F401 'pyrecest.backend.arctan2' imported but unused
❌ PYTHON / pylint - 1 error
************* Module pyrecest.models.motion_models
src/pyrecest/models/motion_models.py:19:0: W0611: Unused arctan2 imported from pyrecest.backend (unused-import)

------------------------------------
Your code has been rated at 10.00/10

See detailed reports in MegaLinter artifacts

Your project could benefit from a custom flavor, which would allow you to run only the linters you need, and thus improve runtime performances. (Skip this info by defining FLAVOR_SUGGESTIONS: false)

  • Documentation: Custom Flavors
  • Command: npx mega-linter-runner@9.4.0 --custom-flavor-setup --custom-flavor-linters PYTHON_PYLINT,PYTHON_BLACK,PYTHON_FLAKE8,PYTHON_ISORT,PYTHON_BANDIT,PYTHON_MYPY,PYTHON_RUFF,COPYPASTE_JSCPD,JSON_V8R,JSON_PRETTIER,MARKDOWN_MARKDOWNLINT,MARKDOWN_MARKDOWN_TABLE_FORMATTER,REPOSITORY_CHECKOV,REPOSITORY_GIT_DIFF,REPOSITORY_GITLEAKS,REPOSITORY_SECRETLINT,REPOSITORY_SYFT,REPOSITORY_TRIVY_SBOM,REPOSITORY_TRUFFLEHOG,YAML_PRETTIER,YAML_YAMLLINT,YAML_V8R

MegaLinter is graciously provided by OX Security
Show us your support by starring ⭐ the repository

@github-actions
Copy link
Copy Markdown
Contributor

Test Results

0 files   -     12  0 suites   - 12   0s ⏱️ - 2h 29m 53s
0 tests  -  1 525  0 ✅  -  1 525  0 💤 ±    0  0 ❌ ±0 
0 runs   - 18 760  0 ✅  - 14 976  0 💤  - 3 784  0 ❌ ±0 

Results for commit 6ce30d3. ± Comparison against base commit c7de954.

@FlorianPfaff FlorianPfaff merged commit 6df9071 into main May 10, 2026
6 of 18 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant