3D Euclidean Distance Transform for Variable Data Aspect Ratio

Implementation of 3D Euclidean distance transform for data with non-trivial aspect ratio.
4.9K Downloads
Updated 9 Jan 2015

View License

This function computes Euclidean distance transform for 3D binary image with non-trivial aspect ratio (i.e. anisotropic pixels). The algorithm uses fast optimized line-scans and is actually faster than MATLAB's BWDIST implementation of search on optimized kd-tree for many cases. It also uses cell-array representation for internal data, and thus is less demanding to physical memory.
If you use this function in your research or a paper, you can cite it as follows:
Y. Mishchenko (2015) A fast algorithm for computation of discrete Euclidean distance transform in three or more dimensions on vector processing architectures. Signal, Image and Video Processing, 9(1), 19-27.

Cite As

Yuriy Mishchenko (2024). 3D Euclidean Distance Transform for Variable Data Aspect Ratio (https://www.mathworks.com/matlabcentral/fileexchange/15455-3d-euclidean-distance-transform-for-variable-data-aspect-ratio), MATLAB Central File Exchange. Retrieved .

MATLAB Release Compatibility
Created with R14SP2
Compatible with any release
Platform Compatibility
Windows macOS Linux

Community Treasure Hunt

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

Start Hunting!
Version Published Release Notes
1.8.0.0

Added citation information as many people had requested.

1.7.0.0

Replaces bwdistsc with the earlier introduced experimental bwdistX, which uses forward-backward version of algorithm, improving speed up to 10x vs native bwdist

1.6.0.0

Adds experimental bwdistX for user testing, which uses forward-backward version of algorithm and is up to 10x faster than native bwdist

1.3.0.0

Included bwdistsc1 that allows restricting calculations out to a certain distance, which may accelerate calculations in some cases, see readme. Also contains a fix for Matlab version detection routine, thanks to Tudor Dima.

1.0.0.0

The code had been improved to better handle certain type of problems (cavities). It also contains fix allowing use of function with plain 2D images.