?? readme.svn-base
字號:
WARNING: you have to add the files under toolbox/ in your Matlab path.
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.
Basic features:
* The functions 'perform_fast_marching_2d' and 'perform_fast_marching_3d'
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'.
* There are also test applications 'test_fast_marching_2d'
and 'test_fast_marching_3d' so that you can easily
understand the use of the functions.
Additional features:
* Circular path extraction : a callback function can be passed
to the C++ function 'perform_front_propagation_2d' to prevent
the front to passing though some area. The function
'perform_circular_fast_marching_2d' implement a simple trick,
by prenventing the front to pass through an horizontal half line,
which in turn enable the extraction of circular paths.
The function 'test_circular_fast_marching_2d' shows
an application of this to cell segmentation.
For more information you can read the original paper:
Appleton, B., Talbot, H.,
Globally Optimal Geodesic Active Contours,
Journal of Mathematical Imaging and Vision, to appear.
* Constraint path planing : the script 'test_path_planing'
shows the application of 3D fast marching to the extraction
of optimal path for a tiny rectangle.
The function 'generate_constrained_map' generate the 3D speed
function for a given 2D map (the 2D speed function that
should be used if the object to move was a point).
For more information see:
http://math.berkeley.edu/~sethian/Movies/Movierobotics.html
and read
Kimmel, R., and Sethian, J.A.,
Fast Marching Methods for Robotic Navigation with Constraints
Center for Pure and Applied Mathematics Report,
Univ. of California, Berkeley, May 1996
The main computation are done in a mex file so it is very fast
(using a Fibonacci heap structure). To compile the mex files,
simply run 'compile_mex'. This should be ok if you have
set some C++ compiler (use 'mex -setup').
Precompiled version (.dll) for Windows are provided.
Copyright (c) 2004 Gabriel Peyr
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -