Need help or advice ? Come to the Icy club ! - Every Wenesday morning from 9h30 to 12h30 - Francois Jacob Building - Main hall - Pasteur
Register

Associated publications

Don't forget the authors !
If you use this plugin, please cite it in your publication !

User reviews

(4)
5 star
4
4 star
0
3 star
0
2 star
0
1 star
0
average rating: 5


Please log-in to post a review
Stephane Dallongeville
16 Oct 2013 16:22
Very fast and easy to use !
And now the documentation is here and nicely done, thanks !
Deci
26 Apr 2013 10:45
riasaecl
28 Feb 2013 13:07
Thomas Provoost
27 Feb 2013 10:48
Does what you want to, and pretty easy using it the first time.

Active Cells

by Biomedical Imaging Group

This plug-in implements fast active contours for image segmentation. Their representation in terms of spline curves allows for a natural and intiutive manipulation of the active contour through control points.

Publication Id
ICY-G6Z3M8
See technical details
View complete changelog

Documentation

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.

Written by Ricard Delgado-Gonzalo at the Biomedical Image Group (BIG), EPFL, Switzerland.
This software is also part of the E-Snake plug-in for ImageJ/Fiji.

Technical Details

Among all different possible curve representations, we use a B-spline representation characterized by control points. These points (red/green crosses) define a control polygon (yellow line) that controls the continuous 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 an extended shell.

Demo

Software

The plug-in requires no image at launch. All image types are accepted, except for 3D image z-stacks. For z-stacks, consider using our Active Cells 3D plug-in. In the case of multi-channel images, the processing is performed on the channel selected on the main plug-in interface.

Main Panel

The main interface window is divided in three differentiated panels: the image panel, the snake options panel, and the interaction panel. When the plug-in is initiated, each panel is set to basic mode. In this mode, only the most important options are shown. Each panel switches to advanced mode when the user clicks on any empty region of the panel (see Fig. 1 and Fig. 2).

Figure 1. Main panel in basic mode. Figure 2. Main panel in advanced mode.

Image panel

This panel contains the options and parameters related to the active image; that is, the image that is being analyzed. When a new image is selected, the parameters in the panel update accordingly.

  • Image: This non-editable text field contains the name of the active image.
  • Channel: This option determines the channel in which the processing is performed. The combo box updates automatically when a different image is selected.
  • Smoothing: Standard deviation σ of the Gaussian kernel that is used to smooth the image when computing the contour energy.

Snake options panel

This panel contains the options and parameters related to the active snake; that is, the snake that the user can interact with. When a new snake is selected or created, the parameters in the panel update accordingly.

  • Target brightness: This option determines if the snake will be attracted to Dark or Bright targets.
  • Control points: Number of control points that define the control polygon.
  • Energy type: This option determines if the snake evolves following the Contour energy, the Region energy, or a Mixture of both.
  • Alpha: Trade-off parameter that balances the contribution of the contour energy and the region energy when the mixture is used. The values of α are inside the interval [0,1].
  • Max iterations: Number of iterations of the optimizer when evolving the snake.
  • Immortal: If checked, the optimizer will stop when the snake has totally converged; that is, when the snake has reached the minimum of the energy functional.

Interaction panel

This panel contains a set of buttons for creating, interacting, and deleting snakes.

The 'plus' button creates a new snake in the active image with the parameters of the Snake Options Panel. If a ROI is present in the active image, the snake will be created with the same position. Otherwise, the snake is initialized in the center of the image.
   
When this tool is selected, the mouse interaction switches to resizing mode. To resize the snake, drag it. All control points will appear as selected and the curve will be scaled with respect to the center of gravity of the snake.
   
When this tool is selected, the mouse interaction switches to resizing mode. To resize the snake, drag it. All control points will appear as selected and the curve will be scaled with respect to the center of gravity of the snake.
   
When this tool is selected, the mouse interaction switches to rotation mode. To rotate a snake, drag it. All control points will appear as selected and the curve will be rotated with respect to the center of gravity of the snake.
   
The 'play' button (a right-pointing black triangle) is used to start optimizing the active snake.
   
The 'ff' button (a double right-pointing black triangle) is used to start optimizing in parallel all snakes within the active image.
   
The "trash bin" button erases the active snake from the image.

User Interaction

Any snake can be manipulated thanks to the combination of mouse actions and the set of tools present in the Interaction Panel. The image canvas provides real-time feedback of how the actions are being performed.

Activate snake

A snake within an image is said to be active when it can be manipulated by mouse actions. To activate a snake, click anywhere within the region enclosed by the snake curve. Then, the associated control polygon will appear, and the previous active snake are set to inactive.

Move a control point

To move a control point, simply drag it. The point closest to where you clicked will change color and be moved to the position where you release the mouse.

Move a snake

To move a snake, drag it within the image. All the control points of the selected snake will change color and be moved to the position where you release the mouse. Alternatively, you can use the keyboard arrow keys to get a finer control over the position of the snake.

Copy/paste a snake

To copy the shape and attributes of the active snake, press Ctrl+C. Press Ctrl+V to paste it in the active image. Note: the copied snake can be pasted in a different image from where it was originally copied.

Menu bar

Analyze

  • Measure: Launches the ROI Measures plug-in. This plug-in computes several image-based statistics of the regions enclosed by the snakes.

Help

  • Documentation (online): This is a link to this manual in the official Icy repository.
  • About: Opens a window with the logo of the plug-in.

References

R. Delgado-Gonzalo, M. Unser, "Spline-Based Framework for Interactive Segmentation in Biomedical Imaging," IRBM—Ingénierie et Recherche Biomédicale / BioMedical Engineering and Research, , vol. 34, no. 3, pp. 235-243, June 2013.

R. Delgado-Gonzalo, P. Thévenaz, C.S. Seelamantula, M. Unser, "Snakes with an Ellipse-Reproducing Property," IEEE Transactions on Image Processing, vol. 21, no. 3, pp. 1258-1271, March 2012.

R. Delgado-Gonzalo, P. Thévenaz, M. Unser, "Exponential Splines and Minimal-Support Bases for Curve Representation," Computer Aided Geometric Design, vol. 29, no. 2, pp. 109-128, February 2012.

Acknowledgements

This work would not have been possible without the contribution of

  • Anaïs Badoual (anais.badoual@gmail.com)
  • Emrah Bostan (emrah.bostan@gmail.com)
  • Nicolas Chenouard (nicolas.chenouard@gmail.com)
  • Ricard Delgado-Gonzalo (ricard.delgado@gmail.com)
  • Ulugbek S. Kamilov (kamilov@gmail.com)
  • Ramtin Madani (ramtin_madani@yahoo.com)
  • Masih Nilchian (masih_n85@yahoo.com)
  • Philippe Thévenaz (philippe.thevenaz@epfl.ch)
  • Cédric Vonesch (cedric.vonesch@epfl.ch)
  • Virginie Uhlmann (virginie.uhlmann@epfl.ch)
  • Michael Unser (michael.unser@epfl.ch)