Graphic STI
logo EPFL
english only
Biomedical Imaging Group
BIG > Algorithms > E-Snake

BIG homepage









Technical Explanations


Related Works


Plug-in for ImageJ

[Version 27.10.2011]



Fast parametric active contour for segmenting nearly elliptic objects

Written by Ricard Delgado-Gonzalo at the Biomedical Image Group (BIG), EPFL, Switzerland

This software is also part of the Active Cells plug-in of Icy.

E-Snake before convergence.

E-Snake after convergence.

Figure 1. E-Snake before convergence.

Figure 2. E-Snake after convergence.


This software implements an active contour (a.k.a. snake) segmentation method using exponential splines as basis functions to represent the outline of the shape. While the snake is versatile enough to provide a good approximation of any closed curve in the plane, its most important feature is that it perfectly reproduces circular and elliptical shapes. These features are very appropriate to delineate cross sections of cylindrical-like conduits and to outline blob-like objects.


Technical Explanations

Among all different possible curve representations, we use a B-spline representation characterized by M control points. As shown in Figures 1 and 2, the M control points (red crosses) define a control polygon (yellow line) that controls the continous representation of the snake (red line).

The evolution of the curve is formulated as a minimization problem. The associated cost function is called snake energy. In our case we make use of a convex combination of contour and region energies, i.e. α Econtour+(1-α) Eregion. The contour energy corresponds to the integral of the projection of the image gradient onto the curve. This energy uses a smoothed version of the input image with a Gaussian kernel of standard deviation α. The region energy maximizes the difference of intensity between the region enclosed by the curve, and the intensity of a region within and elliptical shell.


Java and ImageJ prerequirements

The software provided here is a plug-in for ImageJ, a general purpose image-processing and image-analysis package. ImageJ has a public domain licence; it runs on several plateforms: Unix, Linux, Windows, Mac OS 9 and Mac OS X. It doesn't take more than a couple of minutes to install.

Download and install

Download, the ImageJ's plug-in. Put the file in the folder plug-ins of ImageJ and unzip it.

User Manual

Conditions of use

You'll be free to use this software for research purposes, but you must not transmit and distribute it without our consent. In addition, you undertake to include a citation to the associated papers whenever you present or publish results that are based on it. EPFL makes no warranties of any kind on this software and shall in no event be liable for damages of any kind in connection with the use and exploitation of this technology.

Related Works