Texture Segmentation

Texture Segmentation Plugin

This plugin is developed for the ICY image analysis software. You can download it from the main repository. I have also developed some other plugins.

It is a toy plugin to test semi-supervised texture segmentation using the new SLBPriu texture descriptor (for more details, see the ISBI 2011 publication - "Statistical color texture descriptors for histological images analysis").

A video of this plugin is available for demonstration purposes.

Plugin documentation

Main window

Once you have opened an image, this plugin has two steps.

1. First, you choose the SLBPriu texture descriptor parameters and extract features for all the pixels. Please, refer to the ISBI publication for more details. You launch the texture analysis by clicking on the Texture button.

  • color checkbox : select if you want the color version of the descriptor. In this case, the texture histograms are extracted on the three RGB color channels and concatenated.
  • W : size of the square sliding window in which the histogram of SLBPriu texture features is computed to represent the center pixel. Odd value should be prefered to have symetric window around the center.
  • P : number of neighbours for the LBP index
  • R : radius between the center pixel and the neighbours
  • T : alpha used in the fuzzifier

2. The extracted features are kept in memory as long as you do not change the active image. The Mask Editor plugin is opened with two default masks created on your image.

Default masks

You have to provide both positive and negative texture examples by drawing in the corresponding masks.

Texture examples

Then, you can choose the SVM parameters and click the SVM button. The texture prediction is provided in a new mask.

Texture prediction

You can change the positive and negative masks or the SVM parameters to observe the plugin behavior without having to re-extract the texture features.

Notes for developers

The source code is available on github

Otherwise, the source code is always provided inside the jar file of the plugin. If you are interested in SLBPriu descriptor, you should have a look at the plugins.nherve.toolbox.image.feature.lbp package in my toolbox.

The texture extraction algorithm and the SVM prediction are multithreaded. The SVM learning phase uses a single CPU due to restrictions in the libsvm that is included in the toolbox.