Mixture Reducers

class stonesoup.mixturereducer.base.MixtureReducer[source]

Bases: stonesoup.base.Base

Mixture Reducer base class

class stonesoup.mixturereducer.gaussianmixture.GaussianMixtureReducer(prune_threshold: float = 1e-09, merge_threshold: float = 16, merging: bool = True, pruning: bool = True)[source]

Bases: stonesoup.mixturereducer.base.MixtureReducer

Gaussian Mixture Reducer class:

Reduces the number of components in a Gaussian mixture to increase computational efficiency. See [1] for details. Achieved in two ways: pruning and merging. Pruning is the act of removing low weight components from the mixture that fall below a pruning threshold. Merging is the act of combining similar components in the mixture that fall with a distance threshold into a single component.

References

[1] B.-N. Vo and W.-K. Ma, “The Gaussian Mixture Probability Hypothesis Density Filter,” Signal Processing,IEEE Transactions on, vol. 54, no. 11, pp. 4091–4104, 2006..

Parameters
  • prune_threshold (float, optional) – Threshold for pruning.

  • merge_threshold (float, optional) – Threshold for merging

  • merging (bool, optional) – Flag for merging

  • pruning (bool, optional) – Flag for pruning

prune_threshold: float

Threshold for pruning.

merge_threshold: float

Threshold for merging

merging: bool

Flag for merging

pruning: bool

Flag for pruning

reduce(components_list)[source]

Reduce the components of Gaussian Mixture list through pruning and merging

Parameters

components_list (list) – The components of Gaussian Mixture

Returns

Reduced components

Return type

list

prune(components_list)[source]

Pruning is the act of removing low weight components from the mixture that fall below a pruning threshold prune_threshold.

Parameters

components_list (list) – The components of Gaussian Mixture to be pruned

Returns

remaining_components – Components that remain after pruning

Return type

GaussianMixtureState

merge_components(component_1, component_2)[source]

Merge two similar components

Parameters
Returns

merged_component – Merged Gaussian component

Return type

WeightedGaussianState

merge(components_list)[source]

Merging is the act of combining similar components in the mixture that fall with a distance threshold merge_threshold into a single component.

Parameters

components_list (list) – Components of the Gaussian Mixture to be merged

Returns

Merged components

Return type

list