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
384 stars 126 forks source link

Added TrackingStateSpaceDistanceGater #973

Closed gawebb-dstl closed 3 months ago

gawebb-dstl commented 3 months ago

Data association in stone soup occurs in the measurement state space. This pull request introduces TrackingStateSpaceDistanceGater, a gater than operates in the tracking state space (not the measurement state space). As the gate is in the tracking state space, measurements must use a measurement model that is either a ReversibleModel or a LinearModel.

This model will be particularly useful in the following example: The sensor is located at [0, 0]. A target is located at [0, 1000]. This corresponds to a bearing-range measurement of [pi/2, 1000]. A clutter detection has a measurement of [0, 1000] (x, y = [1000, 0]). The Euclidean distance in measurement state space between the target and the clutter measurement is only 1.57 (pi/2). Unless the gate size is small, this would pass a DistanceGater. While the Euclidean distance in tracking state space between the target and the clutter measurement is 1414. Unless the gate size was very large this wouldn’t pass a TrackingStateSpaceDistanceGater.

codecov[bot] commented 3 months ago

Codecov Report

All modified and coverable lines are covered by tests :white_check_mark:

Project coverage is 93.50%. Comparing base (b90b598) to head (6571cdc). Report is 16 commits behind head on main.

Additional details and impacted files ```diff @@ Coverage Diff @@ ## main #973 +/- ## ========================================== + Coverage 93.49% 93.50% +0.01% ========================================== Files 201 201 Lines 12837 12873 +36 Branches 2629 2634 +5 ========================================== + Hits 12002 12037 +35 Misses 590 590 - Partials 245 246 +1 ``` | [Flag](https://app.codecov.io/gh/dstl/Stone-Soup/pull/973/flags?src=pr&el=flags&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=dstl) | Coverage Δ | | |---|---|---| | [integration](https://app.codecov.io/gh/dstl/Stone-Soup/pull/973/flags?src=pr&el=flag&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=dstl) | `66.13% <35.13%> (-0.10%)` | :arrow_down: | | [unittests](https://app.codecov.io/gh/dstl/Stone-Soup/pull/973/flags?src=pr&el=flag&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=dstl) | `89.14% <100.00%> (+0.02%)` | :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.

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.