Content deleted Content added
WP:CHECKWIKI error fix #26. Convert HTML to wikicode. Do general fixes and cleanup if needed. -, typo(s) fixed: propogating → propagating using AWB (11895) |
|||
(20 intermediate revisions by 19 users not shown) | |||
Line 1:
{{short description|Algorithm for solving boundary value problems of the Eikonal equation}}
The '''fast marching method'''<ref name="sethian_fmm">J.A. Sethian. A Fast Marching Level Set Method for Monotonically Advancing Fronts, Proc. : <math>|\nabla u(x)|=1/f(x) \text{ for } x \in \Omega</math>
: <math>u(x) = 0 \text{ for } x \in \partial \Omega</math>
Typically, such a problem describes the evolution of a closed surface as a function of time <math>u</math> with speed <math>f
The algorithm is similar to [[Dijkstra's algorithm]] and uses the fact that information only flows outward from the seeding area. This problem is a special case of [[level
Extensions to non-flat (triangulated) domains solving
::<math>|\nabla_S u(x)|=1 / f(x),
</math>
<gallery>
Line 23 ⟶ 24:
==Algorithm==
First, assume that the ___domain has been discretized into a mesh. We will refer to
The algorithm works just like Dijkstra's algorithm but differs in how the
Nodes are labeled as ''far'' (not yet visited), ''considered'' (visited and value tentatively assigned), and ''accepted'' (visited and value permanently assigned).
# Assign every node <math>x_i</math> the value of <math>U_i=+\infty</math> and label them as ''far''; for all nodes <math>x_i \in \partial\Omega</math> set <math>U_i = 0</math> and label <math>x_i</math> as ''accepted''.
# For every
# Let <math>\tilde{x}</math> be the considered node with the smallest value <math>U</math>. Label <math>\tilde{x}</math> as ''accepted''.
# For every neighbor <math>x_i</math> of <math>\tilde{x}</math> that is not-accepted, calculate a tentative value <math>\tilde{U}</math>.
Line 37 ⟶ 38:
==See also==
* [[Level
* [[Fast sweeping method]]
* [[
==External links==
* [
* [http://math.berkeley.edu/~sethian/ The Fast Marching Method and its Applications by James A. Sethian]
* [https://web.archive.org/web/20110719232108/http://mecca.louisville.edu/~msabry/projects/msfm.htm Multi-Stencils Fast Marching Methods]
* [http://www.mathworks.com/matlabcentral/fileexchange/24531 Multi-Stencils Fast Marching Matlab Implementation]
* [http://www2.imm.dtu.dk/pubdb/views/edoc_download.php/841/pdf/imm841.pdf Implementation Details of the Fast Marching Methods]
* [
* [https://github.com/scikit-fmm/scikit-fmm Python Implementation of the Fast Marching Method]
*See Chapter 8 in [http://etd.fcla.edu/CF/CFE0001159/Rumpf_Raymond_C_200608_PhD.pdf Design and Optimization of Nano-Optical Elements by Coupling Fabrication to Optical Behavior] {{Webarchive|url=https://web.archive.org/web/20130820063106/http://etd.fcla.edu/CF/CFE0001159/Rumpf_Raymond_C_200608_PhD.pdf |date=2013-08-20 }}
==Notes==
Line 54 ⟶ 56:
[[Category:Numerical differential equations]]
|