Accurate Fast Marching

버전 1.12.0.0 (121 KB) 작성자: Dirk-Jan Kroon
Multistencils second order Fast Marching 2D and 3D including rk4 shortest path and skeletonize
다운로드 수: 15.8K
업데이트 날짜: 2011/1/14

라이선스 보기

Descriptions:

- The function MSFM2D/MSFM3D calculates the shortest distance from a list of points to all other pixels in an 2D or 3D image, using the Multistencil Fast Marching Method (MSFM). This method gives more accurate distances by using second order derivatives and cross neighbors.

- The function Skeleton will calculate an accurate skeleton (centerlines) of an object represented by an binary image / volume using the fast-marching distance transform.

- The function Shortestpath traces the shortest path from start point to source point using Euler or Runge Kutta 4 in the 2D or 3D distance map.

Implementation:
The 2D fast marching method is implemented in both Matlab-code and c-code. The c-code uses a custom build unsorted binary tree minimum search which out performs a normal binary sorted tree. The c-code is more than 500 times as fast as the matlab-code (compiled with the Microsoft Visual compiler).

Literature:
We used two papers:
- J. Andreas Baerentzen "On the implementation of fast marching methods for 3D lattices"
- M. Sabry Hassouna et al. "Multistencils Fast Marching Methods: A Highly Accurate Solution to the Eikonal Equation on Cartesian Domains"
- R. van Uitert et al. "Subvoxel precise skeletons of volumetric data based on fast marching methods"

We compared the results of our implementation with the results in the paper:
- Normal fast marching 1th order, exact the same results.
- 2th order, significant smaller errors than in the paper.
- Multistencil 1th order, larger errors than in the paper
- Multistencil 2th order, significant worse results than published in the paper. (Note : Our results are in accordance to other existing implementations )

The last version of our code produces better result than in the paper or other literature. This is achieved by solving the polynomial roots using all the available information, as described by the comment of Olivier Roy below.

Examples:
Compile the c-code with mex msfm2d.c; mex msfm3d.c; mex rk4.c;

Try the examples in the help of msfm2d, shortestpath and skeleton

인용 양식

Dirk-Jan Kroon (2024). Accurate Fast Marching (https://www.mathworks.com/matlabcentral/fileexchange/24531-accurate-fast-marching), MATLAB Central File Exchange. 검색 날짜: .

MATLAB 릴리스 호환 정보
개발 환경: R2009a
모든 릴리스와 호환
플랫폼 호환성
Windows macOS Linux
카테고리
Help CenterMATLAB Answers에서 Numerical Integration and Differential Equations에 대해 자세히 알아보기
커뮤니티
 Power Electronics Control 커뮤니티에 더 많은 파일이 있습니다

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!
버전 게시됨 릴리스 정보
1.12.0.0

Fixed Crash-bug, and solved bug when curvature and 2e order are enabled. Shortest-path optimized.

1.8.0.0

Centerline in 3D now works robust. More Accurate see comment of Olivier Roy.

1.4.0.0

Added skeletonize method for vessel centerline extraction

1.3.0.0

Linux Ubuntu Tested

1.2.0.0

Changed c-code comments // to /* */
In help added, that speed function must be larger than zero

1.1.0.0

text

1.0.0.0