Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add Gater classes #216

Merged
merged 5 commits into from
May 26, 2020
Merged

Add Gater classes #216

merged 5 commits into from
May 26, 2020

Conversation

sglvladi
Copy link
Collaborator

@sglvladi sglvladi commented May 6, 2020

Summary

This PR adds a Gater base class which can be used to wrap hypothesisers, therefore allowing for the reduction (a.k.a gating) of the hypotheses before they are processed by data association.

Contributions

The main contributions/changes are outlined below:

  • The concept of a Gater object has been introduced. Gaters wrap Hypothesisers in a similar way to how Feeders wrap Detectors. As such, the Gater class is defined as a sub-class of Hypothesiser. This idea has also been previously discussed here, albeit in a slightly different context.
  • The FilteredDetectionsHypothesiser has now been renamed to FilteredDetectionsGater as it falls under the Gater class conceptually.
  • A new DistanceGater has been introduced, which, uses a measure (e.g. Mahalanobis) to calculate the distance between a hypothesis' measurement prediction and the hypothesised measurement, and then removes any hypotheses whose calculated distance exceeds the specified gate threshold.
  • As a consequence of the above, the internal gating performed by JPDA has been removed. The equivalent gating process can now be achieved by wrapping the PDAHypothesiser with a DistanceGater.

@sglvladi sglvladi changed the title Add Gaters class Add Gater classes May 6, 2020
Copy link
Member

@sdhiscocks sdhiscocks left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good. We should definitely look to make that change for Hypothesisers and now Gaters to take multiple tracks, such we can wrap the classes as discussed in #145.

Copy link
Contributor

@jmbarr jmbarr left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Neat. Like the fact that the 'principled' hypothesiser is now decoupled from the 'arbitrary' gating step.

@sdhiscocks sdhiscocks merged commit e7b6a8c into dstl:master May 26, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants