⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 readme.svn-base

📁 fast marching method
💻 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 + -