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 Multi-model and Rao-Blackwellised versions of particle filter #719

Closed sdhiscocks closed 1 year ago

sdhiscocks commented 1 year ago

This is a squash and clean up of commits from pull request #271, adapted to work with changes on the main branch.

TODO:

codecov[bot] commented 1 year ago

Codecov Report

Base: 94.66% // Head: 94.82% // Increases project coverage by +0.16% :tada:

Coverage data is based on head (53a67b9) compared to base (2b69b97). Patch coverage: 96.31% of modified lines in pull request are covered.

Additional details and impacted files ```diff @@ Coverage Diff @@ ## main #719 +/- ## ========================================== + Coverage 94.66% 94.82% +0.16% ========================================== Files 171 168 -3 Lines 8773 8333 -440 Branches 1707 1241 -466 ========================================== - Hits 8305 7902 -403 + Misses 342 319 -23 + Partials 126 112 -14 ``` | Flag | Coverage Δ | | |---|---|---| | integration | `68.73% <37.42%> (-1.29%)` | :arrow_down: | | unittests | `92.61% <96.31%> (+1.86%)` | :arrow_up: | 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/719?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=dstl) | Coverage Δ | | |---|---|---| | [stonesoup/updater/particle.py](https://codecov.io/gh/dstl/Stone-Soup/pull/719/diff?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=dstl#diff-c3RvbmVzb3VwL3VwZGF0ZXIvcGFydGljbGUucHk=) | `95.96% <90.69%> (-2.80%)` | :arrow_down: | | [stonesoup/predictor/particle.py](https://codecov.io/gh/dstl/Stone-Soup/pull/719/diff?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=dstl#diff-c3RvbmVzb3VwL3ByZWRpY3Rvci9wYXJ0aWNsZS5weQ==) | `92.95% <95.65%> (+4.95%)` | :arrow_up: | | [stonesoup/resampler/particle.py](https://codecov.io/gh/dstl/Stone-Soup/pull/719/diff?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=dstl#diff-c3RvbmVzb3VwL3Jlc2FtcGxlci9wYXJ0aWNsZS5weQ==) | `100.00% <100.00%> (ø)` | | | [stonesoup/types/particle.py](https://codecov.io/gh/dstl/Stone-Soup/pull/719/diff?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=dstl#diff-c3RvbmVzb3VwL3R5cGVzL3BhcnRpY2xlLnB5) | `100.00% <100.00%> (ø)` | | | [stonesoup/types/prediction.py](https://codecov.io/gh/dstl/Stone-Soup/pull/719/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/state.py](https://codecov.io/gh/dstl/Stone-Soup/pull/719/diff?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=dstl#diff-c3RvbmVzb3VwL3R5cGVzL3N0YXRlLnB5) | `100.00% <100.00%> (ø)` | | | [stonesoup/types/update.py](https://codecov.io/gh/dstl/Stone-Soup/pull/719/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%> (ø)` | | | [stonesoup/base.py](https://codecov.io/gh/dstl/Stone-Soup/pull/719/diff?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=dstl#diff-c3RvbmVzb3VwL2Jhc2UucHk=) | | | | [stonesoup/plotter.py](https://codecov.io/gh/dstl/Stone-Soup/pull/719/diff?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=dstl#diff-c3RvbmVzb3VwL3Bsb3R0ZXIucHk=) | | | | [stonesoup/\_\_init\_\_.py](https://codecov.io/gh/dstl/Stone-Soup/pull/719/diff?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=dstl#diff-c3RvbmVzb3VwL19faW5pdF9fLnB5) | | | | ... and [1 more](https://codecov.io/gh/dstl/Stone-Soup/pull/719/diff?src=pr&el=tree-more&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=dstl) | | 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.