IPSDK 4.1.1.1
IPSDK : Image Processing Software Development Kit
IPSDK Interface documentation

Fibers segmentation and analysis plugin


The fibers analysis plugin is designed to detect, separate, and analyze fibers in 2D and 3D. It is accessible via one dedicated button, inside the menu bar of IPSDK Explorer.

fibersPluginButton.png
Fibers plugin button inside IPSDK Explorer


Input selection

The plugin window contains two dropdown menus at the top left corner to select input images and binary input images of fibers to process. Only binary images will appear inside the first dropdown list. For the input images list, both grayscale and RGB formats are supported, for individual 2D images, and 3D images.

inputImagesLists.png
Input images selection via dropdown lists


When using a binary image as input, the pre process and the binarization sections can't be accessed inside the plugin, considering the detection of the fibers is already done.

inputBinaryImagesList.png
Input binary image selection via dropdown list


Note
Input images must be loaded inside IPSDK Explorer to be selected inside the dropdown lists.


Configuration management

The second dropdown menu appearing on the right corner allows to choose and reload previously saved configurations. The special entry "..." refers to the last auto-saved configuration made during the last preview.

ModuleSettings.png
At the bottom left, the parameters savings, and at the top right corner, the parameters importation and management


Buttons Description
Validate.png
Apply the settings to the different processing sections
Delete.png
Delete the current setting selected in the list
Add_Macro.png
Import saved settings
Export_Macro.png
Export saved settings
Save.png
Save current configuration
Refresh.png
Reset all the settings to default values
Configuration buttons


The checkbox Keep images for next process is an optional setting that allows to keep processed images in memory for the next process, and therefore gain some time during computations. When this option is checked, the last previewed image will be saved in memory, reducing redundant computations.

To save the current configuration :


Module Section Structure


The core of the plugin window includes seven distinct and collapsible processing sections :


Each processing section is made up of individual functions.

Each line is described as follows :

Here is an example with the pre process section :

sectionStructure.png
Architecture of a process section



Pre Process


This section is intended to enhance image quality before fiber detection.

It includes:


Here's an example of pre processing :

fibersPlugin_preprocess.png
Pre process of a grey level image by applying a median of size 3.


Binarization


This step converts the pre-processed image into a binary mask highlighting the fibers.

This section includes 5 thresholding methods, with 3 classical algorithms :

And also two advanced options :

Parameters vary depending on the chosen method. The documentation of each function is accessible through Explorer function sections, using the
button.

Here is an example of a binarization using the Simple threshold method :

fibersPlugin_binarization.png
Binarization of fibers using the simple threshold method.


The simple threshold method allows to select a threshold manually by entering a minimum and a maximum value inside the entry fields, or by clicking the
button.

After clicking the edit button, a new window opens allowing to choose a threshold using the double slider at the bottom of the window.

fibersPlugin_binarization_simpleThreshold.png
Interactive threshold window


When using the smart segmentation method, a pre-trained model is needed. The documentation shows how to build a smart segmentation model here.

The smart segmentation option allows to select a pre-trained model and to choose the model classes to use for the binarization.

Note
The trained model relies on the pre-processed image as input; therefore, any changes to the pre-processing steps afterward may cause the model to malfunction or deliver inaccurate results.



binarization_smartSegmentation.png


The
button can be used to refresh the models list, in case the model doesn't appear in the list.


Here is an example of binarization using the smart segmentation method :

fibersPlugin_binarization_smartSegmentation.png
Binarization of fibers using the smart segmentation method and extracting the class 1


Besides the smart segmentation algorithm, the macro-based binarization can be usefull for very complex images binarization.


Binarization corrections


Binarization corrections refine the binary image by cleaning up artifacts and enhancing the detection of fibers.

Available operations are :

Each operation is optional and configurable.

Here's an example of binarization result using the corrections functions inside the plugin :

fibersPlugin_binarizationCorrections.png
Binary image cleaning using remove small holes (size 5) and remove small shapes (size 200)



Separation


Fiber segmentation is performed here to label individual fibers for further analysis.

This section implements 5 different methods :


fibersPlugin_separation.png
Fiber separation


Here's multiple examples of the different methods with different parameters.

Method name Parameters value Image example
Approximation polyline 1
fibersPlugin_separation_approxPolyline_val1.png
4
fibersPlugin_separation_approxPolyline_val4.png
Skeleton min size 5
fibersPlugin_separation_skeletonMinsize_size5.png
10
fibersPlugin_separation_skeletonMinsize_size10.png
Max curvature 10
fibersPlugin_separation_maxCurvature_angle10.png
25
fibersPlugin_separation_maxCurvature_angle25.png



Reconnection


Additional parameters can be used here to reconnect the labeled fibers that are not connected.

This section implements the reconnection of fibers using 3 parameters :


Here is an example of fibers reconnection :

fibersPlugin_reconnection.png
Fibers reconnection using an angle tolerance of 30, and a distance tolerance of 20


Here's examples of the angle tolerance method with different parameters.

Angle tolerance Distance tolerance Example
25 25
fibersPlugin_reconnection_angleTolerance_25_distanceTolerance_25.png
90 25
fibersPlugin_reconnection_angleTolerance_90_distanceTolerance_25.png



Reconstruction


This section performs the reconstruction of segmented fibers using 4 different parameters.

The parameters are :

Note
The lengthen polygon, remove border and fill mask methods are optional, uncheck the checkboxes to disable them.


Here is an example of fibers reconstruction :

fibersPlugin_reconstruction.png
Fibers reconstruction using lengthen polygon method, the remove border method, a min size segment of 15, and thickening the fibers with a mean tickness of 5



Measures

This section provides analysis of the segmented fibers.

The available measures are :

fibersPlugin_measures.png
Architecture of the measures process section


The preview button gives a peak of the results inside IPSDK Explorer.

A set of quantitative measurements is available within this section.

The sieves used for histogram computation are selectable (via dropdown) and editable using the
button.

Sieves can also be customized under Settings → Sieves → Preferences.

sieveSelection.png
Sieves can be created and edited inside the sieves edition window



Saving and Launching Analyses


At the bottom right, three buttons control the execution of the analyses :


Here's an example of display inside IPSDK Explorer when launching an analysis :

fibersPlugin_launch_analysis.png