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

Progress Trackers Manually: Option C #888

Closed gawebb-dstl closed 1 month ago

gawebb-dstl commented 8 months ago

All current trackers require a detection feeder. It can be useful to progress a tracker manually without a detection feeder (see Multi-Sensor Fusion: Covariance Intersection Using Tracks as Measurements example).

All current trackers and start their __next__ function with:

time, detections = next(self.detector_iter)
# Some tracking logic

I've moved this line to the new Tracker baseclass and added an update_tracker function which takes the time and detections from the detection feeder as an input. With this being a separate function, you can access it directly and bypass the detection feeder which may be easier in instances.

This also fixes issue #883

This is my third iteration of trying to get this right. See #742 and #779 for previous implementations.

gawebb-dstl commented 8 months ago

The changes to docs/examples/Track2Track_Fusion_Example.py can probably be removed now #882 has been merged.

sdhiscocks commented 1 month ago

Resolved in #980