Short Description

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.

Documentation

The plug-in is developed using a segmentation algorithm based on the Potts model. It allows 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 the 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, to provide the best possible illustration according to each user’s needs.

The plugin is also compatible with the Protocols environment and can be used in block mode for the segmentation feature.

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 2.0.3.0 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:

Plugin Potts Segmentation - Graphical User Interface

Figure 1

 

      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 extracts 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

 

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 the 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.

 

Figure 2

Figure 3

 

Figure 4

Figure 5

Preview result

Users 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, wherein Figure 6 is the initial image and in Figure 7 we have the 50% preview of its segmentation.

 

Figure 6

Figure 7 

 

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 8, 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 the merging and we have the result presented in Figure 9.

 

 

Figure 8

Figure 9

Refine

This function gives the opportunity of refinement of one or more segments, aiming in results that are closer to each user’s needs. The 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 segment is 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 10 and 11 show the results for such a process if we use 10% of the initial value of γ for the refinement.

 

Figure 10

 

Figure 11

 

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.

 

3 reviews on “Potts Segmentation

  1. j
    Simple and clear interface. Very useful and efficient tools. For some images you need to work with very small values of the parameter.
  2. s
    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.
  3. Stefan Fischer
    Really useful plugin to extract structures/organs of interest in multicolor stained histological sections. However, in order to run it on a series of images one would need to be able to call it within the Protocols editor, where the plugin is currently not yet available as block. Would it be possible to include it in the block editor? That would be awesome!

Leave a Review

Leave a review
Cancel review
View full changelog
Close changelog

Changelog

  • Version 1.2.0.0 • Released on: 2019-11-22 18:18:08
    Download
    Description:

    Modifications to make the plugin compatible with the Protocols environment

  • Version 1.0.1.0 • Released on: 2015-11-22 02:44:48
    Download
    Description:

    Modifications to support images of any dynamic range.

  • Version 1.0.0.2 • Released on: 2015-10-15 06:26:16
    Download
  • Version 1.0.0.1 • Released on: 2015-10-14 08:04:04
    Download
  • Version 1.0.0.0 • Released on: 2015-10-13 06:23:04
    Download
  • Version 0.0.1.1 • Released on: 2015-10-11 09:07:24
    Download
  • Version 0.0.1.0b • Released on: 2015-10-11 05:35:43
    Download