Toolbox Fast Marching
The Fast Marching algorithm, introduced by Sethian (1996) is a numerical algorithm that is able to catch the viscosity solution of the Eikonal equation |grad(D)|=P. The level set {x \ F(x)=t} can be seen as a front advancing with speed P(x).
The resulting function D is a distance function, and if the speed P is constant, it can be seen as the distance function to a set of starting points.
The Fast Marching is very similar to the Dijkstra algorithm that finds shortest paths on graphs. Using a gradient descent of the distance function D, one is able to extract a good approximation of the shortest path (geodesic) in various settings (euclidean for P constant, and a weighted riemanian manifold with P varying).
The main reference about the Fast Marching algorithm is the book
Level Set Methods and Fast Marching Methods Evolving Interfaces in Computational Geometry, Fluid Mechanics, Computer Vision, and Materials Science
J.A. Sethian, Cambridge University Press, 1999
Cambridge Monograph on Applied and Computational Mathematics
A good review of the Fast Marching in 3D together with some applications can be found in
Fast extraction of minimal paths in 3D images and application to virtual endoscopy.
T.Deschamps and L.D. Cohen.
September 2000. To appear in Medical Image Analysis.
The functions 'perform_fast_marching_2d', 'perform_fast_marching_3d' and 'perform_fast_marching_mesh' compute the distance function from a set of starting points. To extract the geodesics between these starting points and an ending point, you can use 'extract_path_2d' and 'extract_path_3d'.
The main computation are done in a mex file so it is very fast (using a C++ heap structure). Precompiled version (.dll) for Windows are given.
Cite As
Gabriel Peyre (2024). Toolbox Fast Marching (https://www.mathworks.com/matlabcentral/fileexchange/6110-toolbox-fast-marching), MATLAB Central File Exchange. Retrieved .
MATLAB Release Compatibility
Platform Compatibility
Windows macOS LinuxCategories
- MATLAB > Mathematics > Numerical Integration and Differential Equations >
- Mathematics and Optimization > Mapping Toolbox > Geometric Geodesy >
- Radar > Mapping Toolbox > Geometric Geodesy >
- Mathematics and Optimization > Partial Differential Equation Toolbox > General PDEs > Visualization >
- Engineering > Biomedical Engineering > Biomedical Imaging >
Tags
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!Discover Live Editor
Create scripts with code, output, and formatted text in a single executable document.