Ofeli is a software that demonstrates how to operate an image segmentation algorithm of Y. Shi and W. C. Karl |1|, using a discrete approach for the approximation of level-set-based curve evolution (implicit active contours).
This is a novel (2005) and fast algorithm without the need of solving partial differential equations (PDE) while preserving the advantages of level set methods, such as the automatic handling of topological changes. Considerable speedups (×100) have been demonstrated as compared to PDE-based narrow band level-set implementations.
Here are some key features of "Ofeli":
an image processing library written in c++ language with:
· an abstract implementation of the Y.Shi and W. C. Karl 's Fast-Two-Cycle (FTC) algorithm |1|.
· inheritance-based implementations with specific speeds derived from Chan-Vese model |2| (region-based) and geodesic model |3| (edge-based) to create an API for a good reusability of the code.
· preprocessing classes for color and grayscale images including filters (gaussian filter, median filter, Perona-Malik anisotropic diffusion |4|, erosion, dilation, morphological gradient, opening, closing and top-hat transforms) and noise generators (gaussian white noise, impulsional noise and speckle) thanks to pseudo-random number generators of Boost library.
· the Hausdorff distance and the modified Hausdorff distance between 2 lists of boundary points (to evaluate for example, the accuracy of the segmentation between a ground truth/manual segmentation and an automatic segmentation).
a cross-platform (Windows, Mac OS X and GNU/Linux) graphical user interface written in c++/Qt:
· a main window based on Image Viewer example of the Qt documentation to display the input image and each step of the active contour.
· a settings window to control external speed models, optional internal speed, active contour initialization, preprocessing and image display of the main window with a refresh/interactive view of each modification and a mouse event handling for initialization.
· an evaluation window to open 2 segmented images and to compute Hausdorff distance and modified Hausdorff distance with a mouse event handling to select the color of lists of points in the images.
a developer's documentation:
· generated from the source code with Doxygen.
· in french language for the time being.