Skip to content

[codex] Add EKF spline tracker#1865

Merged
FlorianPfaff merged 8 commits intomainfrom
codex/add-ekf-spline-tracker
Apr 25, 2026
Merged

[codex] Add EKF spline tracker#1865
FlorianPfaff merged 8 commits intomainfrom
codex/add-ekf-spline-tracker

Conversation

@FlorianPfaff
Copy link
Copy Markdown
Owner

Summary

Adds an EKFSplineTracker / EkfSplineTracker for 2-D extended-object tracking with a closed quadratic spline extent.

The implementation is a PyRecEst-native reimplementation inspired by the Göttingen spline tracker model rather than a code copy. It uses PyRecEst backend operations, a fixed closed control polygon with estimated x/y scale factors, nearest spline-point projection for measurements, finite-difference EKF Jacobians, constant-turn kinematic prediction, contour extraction, and a bounding-box helper.

User impact

Users can instantiate the tracker from pyrecest.filters, run predict/update cycles for spline-shaped extended targets, and retrieve either the estimated kinematics, scaled control polygon, sampled contour, or bounding box.

Tests

Added tests/filters/test_ekf_spline_tracker.py for construction/export, prediction, update behavior, scale-correction disabling, contour/bounding-box output, and multi-measurement layouts.

Local tests were not run in this desktop session because Python execution was unavailable in the read-only sandbox; the PR is opened as draft for CI validation.

@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented Apr 25, 2026

MegaLinter analysis: Success

Descriptor Linter Files Fixed Errors Warnings Elapsed time
✅ COPYPASTE jscpd yes no no 16.7s
✅ JSON prettier 2 0 0 0 0.45s
✅ JSON v8r 2 0 0 3.12s
✅ MARKDOWN markdownlint 2 0 0 0 0.67s
✅ MARKDOWN markdown-table-formatter 2 0 0 0 0.29s
✅ PYTHON bandit 395 0 0 6.0s
✅ PYTHON black 395 7 0 0 9.55s
✅ PYTHON flake8 395 0 0 3.35s
✅ PYTHON isort 395 11 0 0 0.76s
✅ PYTHON mypy 395 0 0 5.22s
✅ PYTHON pylint 395 0 0 119.38s
✅ PYTHON ruff 395 11 0 0 0.08s
✅ REPOSITORY checkov yes no no 21.75s
✅ REPOSITORY gitleaks yes no no 11.13s
✅ REPOSITORY git_diff yes no no 0.06s
✅ REPOSITORY secretlint yes no no 6.89s
✅ REPOSITORY syft yes no no 3.51s
✅ REPOSITORY trivy-sbom yes no no 2.22s
✅ REPOSITORY trufflehog yes no no 20.63s
✅ YAML prettier 4 0 0 0 0.47s
✅ YAML v8r 4 0 0 5.67s
✅ YAML yamllint 4 0 0 0.49s

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

@FlorianPfaff FlorianPfaff marked this pull request as ready for review April 25, 2026 09:42
@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented Apr 25, 2026

Test Results

    12 files  +    12      12 suites  +12   4h 14m 30s ⏱️ + 4h 14m 30s
 1 136 tests + 1 136   1 136 ✅ + 1 136      0 💤 ±    0  0 ❌ ±0 
13 924 runs  +13 924  10 628 ✅ +10 628  3 296 💤 +3 296  0 ❌ ±0 

Results for commit ddcdeb6. ± Comparison against base commit d91eaeb.

♻️ This comment has been updated with latest results.

@FlorianPfaff FlorianPfaff merged commit 20d2848 into main Apr 25, 2026
19 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