Can 'partitionDetections' be used with spherical data

3 views (last 30 days)
I have used the 'partitionDetections' function to cluster radar detections in cartesian coordinates [x;y;vx;vy] and the algorithm seems to work fine.
However when I changed to an objectDetection report in spherical frame [azimuth;range;range-rate], the clustering runs but doesn't appear to give sensible results. Is the 'partitionDetections' function only to be used with cartesian frame coordinates ?

Answers (1)

Jaynik
Jaynik on 17 Apr 2024 at 10:05
Hi William,
According to the documentation, the "partitionDetections" function is primarily designed to work with Cartesian coordinates. It partitions detections based on distance using either the Euclidean or Mahalanobis distance metric, both of which are more straightforward to compute in Cartesian space. In spherical coordinates, calculating distance becomes complex due to the curvature of the space. This might be why you are seeing less sensible results.
However, the function has been updated to also support the "DBSCAN" algorithm which maybe better for handling data in spherical coordinates as it is a density-based clustering algorithm that can adapt to the data's shape. Experimenting with this algorithm or adjusting the distance metrics might yield better outcomes.
If you continue to have issues, converting your spherical data back to Cartesian coordinates before applying "partitionDetections" could be a workaround. You can use the "sph2cart" function for this conversion, and "cart2sph" for converting back if needed.
You can read more about these functions here:
Hope this helps!

Categories

Find more on Trigonometry in Help Center and File Exchange

Tags

Products


Release

R2020b

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!