[imglib2] Watershed segmentation



Hi All,

I am trying to segment an image using the Watershed class in net.imglib2.algorithm.labeling, using as intensity image a Sobel-transformed version of the original image

I am noticing that in some cases close objects get merged together even though they had two different seeds to begin with and I am unclear as to why this is happening. I thought the point of watershed was expanding the seed regions until they touch, and then separating them so that they don’t mix. Therefore I don’t understand how one region could ever possibly “swallow” an adjacent one.

I have also noticed that the issue gets worse if I use a “larger” structuring element (i.e. 8-connected instead of 4-connected) as input to the watershed.

Any idea about what may be going on?

Thanks in advance for your help,



Hi @federicogh,

sorry that your post hasn’t been answered for so long.

Would you have a minimal example script (e.g. in Groovy) that reproduces this issue? Or is your source code somewhere online? That way it would be easier for others here on the forum to debug this…