dstl / Stone-Soup

A software project to provide the target tracking community with a framework for the development and testing of tracking algorithms.
https://stonesoup.rtfd.io
MIT License
400 stars 131 forks source link

Add Accumulated State Densities Filter #734

Closed sdhiscocks closed 1 year ago

sdhiscocks commented 1 year ago

This is an update of #309 by @jogehl to latest version of Stone Soup.

Changes to core code are minor tidy up for readability, some minor changes based on comments from #309, and moving to separate sub-module from Kalman.

Tutorial has also been updated to take advantage of newer animation and plotly features.

codecov[bot] commented 1 year ago

Codecov Report

Base: 94.79% // Head: 94.90% // Increases project coverage by +0.10% :tada:

Coverage data is based on head (fc026ee) compared to base (a17fb42). Patch coverage: 98.66% of modified lines in pull request are covered.

Additional details and impacted files ```diff @@ Coverage Diff @@ ## main #734 +/- ## ========================================== + Coverage 94.79% 94.90% +0.10% ========================================== Files 168 170 +2 Lines 8190 8413 +223 Branches 1560 1234 -326 ========================================== + Hits 7764 7984 +220 - Misses 317 318 +1 - Partials 109 111 +2 ``` | Flag | Coverage Δ | | |---|---|---| | integration | `69.99% <92.88%> (+0.62%)` | :arrow_up: | | unittests | `91.95% <69.33%> (-0.63%)` | :arrow_down: | Flags with carried forward coverage won't be shown. [Click here](https://docs.codecov.io/docs/carryforward-flags?utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=dstl#carryforward-flags-in-the-pull-request-comment) to find out more. | [Impacted Files](https://codecov.io/gh/dstl/Stone-Soup/pull/734?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=dstl) | Coverage Δ | | |---|---|---| | [stonesoup/updater/kalman.py](https://codecov.io/gh/dstl/Stone-Soup/pull/734/diff?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=dstl#diff-c3RvbmVzb3VwL3VwZGF0ZXIva2FsbWFuLnB5) | `95.72% <ø> (ø)` | | | [stonesoup/updater/asd.py](https://codecov.io/gh/dstl/Stone-Soup/pull/734/diff?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=dstl#diff-c3RvbmVzb3VwL3VwZGF0ZXIvYXNkLnB5) | `95.00% <95.00%> (ø)` | | | [stonesoup/types/state.py](https://codecov.io/gh/dstl/Stone-Soup/pull/734/diff?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=dstl#diff-c3RvbmVzb3VwL3R5cGVzL3N0YXRlLnB5) | `99.74% <98.64%> (-0.26%)` | :arrow_down: | | [stonesoup/predictor/asd.py](https://codecov.io/gh/dstl/Stone-Soup/pull/734/diff?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=dstl#diff-c3RvbmVzb3VwL3ByZWRpY3Rvci9hc2QucHk=) | `100.00% <100.00%> (ø)` | | | [stonesoup/predictor/kalman.py](https://codecov.io/gh/dstl/Stone-Soup/pull/734/diff?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=dstl#diff-c3RvbmVzb3VwL3ByZWRpY3Rvci9rYWxtYW4ucHk=) | `90.90% <100.00%> (ø)` | | | [stonesoup/types/prediction.py](https://codecov.io/gh/dstl/Stone-Soup/pull/734/diff?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=dstl#diff-c3RvbmVzb3VwL3R5cGVzL3ByZWRpY3Rpb24ucHk=) | `100.00% <100.00%> (ø)` | | | [stonesoup/types/update.py](https://codecov.io/gh/dstl/Stone-Soup/pull/734/diff?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=dstl#diff-c3RvbmVzb3VwL3R5cGVzL3VwZGF0ZS5weQ==) | `100.00% <100.00%> (ø)` | | Help us with your feedback. Take ten seconds to tell us [how you rate us](https://about.codecov.io/nps?utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=dstl). Have a feature suggestion? [Share it here.](https://app.codecov.io/gh/feedback/?utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=dstl)

:umbrella: View full report at Codecov.
:loudspeaker: Do you have feedback about the report comment? Let us know in this issue.

sdhiscocks commented 1 year ago

Code coverage highlighted that _transition_function wasn't used in predictor, so I did a little refactor to make use of the parent _transition_function and removed custom pred function. Extend and other variants in theory should be easier to add in future.

sdhiscocks commented 1 year ago

@jogehl Thanks again for your contribution, and sorry about significant delay getting to your original pull request. I wasn't sure if you were still active on GitHub.

I wanted to add you to the copyright authors list, but wasn't sure whether to put your name or company/institution that you are/were based at when you did this work?

jogehl commented 1 year ago

@sdhiscocks if you like you can put the Fraunhofer FKIE to the contributors' list.