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

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


Please log-in to post a review
ETH Zurich
25 Oct 2016 01:14
Extremely practical plugin. It works fine with every kind of image I use. It gives very fast preview. The extra functions help to solve any issues you may have with the initial segmentation.
jspan
11 Nov 2015 14:16
Simple and clear interface. Very useful and efficient tools. For some images you need to work with very small values of the parameter.

Potts Segmentation

by Vasileios Angelopoulos

The plug-in is developed using a segmentation algorithm based on the Potts model. The user can segment an image, merge two segments or refine segments from an already existing partition. These functions can be done either using the initial image or a smaller version, creating a preview version of the final result, with less computational cost and faster results. Finally, the results are visualised in various forms.

Implemented by Vasileios Angelopoulos at the Biomedical Imaging Group (BIG), EPFL, Switzerland.
Based on the Toolbox Pottslab develop by M. Storath and A. Weinmann.

Publication Id
ICY-O8D5B1
See technical details
View complete changelog

Documentation

The plug-in is developed using a segmentation algorithm based on the Potts model [1]. It gives the opportunity to the user to segment an image, merge two different segments or refine segments from an already existing partition. All of these functions can be done either using the initial image or a smaller version, which is a percentage in size of the initial one. The latter creates a preview version of the final result, with less computational cost and faster results. Finally, the results after the operations are given in three different forms of representation, in order to provide the best possible illustration according to each user needs.

Implemented by Vasileios Angelopoulos at the Biomedical Imaging Group (BIG), EPFL, Switzerland.

Based on the Toolbox Pottslab develop by Martin Storath and Andreas Weinmann.

 


Requirements

The current version of the plugin requires Java version 8 update 60 or newer and Icy version 1.6.1.1 or newer. In case that you get a message during your attempt to install the plugin or during the execution of some of its functions, there is a large probability that you need to update the Java or Icy versions at your machine.

 


 

Demo

 

Interface

The interface of the plugin is presented in Figure 1. There we can see the following functions and settings: Potts Segmentation plug-in interface

Potts Segmentation plugin interface 

      1. set the value for scale parameter γ

      2. checkbox to make use of "Advanced mode" parameters setting

      3. set the initial value for parameter μ

      4. set the step value for parameter μ

      5. checkbox to make use of the near isotropic model approach

      6. choose the size for the output image as a percentage of the initial one

      7. button that performs segmentation for the image at the size that was set above

      8. button that is used for merging two or more adjacent segments that were chosen by the user

      9. choose the level of refinement by setting a new γ value as a percentage of the one that is set at (1)

    10. button that performs refinement of a certain segment with γ from (9)

    11. button that extract the marked segment(s) into separate ROI(s)

    12. checkbox to open resulting images after merging or refinement in a new window

    13. button that browses the user to the online documentation of the plugin

    14. bar that shows the current status of the requested process

                                    Figure 1

 

Functions and Results

Segment

This is the main function of the application, where an image is segmented using the core segmentation algorithm. The user can set the value of the parameter γ of the algorithm, which specifies the sensitivity of the segmentation process to the jumps occurred in the image. As larger is the γ, so the number of the large segments at the results is smaller. Furthermore, there is the choice of the “Advanced mode”, where user can set the values of more parameters of the core algorithm.

Figures 2 to 5 show the results of the segmentation process. In Figure 2 we can see the initial image before any processing, in Figure 3 we have the image segmentation, in Figure 4 the boundaries of the latter and, finally, in Figure 5 a representation of the result using HSV to RGB transformation.

 

Original image

Figure 2

 Segmentation

                                                                                                                             Figure 3

Boundaries

Figure 4

HSV visualisation

                                                                                                                             Figure 5

 

Preview result

User can preview the final result of the segmentation function by choosing the size of the preview image as a percentage of the initial one. This offers significant computational savings and faster processing, without leading to results that are far from the corresponding using the initial image in full size. Below we can see an example, where in Figure 6 is the initial image, in Figure 7 we have the 50% preview of its segmentation and in Figure 8 the 25% preview.

Original image in full size 

                                                                                                                              Figure 6

Segmentation preview at 50%

Figure 7

                      Segmentation preview at 25%                      

                                                                                                                   Figure 8

 

Merge

Using this operation we can merge segments that have been created using a segmentation process, so that we will generate a new bigger segment that will include the areas of the image that belonged to the initial segments before. As we can observe in Figure 9, the only thing that we need to do is to set the segments that we want to merge, using the ROI tool of the platform. Then, we apply merging and we have the result presented in Figure 10.

 

 Image before merging

  Figure 9 

 Image after merging

Figure 10

 

Refine

This function gives the opportunity of refinement of one or more segments, aiming in results that are closer to each user needs. User marks the regions for refinement, where the selected ROI has to be located clearly inside a single segment. In case that more than one segments are planned to be refined, each one has to be marked with a separate ROI. Then, the algorithm is applied again only for the requested segments performing a more “strict” segmentation. This happens using a new value for the γ parameter that is chosen by the user as a percentage of the initial one, which is placed at the top of the interface. Figures 11 and 12 show the results for such a process, if we use the 10% of the initial value of γ for the refinement.

 Image before refinement

Figure 11

 Image after refinement

Figure 12

 

References

[1] M. Storath and A. Weinmann, Fast partitioning of vector-valued images, SIAM J. Imaging Sciences, 7(3):1826-1852, 2014.

[2] M. Storath, A. Weinmann, J. Frikel, M. Unser. Joint image reconstruction and segmentation using the Potts model. Inverse Problems, 31(2):025003, 2015.

[3] R.M. Haralick and L.G. Shapiro, Image segmentation techniques, Computer Vision Graph. Image Processing, 29:100-132, 1985.

[4] S. Geman and D. Geman, Stochastic relaxation, Gibbs distributions and the Bayesian restoration of images, IEEE Trans. Pattern Anal. Machine Intell., 6:721-741, 1984.

 

Acknowledgments

I would like to thank Martin Storath, Iris Friedli, Daniel Sage and Michael Unser for the valuable discussions and suggestions.