Image segmentation - multiscale energy-based level sets

Segmentation using active contour without edges and multi-scale acceleration. GUI included
Updated 19 Feb 2013

View License

This toolbox implements an energy-based segmentation algorithm that uses
finite-difference based level set evolution. (See [1], [2]).
Multiscale control of the curve evolution is implemented -- this greatly reduces
the sensitivity to initialization as well as improves the execution speed
by factors of 10-1000 and even more([3]).

Given a segmentation problem, one can use this GUI in order to find the
proper parameters that will yield the desired partition for the class of images used.
The functions in the toolbox can be then re-used for a scripting algorithm, if desired.

This is not a full multigrid algorithm, the scale navigation is provided in 'manual'
mode, for "image learning". Once you get the hang of it, you can then code that
bit in. On the same line, the error is calculated and shown, but no decision is
taken, the iteration control is also left on "manual".

For details on the algorithm see the references at the end.

From the GUI one is able to:
- load data and save intermediate states using the Load/Save menu
- choose the segmentation parameters (Mu, Lambda+, Lambda- , dt, Nu)
- iterate(relax) a chosen number of steps
- prolong, restrict, redistance the level set
- visualise the current solution
- inspect the error (and more goodies as error function gradient, residue, etc.)
- set various options (levelset initialization style, regularization, scale depth, #steps)

For more details on the interface and implementation see the appropriate help sections in the GUI.

[1] R. J. LeVeque - "Finite Difference Methods
for Differential Equations" September, 2005
[2] T. Chan and L. Vese, "Active contours without edges"
IEEE Trans.Img.Proc., vol. 10, pp. 266–277, 2001.
[3] W. L. Briggs, V. Emden Henson, S. F. McCormick
"A Multigrid Tutorial", SIAM, Philadelphia, 2001.

Cite As

tudor dima (2024). Image segmentation - multiscale energy-based level sets (, MATLAB Central File Exchange. Retrieved .

MATLAB Release Compatibility
Created with R2010b
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

v.1.0.1 - allow saving and loading of masks and level-set functions
- improved workflow and help comments

. - 22.04.2012
allow spaces in image directory names
add handy reset button (before in pull-down menu)
better help, split by section - 22.04.2012
allow spaces in image directory names
add handy reset button (before in pull-down menu)
better help, split by section


can now change on the fly the scale depth kMax (before one had to reload the file)

Undersampling of the image to be segmented using splines.
Better help, fixed some window sizes.

better description