Stone-Soup icon indicating copy to clipboard operation
Stone-Soup copied to clipboard

Add example of track-to-track fusion

Open ekhunter123 opened this issue 2 years ago • 3 comments

Add example of track-to-track fusion using the new Bayesian formulation of the covariance intersection algorithm from Clark and Campbell (link).

I have run Sphinx to check the formatting, here is what it looks like as a PDF: Track2Track_Fusion_Example.pdf

This work was done with Daniel Clark, Sean O'Rourke (@orourkesm-afrl), and Bhashyam Balaji (@bhashyambalaji).

ekhunter123 avatar Jun 27 '22 14:06 ekhunter123

Now that the ChernoffUpdater and the track feeder are merged into main, I could remove their class definitions in this example. Or is it helpful to have them here for clarity?

ekhunter123 avatar Jul 28 '22 20:07 ekhunter123

Now that the ChernoffUpdater and the track feeder are merged into main, I could remove their class definitions in this example. Or is it helpful to have them here for clarity?

Yeah I would probably remove them from the example as it is quite a long one and let people explore the classes themselves if they want to

nperree-dstl avatar Aug 01 '22 09:08 nperree-dstl

I removed the class definitions for the ChernoffUpdater and the Tracks2GaussianDetectionFeeder, and reworked the explanation to accommodate this. Here is the latest Sphinx rendering

T2TFusionExample.pdf

ekhunter123 avatar Aug 02 '22 14:08 ekhunter123

I'm not sure why, but when running on CircleCI, no tracks are produced. But it works fine locally.

I'll rebase on main to see if that resolves it.

sdhiscocks avatar Aug 23 '22 09:08 sdhiscocks

So the issue was in certain configurations, the prune threshold was slightly too high. I recreated this on another Linux system running Python 3.10. I suspect this is caused by floating point precision discrepancy, either with Linux, Python 3.10, or version of NumPy or 3rd party libraries. Decreasing the threshold seems to have resolved the issue.

sdhiscocks avatar Aug 24 '22 07:08 sdhiscocks

Codecov Report

Merging #666 (10a4c0d) into main (ee4ad3a) will increase coverage by 0.14%. The diff coverage is n/a.

@@            Coverage Diff             @@
##             main     #666      +/-   ##
==========================================
+ Coverage   94.48%   94.62%   +0.14%     
==========================================
  Files         171      171              
  Lines        8789     8789              
  Branches     1705     1705              
==========================================
+ Hits         8304     8317      +13     
+ Misses        350      342       -8     
+ Partials      135      130       -5     
Flag Coverage Δ
integration 70.36% <ø> (+0.96%) :arrow_up:
unittests 90.77% <ø> (ø)

Flags with carried forward coverage won't be shown. Click here to find out more.

Impacted Files Coverage Δ
stonesoup/mixturereducer/gaussianmixture.py 97.80% <0.00%> (+1.09%) :arrow_up:
stonesoup/updater/pointprocess.py 98.64% <0.00%> (+2.70%) :arrow_up:
stonesoup/simulator/simple.py 98.00% <0.00%> (+4.66%) :arrow_up:
stonesoup/tracker/pointprocess.py 93.54% <0.00%> (+4.83%) :arrow_up:

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

codecov[bot] avatar Aug 24 '22 07:08 codecov[bot]