Skip to content

Efficient computation of distances between subsets of metric spaces.

License

Notifications You must be signed in to change notification settings

tylerjackoliver/Distance-Metrics

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Distance-Metrics

In supporting ongoing research into dynamical systems theory, particularly in the use of Lagrangian Coherent Structures for flow analysis and automatic orbit classification in astrodynamics systems, efficient metrics for determining distances between two trajectories are required.

This repository stores two such commonly-used metrics: the Hausdorff distance (here) and the Frechet distance (here).

Hausdorff Distance

The Hausdorff algorithm is a direct port of the SciPy directed Hausdorff distance found here, and it is the greatest of all the distances from a point in one set to the closest point in the other set. This algorithm has been slightly optimised for Intel-based CPUs by writing the program in a manner for targeting CPU vectorisation using the Intel C++ compiler, but no other optimisations have been made.

Frechet Distance

The Frechet distance is an implementation of the following two papers:

  • Devogele, T., Esnault, M., Etienne, L., & Lardy, F. (2017). Optimized Discrete Fréchet Distance between trajectories. BigSpatial 2017 - Proceedings of the 6th ACM SIGSPATIAL International Workshop on Analytics for Big Geospatial Data, (November), 11–19. https://doi.org/10.1145/3150919.3150924
  • João Paulo Figueira. (2021). Fast Discrete Fréchet Distance.

Both papers present highly optimised versions of the Frechet distance computation; further improvements have been added to support automatic CPU-directed vectorisation. The C++17 standard and the C++ STL is used exclusively.

About

Efficient computation of distances between subsets of metric spaces.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages