Porosity of 2D SEM image of a GDL

Hey Guys,
Happy new year first.
SEM.tif (728.7 KB)
As I am a new user for ImageJ or FIJI, this question may be so simple for some of you guys. I am trying to generate microstructures using stochastic method by MATLAB code. first I want to find the porosity of 2D SEM image of a GDL attached here. Please let me know all steps that I need to follow for measuring the area fraction. As I know these steps are summarized as follows:
1- Drag the image to the software,
2- Set scaling
3- turning it into 8bit image
4- threshold
4- analyse particle
5- computation the area fraction.

First let me know am I right or not?
in the step 4, I don’t know how to do it and does it need to be filtered before thresholding or not? Moreover, void phase or pores should be specified by red color in thresholding or solid phase?
and why it doesn’t show me a reasonable porosity comparable what manufacturer presents?

Thank so much in advance for your efforts.

Best wishes for you too :slight_smile:

For the thresholding / segmentation you could perhaps see whether an ‘Auto Local Threshold’ works well for you (Image > Adjust > Auto Local Threshold).
I had a quick go, Phansalkar and Sauvola seem to work quite nicely on your image. Perhaps after segmentation you need to ‘despeckle’ a bit (Phansalkar example):

Then via Analyze > Set Measurements… you can choose which parameters you want to analyze (area fraction % - so scaling is not really important in this case).
After this press Ctrl+M or navigate in the menu Analyze > Measure to obtain the result:

Will this do for you?

1 Like

Thanks dear Danielle,
Let me first ask you some questions:
1-Why auto local thresholding?
2-what’s difference between auto thresholding and auto local thresholding?
3-Despeckele is implemented to remove small non-desired objects?
4- Area fraction shows the porosity (portion of void phase to the total area)?
Porosity of this kind of GDL presented by manufacturer is 78%. Why this high difference?

Please take a look to the attached images shown my steps to follow your way. Is that right?


Hi Sam,

Apologies for the rather late response, l was away for some time. I hope all is going well!

  1. The autolocal thresholding is not strictly necessary, but l thought it could be good to let you know it is there. In some cases I have benefited quite a bit.
  2. When local thresholding rather than global thresholding is chosen, the threshold of a certain pixel is computed based on a small area around it (size of area can be chosen).
  3. Indeed with despeckle you can remove noise. But it can also affect edges of larger objects. You can have a go and see what happens in your specific image.
    To remove small objects, you can also create a mask from your already segmented image; here you would exclude smaller objects via their size:
    Instead of zero you would enter the minimum size.
  4. Area Fraction - The percentage of pixels in the image or selection that have been highlighted in red using Image>Adjust>Threshold . For non-thresholded images, the percentage of non-zero pixels.”
  5. Do you know how the manufacturer determines the porosity? And if so, do you know whether you can compare their analysis method to your imaging method?