Over the last decades parametric active contours, commonly denoted as snakes, have emerged as an inevitable approach in image segmentation. Based on parametric contour models and application-specific energy functionals snakes provide an integrated framework for transforming object segmentation tasks into well-founded mathematical optimization problems solvable with established approaches.
Since the pioneering work of Kass and colleagues in 1988 introducing snakes for segmentation, numerous energies, improved optimization schemes, and extensions towards 3D have been proposed. Nevertheless, each new object segmentation problem again raises the question if snakes are capable of solving the problem and if so, which combination of energies to apply.
To support users in answering these basic questions, i.e. to assist them in assessing the suitability of snakes for their task, and to enable them to gain high-quality segmentation results with minimal overall effort, here we present our ImageJ plugin “SnakeOptimizer”. It features object segmentation with 2D snakes as proposed by Kass. A snake is represented as a set of discrete 2D points, and the optimization problem is solved by gradient descent techniques.
The plugin perfectly fits the needs of rapid-prototyping, but can also be adopted as integral part of productive image analysis pipelines easily. It ships with a collection of common energies like length and curvature penalizers, intensity- and gradient-based energies as well as the common Chan-Vese functional for region-based segmentation, which can all be combined freely. Furthermore it incorporates heuristics for snake resampling and eliminination of self-overlaps, various termination criteria, and implements image coordinate and intensity normalization. These aspects are often neglected in papers, however, play an important role for successful and robust object segmentation in practice.
The functional core of the SnakeOptimizer plugin is implemented as an operator in Alida (http://www.informatik.uni-halle.de/alida). Alida is a library defining image analysis procedures as a sequence of operators applied to data. By enforcing operators to extend a common super class and annotate their parameters Alida enables generic configuration and execution of operators, and provides an intuitive interface on the programming level. The SnakeOptimizer takes full advantage of these features, particularly the generic parameter handling renders the plugin to be easily extended with new energies. While other ImageJ plugins for snake segmentation often stick to a single energy functional without options for extension, the SnakeOptimizer allows to include new energies without modifying any line of code. Alida makes each new energy class that implements one of the snake energy interfaces and is properly annotated immediately available to the user, and provides comfortable means for parameter configuration.
The SnakeOptimizer plugin features a handy GUI, but its functionality can likewise be accessed via a command line tool. The GUI allows for live monitoring of the segmentation process and direct interaction in terms of pausing, resuming or executing the plugin step-wise. In addition, access to ImageJ's ROI manager is granted for importing selections as initial contours and exporting results for further use with other plugins. The SnakeOptimizer is continously improved, new energies are implemented, and enhanced optimization and normalization schemes are currently under investigation.
Image Segmentation, Active Contours, Snakes, ImageJ, Alida
Birgit Moeller received the Diploma in computer science from the University of Bielefeld, Germany, in 2001, and a PhD from the Martin Luther University Halle-Wittenberg, Germany, in 2005. Since 2002 she is working with the Pattern Recognition and Bioinformatics Group at the University Halle-Wittenberg. While earlier research was mainly dedicated to image registration, visual memories, and computer vision for human-machine interaction, currently her work is focused on the automatic analysis and interpretation of various kinds of biomedical image data, and on the development of software tools and libraries for data and image analysis.
Presenting author: Birgit Moeller
Organisation: Institute of Computer Science, Martin Luther University Halle-Wittenberg
co-authors: Danny Misiak