Adapt watershed to make connections between points

Hi there,

I am processing images of pumice for particle analysis. This means i have a series of binary images which contain glass (black) and void space (white) which accounts for the porosity of my samples.
I need to measure the total perimeter of my bubbles but due to the thin sectioning technique and thin nature of some of the bubble walls I have lost many of the thin bubble walls which reduces the overall “bubble perimeter”
842A63_100_4-connected.tif (192.9 KB)
Above is an original binary image with missing connections, examples of where connections should be made are shown in yellow.

I can apply the watershed to my binary image but this misses connections in some places and adds them where they dont belong in others. See image below.
842A63_100_4-watershed.tif (1.5 MB)

I tried using the Interactive Watershed plugin but found this to be less effective than the seperation achieved by the existing glass walls. Many objects were merged and no new ones created. No matter what I did to the various controls in the plugin.

not sure if I am just using the tools less well than I could be or whether what I want isnt do-able in Fiji…
I know this can be done on 2D and 3D datasets in Avizo using “separate objects” and you can alter the number of connections made by changing the neighborhood and the marker extent (see video but havent got access to this on my laptop.

I have at least 100 images like this so need something that is automated as a) it needs to be repeatable by others and b) i dont have the time to manually re-connect glass wals. Does anyone know how I can get better film reconstruction?



Hi BD,

hm the interactive watershed you use would need an intensity gradient, as in a peak intensity that falls off to the borders:
But the way you describe your problem you do not really have that, or do I misunderstand that?

There are binary watersheds working on the geometry of your objects, but their performance depends on how regular your objects are in shape:

Maybe you can work with those? But in my experience they give problems for irregular shaped objects. Is there any other information in the images that could help your segmentation? Such as texture or is this really just binary images? One can also think of filtering too large or too small objects with shapes that are not really representative for your objects.

Also if it is in the hundreds a manual curation might still be feasible. I would use the ROI manager for manipulating and documenting the change the ROIs then. So your changes are at least transparent to others.

Analyze > Analyze Particles…
Tick add to ROI Manager
You can exclude smaller, too large or irregular objects.

Then you can manually manipulate ROIs there. Here is a short tutorial on how to do that:
CurationManualROIs.pdf (300.9 KB)

If your image miss information generating perfect absolute numbers might be also very tricky. Thus focusing on relative changes, given the treatments are affected by similar error might still generate useful results. If the difference is large enough and one has sufficient numbers of replicates.