partitionDetections
Partition detections based on distance
Syntax
Description
A partition of a set of detections is defined as a division of these detections
into nonempty mutually exclusive detection cells. Using multiple distance thresholds, you can
use the function to separate detections into different detection cells and get all the
possible partitions using either distance-partitioning or
density-based spatial clustering of applications with noise (DBSCAN).
Additionally, you can choose the distance metric as Mahalanobis distance or Euclidean distance
by specifying the 'Distance'
Name-Value pair argument.
Distance Partitioning
Distance partitioning is the default partitioning algorithm of
partitionDetections
. In distance partitioning, a detection cluster
comprises of detections whose distance to at least one other detection in the cluster is
less than the distance threshold. In other words, two detections belong to the same
detection cluster if their distance is less than the distance threshold. To use
distance-partitioning, you can specify the 'Algorithm'
Name-Value
argument as 'Distance-Partitioning'
or simply do not specify the
'Algorithm'
argument.
returns possible partitions for partitions
= partitionDetections(detections
)detections
using the
distance-partitioning algorithm. By default, the function uses the distance partitioning
algorithm and considers all real value Mahalanobis distance thresholds between 0.5 and
6.25 and returns a maximum of 100 partitions.
specifies the lower and upper bounds of the distance thresholds,
partitions
= partitionDetections(detections
,tLower
,tUpper
)tLower
and tUpper
.
specifies the maximum number of allowed partitions, partitions
= partitionDetections(detections
,tLower
,tUpper
,'MaxNumPartitions',maxNumber
)maxNumber
.
specifies the exact thresholds considered for partition.partitions
= partitionDetections(detections
,allThresholds
)
[
additionally returns an index vector partitions
,indexDP
] = partitionDetections(detections
,allThresholds
)indexDP
representing the
correspondence between all thresholds and the resulting partitions.
DBSCAN Partitioning
To use the DBSCAN partitioning, specify the 'Algorithm'
argument as
'DBSCAN'
.
returns possible partitions of the detections by using DBSCAN partitioning and ten
distance threshold (epsilon or neighbor search radius) values linearly spaced between 0.25
and 6.25. By default, each cluster must contain at least three points. partitions
= partitionDetections(detections
,'Algorithm','DBSCAN')
specifies the distance thresholds partitions
= partitionDetections(detections
,epsilon
,minNumPoints
,'Algorithm','DBSCAN')epsilon
and the minimum number of
points per cluster minNumPoints
of the DBSCAN algorithm.
[
additionally returns an index vector partitions
,indexDB
] = partitionDetections(detections
,epsilon
,minNumPoints
,'Algorithm','DBSCAN')indexDB
representing the
correspondence between the threshold values epsilon
and the resulting
partitions.
Specify Distance Metric
Using the 'Distance'
Name-Value argument, you can specify the
distance metric used in the partitioning.
___ = partitionDetections(___,'Distance',
additionally specifies the distance metric as distance
)'Mahalanobis'
or
'Euclidean'
. Use this syntax with any of the input or output
arguments in previous syntaxes.
Examples
Input Arguments
Output Arguments
References
[1] Granstrom, Karl, Christian Lundquist, and Omut Orguner. “Extended Target Tracking Using a Gaussian-Mixture PHD Filter.” IEEE Transactions on Aerospace and Electronic Systems 48, no. 4 (October 2012): 3268–86. https://doi.org/10.1109/TAES.2012.6324703.
[2] Ester, Martin, Hans-Peter Kriegel, Jörg Sander, and Xiaowei Xu. “A Density-Based Algorithm for Discovering Clusters in Large Spatial Databases with Noise.” In Proceedings of the Second International Conference on Knowledge Discovery and Data Mining, 226–31. KDD’96. Portland, Oregon: AAAI Press, 1996.
Extended Capabilities
Version History
Introduced in R2019a