[Insight-users] ultimate erode set (erode up to object centres)

Richard Beare richard.beare at gmail.com
Thu Jul 23 20:12:08 EDT 2009


Hi,
I'm not sure if this is exactly what you're after, but it might be
close. The "standard" approach for circle splitting that Gaetan
mentioned is to do a distance transform of the blobs and apply a
watershed to the result (or inverse of the result). If the blobs are
perfect circles the DT will be a cone with a well defined peak and
you'll end up with one region per circle.

In practice, of course, things are rarely that simple. The objects
aren't perfect circles, so you end up with a few peaks in the distance
transform per object and therefore break objects up more than you
want. There are a few ways of merging these peaks to reduce the
problem, and these may be what you are after

1)  Require that peaks in the DT must be different by some margin or
else they get merged - you can do this by a kind of top hat filter -
subtract a scalar from the distance map, reconstruct against the
original, take the difference between reconstruction and the original,
threshold this and use the blobs as markers for your watershed.

2) Simply dilate the peaks in the dt and use the resulting blobs as markers.

3) Threshold the distance transform and use the resulting blobs as
markers - this is equivalent to a binary erosion (so see previous
messages about doing this quickly) and will discard small objects by
not giving them a marker.

Probably loads of other options as well.

On Fri, Jul 24, 2009 at 7:55 AM, <lynx.abraxas at freenet.de> wrote:
> Dear Gaëtan Lehmann,
>
>
> Thank You very much for Your answer.
>
> On 23/07/09 22:27:28, Gaëtan Lehmann wrote:
>>> In total I want to create a small program that separates and labels
>>> pores/particles by watersheds.
>>
>> How do you use the ultimated eroded for that task?
>> Usually, the watershed on the distance map is quite good for this task.
>
> Well in the end I want to get the markers for the watershed that lie within a defined distance to be grouped to only one marker (or just one marker of these to be left over).
>
> After thinking more about this, I think using the ultimated eroded and a closing filter for this is wrong. (MAVI docs: http://www.itwm.fhg.de/bv/projects/MAVI/Documents/MAVI.pdf)
>
>>>> I'm looking for a filter that iteratively erodes until only the
>>>> centres are left over. In the mavi docs it's discrribed as: "
>>>> The Ultimate Eroded (Dilated) Set is defined only for MONO images.
>>>> It is the union of all connected components of foreground
>>>> (background)
>>>> pixels that disappear completely in each step of successive erosions
>>>> (dilations) performed on the input image. The structuring element is
>>>> defined
>>>> by the neighborhood, which can be chosen in the dialog."
>>>>
>>>>
>>>> Is there such a filter in ITK? Or can it be implemented easily?
>>>> I couldn't find any hint searching in the user's guide nor in the
>>>> doxygen docs nor in the insight journal.
>>
>> I don't think there is such a filter in ITK. It shouldn't be that hard
>> to implement though, and would make a great contribution to the insight
>> journal!
>
> I'll wait a little more until I got more familiar with ITK but I'd be very happy if I could contribute a little to this great project.
>
> Regards,
> Lynx
>
>
> _____________________________________
> Powered by www.kitware.com
>
> Visit other Kitware open-source projects at
> http://www.kitware.com/opensource/opensource.html
>
> Please keep messages on-topic and check the ITK FAQ at: http://www.itk.org/Wiki/ITK_FAQ
>
> Follow this link to subscribe/unsubscribe:
> http://www.itk.org/mailman/listinfo/insight-users
>


More information about the Insight-users mailing list