Deleters¶
-
class
stonesoup.deleter.base.
Deleter
[source]¶ Bases:
stonesoup.base.Base
Deleter base class.
Proposes tracks for deletion.
-
abstract
check_for_deletion
(track, **kwargs)[source]¶ Abstract method to check if a given track should be deleted
-
delete_tracks
(tracks, **kwargs)[source]¶ Generic/Base track deletion method.
Iterates through all tracks in a given list and calls
check_for_deletion()
to determine which tracks should be deleted and which should survive.
-
abstract
Error Based¶
Contains collection of error based deleters
-
class
stonesoup.deleter.error.
CovarianceBasedDeleter
(covar_trace_thresh)[source]¶ Bases:
stonesoup.deleter.base.Deleter
Track deleter based on covariance matrix size.
Deletes tracks whose state covariance matrix (more specifically its trace) exceeds a given threshold.
- Parameters
covar_trace_thresh (
float
) – Covariance matrix trace threshold
-
check_for_deletion
(track, **kwargs)[source]¶ Check if a given track should be deleted
A track is flagged for deletion if the trace of its state covariance matrix is higher than
covar_trace_thresh
.- Parameters
track (
stonesoup.types.Track
) – A track object to be checked for deletion.- Returns
True
if track should be deleted,False
otherwise.- Return type
-
delete_tracks
(tracks, **kwargs)¶ Generic/Base track deletion method.
Iterates through all tracks in a given list and calls
check_for_deletion()
to determine which tracks should be deleted and which should survive.
Time Based¶
Contains collection of time based deleters
-
class
stonesoup.deleter.time.
UpdateTimeStepsDeleter
(time_steps_since_update)[source]¶ Bases:
stonesoup.deleter.base.Deleter
Update Time based deleter
Identify tracks for deletion which an
Update
has occurred in lasttime_steps_since_update
.- Parameters
time_steps_since_update (
int
) – Maximum time steps since last update
-
check_for_deletion
(track, **kwargs)[source]¶ Delete track without update with measurements within time steps
-
delete_tracks
(tracks, **kwargs)¶ Generic/Base track deletion method.
Iterates through all tracks in a given list and calls
check_for_deletion()
to determine which tracks should be deleted and which should survive.
-
class
stonesoup.deleter.time.
UpdateTimeDeleter
(time_since_update)[source]¶ Bases:
stonesoup.deleter.base.Deleter
Update Time based deleter
Identify tracks for deletion which time of last
Update
with measurements is greater thantime_since_update
.- Parameters
time_since_update (
datetime.timedelta
) – Maximum time since last update
-
time_since_update
: datetime.timedelta¶ Maximum time since last update
-
check_for_deletion
(track, timestamp=None, **kwargs)[source]¶ Delete track based on time of last update with measurements
- Parameters
track (Track) – Track to check for deletion
timestamp (datetime.datetime, optional) – Timestamp to calculate deletion time from. Default None, where the track’s latest timestamp will be used.
- Returns
True if track has an
Update
with measurements within time; False otherwise.- Return type
-
delete_tracks
(tracks, **kwargs)¶ Generic/Base track deletion method.
Iterates through all tracks in a given list and calls
check_for_deletion()
to determine which tracks should be deleted and which should survive.
Multi¶
Contains deleters which use a composite of deleters to decide whether a track is to be deleted
-
class
stonesoup.deleter.multi.
CompositeDeleter
(deleters, intersect=True)[source]¶ Bases:
stonesoup.deleter.base.Deleter
Track deleter composed of multiple deleters.
If
intersect
is True, deletes tracks if they satisfy the deletion conditions of each deleter listed indeleters
. Otherwise deletes tracks if they satisfy the conditions of at least one deleter listed.- Parameters
deleters (
Collection[Deleter]
) – List of deleters to be applied to the trackintersect (
bool
, optional) – Boolean that determines whether the composite deleter will intersect or unify deletion results. Default is True, applying an intersection.
-
deleters
: Collection[stonesoup.deleter.base.Deleter]¶ List of deleters to be applied to the track
-
intersect
: bool¶ Boolean that determines whether the composite deleter will intersect or unify deletion results. Default is True, applying an intersection.
-
check_for_deletion
(track, **kwargs)[source]¶ Check if a given track should be deleted.
- Parameters
track (
stonesoup.types.Track
) – A track object to be checked for deletion.- Returns
True if track should be deleted, False otherwise.
- Return type
-
delete_tracks
(tracks, **kwargs)¶ Generic/Base track deletion method.
Iterates through all tracks in a given list and calls
check_for_deletion()
to determine which tracks should be deleted and which should survive.