[Insight-users] watershed - touching object separation problem

Marco Bongiovanni marco.bongiovanni.ml at gmail.com
Mon Feb 6 18:10:06 EST 2006


Hi,

Thanks a lot for your answer. I've solved my problem by performing an
anisotropic diffusion filtering before the watershed transform (after the
distance transform) that I didn't do in the previous version.

The watershed lines in the picture are only the filtering result of the
labeled regions image with a sharpening filter. I perform such operation
only for debug purpose, in order to make possible to show the edges without
a gray levels image that, in most cases, it presents closed regions with
very similar intensity values difficult to be distingushed.

P.S. - Is there any method/class to perform this operation in a more
efficent way ?

Thanks.

Marco

Richard Beare wrote:

Hi,
Try creating the raw watershed - i.e with threshold=0 and level=0, to
get an idea of what is happening. With a synthetic image like this
there should be no need to merge regions, so check the raw result. The
results do look strange -  it appears that there is some gradient
operation that causes the edges of the circles to be selected.

The problem may be the style of watershed being implemented in itk -
it is an algorithm that may have problems when there are lots of tied
values.

When doing this kind of operation in the past (not in itk), I would
take the distance tranform of the circles, not the background, which
results in the circles being transformed to peaks and the background
being set to zero. The result image is inverted and the watershed
applied to the result. The right sort of watershed would then do an
implicit distance transform on the flat zone of the background. The
process you have described using the signed distance transform should
be equivalent to this. However if there have been pixel type cast
operations then perhaps artificial edges have been introduced where
the sign of the distance changes.


PS How did you produce the watershed line image from the itk watershed
- I've only produced labelled images?



On 2/5/06, Marco Bongiovanni
<marco.bongiovanni.ml at gmail.com><marco.bongiovanni.ml at gmail.com>wrote:
Hi,

I'm sorry for my english, first of all !
I have to implement a routine to perform cells segmentation over images
representing a varing number of in vitro cultured cells. At the moment, my
target is to separate the touching ones.

To do so, I'm running the ITK watershed algorithm over the distance map
calculated with the SignedDanielssonDistanceMapImageFilter
class. The input for the signed-danielsson filter is a binary image
representing the shapes of the cells (white) and the background (black). The

parameters that I'm using for the watershed filter are: threshold = 0.01 and

level = 0.15.

But.... the problem is the following:

why are touching cells separated from each other around their perimeter
(see attached figure itk_waterlines.jpg - made with ITK) and aren't they
separated by a straight watershed line in the middle (see attached figure
matlab_waterlines.jpg - made with MATLAB) ?
I have already experimented a lot of other parameters combination, but it
doesn't change the main problem.

I'm a novice with ITK, so every suggestion is very welcome.

Thanks.

Marco


_______________________________________________
Insight-users mailing list
Insight-users at itk.org
http://www.itk.org/mailman/listinfo/insight-users
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://public.kitware.com/pipermail/insight-users/attachments/20060207/29cf8e88/attachment.html


More information about the Insight-users mailing list