Fast marching method

The fast marching method[1] is a numerical method created by James Sethian for solving boundary value problems of the Eikonal equation:

Typically, such a problem describes the evolution of a closed surface as a function of time with speed in the normal direction at a point on the propagating surface. The speed function is specified, and the time at which the contour crosses a point is obtained by solving the equation. Alternatively, can be thought of as the minimum amount of time it would take to reach starting from the point . The fast marching method takes advantage of this optimal control interpretation of the problem in order to build a solution outwards starting from the "known information", i.e. the boundary values.

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-set methods. More general algorithms exist but are normally slower.

Extensions to non-flat (triangulated) domains solving

for the surface and , were introduced by Ron Kimmel and James Sethian.

Algorithm

First, assume that the domain has been discretized into a mesh. We will refer to mesh points as nodes. Each node has a corresponding value .

The algorithm works just like Dijkstra's algorithm but differs in how the nodes' values are calculated. In Dijkstra's algorithm, a node's value is calculated using a single one of the neighboring nodes. However, in solving the PDE in , between and of the neighboring nodes are used.

Nodes are labeled as far (not yet visited), considered (visited and value tentatively assigned), and accepted (visited and value permanently assigned).

  1. Assign every node the value of and label them as far; for all nodes set and label as accepted.
  2. For every far node , use the Eikonal update formula to calculate a new value for . If then set and label as considered.
  3. Let be the considered node with the smallest value . Label as accepted.
  4. For every neighbor of that is not-accepted, calculate a tentative value .
  5. If then set . If was labeled as far, update the label to considered.
  6. If there exists a considered node, return to step 3. Otherwise, terminate.

See also

Notes

  1. ^ J.A. Sethian. A Fast Marching Level Set Method for Monotonically Advancing Fronts, Proc. Natl. Acad. Sci., 93, 4, pp.1591--1595, 1996. [1]

Content Disclaimer

Informasi ini disarikan dari Wikipedia dan disajikan kembali untuk tujuan edukasi. Konten tersedia di bawah lisensi CC BY-SA 3.0. Kami tidak bertanggung jawab atas ketidakakuratan data yang bersumber dari kontribusi publik tersebut.

  1. The information displayed on this website is sourced in part or in whole from Wikipedia and has been adapted for the purpose of restating it. We strive to provide accurate and relevant information, however:
  2. There is no guarantee of absolute accuracy. Wikipedia is an open, collaborative project that can be edited by anyone, so information is subject to change.
  3. It is not intended to constitute professional advice. The content displayed is for informational and educational purposes only. For important decisions (e.g., medical, legal, or financial), please consult a professional.
  4. Content copyright. Wikipedia is licensed under the Creative Commons Attribution-ShareAlike License (CC BY-SA). This means that content may be reused with appropriate attribution and shared under a similar license.
  5. Responsible use. Any risk arising from the use of information from this website is entirely the responsibility of the user.