The 2D Porosity analysis[1] plugin is designed to detect, segment and analyze porosities of materials in 2D. It is accessible via one dedicated button, inside the menu bar of IPSDK Explorer.
The module window contains a dropdown menu at the top left corner to select an input image to process. Both grayscale and RGB formats are supported, for individual 2D images or sequences of 2D images.
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.
Buttons | Description |
---|---|
![]() | Apply the settings to the different processing sections |
![]() | Delete the current setting selected in the list |
![]() | Import saved settings |
![]() | Export saved settings |
![]() | Save current configuration |
![]() | Reset all the settings to default values |
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 :
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 :
This section is intended to enhance image quality before the detection of the porosities.
It includes:
Here's an example of pre processing :
This step converts the pre-processed image into a binary mask highlighting the porosities.
This section includes 5 thresholding methods, with 3 classical algorithms :
And also two advanced options :
Here is an example of a binarization using the Simple threshold method :
After clicking the edit button, a new window opens allowing to choose a threshold using the double slider at the bottom of the 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.
Here is an example of binarization using the smart segmentation method :
Besides the smart segmentation algorithm, the macro-based binarization can be usefull for very complex images binarization.
Morphological operations refine the binary image by cleaning up artifacts and enhancing the separation of porosities.
Available operations are :
Each operation is optional and configurable.
Here's an example of small objects removal using the morphological operations inside the module :
A segmentation is performed here to label individual porosities for further analysis.
Three different segmentation methods are available :
Only one method can be selected at a time.
Additional cleaning of the labeled result can be performed here using a set of post-processing tools.
This section implements 4 different methods :
Here is an example of post process :
This section provides quantitative analysis of the segmented porosities.
It is divided in two different parts :
The right pane lists all available measurements.
The preview button gives a peak of the results inside IPSDK Explorer.
Once a measure is added, they appear on the left side with the possibility to compute two histograms by clicking the checkboxes.
Sieves can be customized under Settings → Sieves → Preferences.
This section defines the type of output results (label images, binary masks, overlays, etc.) to compute and save.
Output type | Description | Example |
---|---|---|
Label image | Returns a label image of the segmented porosities | ![]() |
Color image | Returns the label image as a RGB image | ![]() |
Merge input and color image | Returns the input image blended with the label image in overlay | ![]() |
Input image with contours | Returns the input image blended with the contours of the labels in overlay | ![]() |
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 :
[1] https://en.wikipedia.org/wiki/Porosimetry
[2] https://en.wikipedia.org/wiki/Watershed_(image_processing)