Problem in detection of different features in an image

Hello everybody,

I am going to find the pore features of my images by imagej. but it seems that the pores cannot be fully detected by the software (I used Analyze/analyze particles). So does anybody have any idea how to solve it? I really appreciate your help and idea on how to solve the problem.

0001.tif (256.2 KB)
Drawing of 0001.tif (257.7 KB)


Can you share the original image file with us? It might be that your binary image is inverted - so you are selecting the ‘background’ instead. Try to run Edit > Invert on that binary and run Analyze Particles again… Too - what settings are you using in Analyze Particles? You can always double-check the ImageJ User Guide if you are unsure of how commands are working…

Hello @etadobson ,

Well, unfortunately I do not have access to the original image now. However, in these images, I tried to find the features on the binarized and binarized-inverted images. And still there is the error.

11.tif (256.3 KB) 11 inverted.tif (257.8 KB) Drawing of 11 inverted.tif (257.7 KB) Drawing of 11.tif (257.7 KB)


Ok. What EXACTLY are the settings/steps you are using that gives this as output? Without knowing this… we cannot reproduce this error.


On the binarized images, I set the scale by analyze/set scale and then I set the measurements by analyze/set measurements and then using analyze/analyze particles, I ran the program.
Please let me know if I could clearly explain the steps.
analyze particles

@Esha -

Well - your objects seem to be touching… so it’s considering your particles to be large/connected… if you could go back to the raw, original datasets to re-do the pore segmentations (ie - generating these binarized images anew) - that is ideal. Anything that is ‘white’ in your binary image - ie. value 255 - is considered an object-of-interest. So that is the step that was most important - to make sure those ‘white’ pixels only cover the pores… and are ideally individual if those are the measures you need to make. Otherwise - if you are doing a whole population measure - you can just ‘Create Selection’ on the binary and measure that entire region.

Take a step back then. In your image - 0001.tif - the first one you referenced in your original post - what do you consider a ‘pore’ and what is not? What exactly do you want to measure and why?

1 Like

Hi @etadobson ,

Thanks for your comment. in this image the black area is pore and the white area is particles, I need to measure the properties of pores and particles to monitor their changes over time (we have different set of images).
I have a question: So, if there are some particles connected the pore area inside the are CANNOT be detected?

for the segmentation of my images I tried different methods and find the best one that matches the experimental data, so do you suggest me to do the segmentation by the chosen method, or redo the segmentation with a new method?


Do you still have the original images? Could you share them so we can better help you? I cannot say what would be better at this point - keeping this current segmentation result or trying to improve it - without seeing the actual datasets. That is the only way I - or anyone else - can actually, potentially help you in this case.

‘Create Selection’ will select the entire region… but won’t distinguish one pore from another. it’s just considered one, large area. You can look at MorpholibJ to see if there are any other tools that might help you in this case.

But again - I would share with us the original image - at least one for a good example - for us to better help you build an analysis pipeline.

@etadobson ,

here is the original image.
Org-0001.tif (265.6 KB)


Ok. So what is it that you want to segment/measure exactly? The pores? Would those be the little black regions - the circles I highlighted in the zoomed-in image…? This is just to make sure we are on the same page to start.

A first quick pass at using Trainable Weka Segmentation - I got this result (just using the default parameters):

Seems promising… if those little black spots are what you are aiming to detect.

I can say yes but the pores are not just the black dots. the porosity in this image is about 0.5 which is much more than the area shown in the image segmented by trainable weka segmentation.
I have a question: So, if there are some particles connected the pore area inside the are CANNOT be detected?

Well - you can adapt the trainable weka segmentation as you need then… no worries. But might be a better option. So for the ‘holes’ in those regions… it’s not so straightforward using Analyze Particles. You can look at older posts to learn more:

Though I think this might be the solution:

1 Like