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

Displaying uncertainty of measurements and their association #884

Open Carlson-J opened 8 months ago

Carlson-J commented 8 months ago

We are currently able to display the tracks with their uncertainty but not the uncertainty of measurements. Adding this would help to visualize how tracks are associated with different measurements and what impact it has on the track uncertainty. This is especially true when measurements have varying covariances.

I propose adding two new flags to the plotter, one for showing measurement uncertainty and the other for showing measurement association. For the uncertainty, the color of the detection/clutter is used to plot the ellipse. For association, we could have the symbol and color of the measurement/clutter/ellipse change. The color would match the track and the symbol would change to a "+" for a detect and "x" for clutter.

I'm willing to implement this feature.

Carlson-J commented 8 months ago

Here is what I have so far for the measurement uncertainty (see attached image). You turn it on with a flag passed to plot measurements. I currently only have it working with the Plotly animation class. Because we don't always get a new detection at every time step, I am just displaying the uncertainty for all of them in the current time window.

I tried it with only the shaded area or outline, but it seems like having both is more visually pleasing. image

sdhiscocks commented 8 months ago

The outline does look better I think, as makes it clear where the boundary of each measurement is.

I'd be interested in ways you could show association to which track, as difficult with also having ellipses with tracks. Maybe just the outlines in matching colour to the track? I assume this will be option on plot_tracks, which will call plot_measurements with relevant measurements and parameters.