[Insight-users] Stop flooding pools when "water sheds" would be introduced or use "fill holes" for that

lynx.abraxas at freenet.de lynx.abraxas at freenet.de
Fri Feb 19 03:19:32 EST 2010


On 19/02/10 08:50:47, Richard Beare wrote:
> Hi,
> I think I understand what you're getting at. I think that what you
> want to do is find the first grey level at which a basin meets a
> neighbour and designate members of the basin that are less than that
> as members of your ourput label. It has to be strictly less than,
> otherwise plateaus between basins will be included. I don't recognise
> this offhand as a standard operation or as equivalent to any standard
> combination. I'll have to think about that further. Note that while it
> looks like a useful thing in 1D there is a fair chance that it will
> prove a lot less useful in 2Dor 3D, but it is worth checking out.

Yes,  that's  what  I want. Couldn't have explained it better. I made a few 2D
pic showing the process I'm thinking of. They are attached.

I started with  some  thing  like   gauss-spalts   (gaus-spalt_02-70.png,  the
magenta splat is missing here).  I  used
gimp  to  do this and then used the region growing "magic wand" tool to select
the areas starting from each minimum until the region flooded  another  basin.
The  result gaus-spalt_02-70_loc-min_02.png is what I'm looking for but in 3D.
Pic gaus-spalt_02-70_loc-min_04.png shows the evolution of the filter:
- If my understanding is correct the  watershed  filter  starts  flooding  the
magenta area first.
-  At some time it reaches the level at which the red area starts to be filled
as well and then green
- Just when green and red meet and a watershed would be introduced the  labels
red and green should go in the output.
-  The  flooding goes on an when the red-green pool is just before hitting the
blue one the bleu goes in the output as well.
- Then finally the yellow pool hits the magenta one and then magenta  goes  in
the output.
-  No  further watersheds will be needed so the filter output would not change
further.

In the resulting output each label marks the area in which  every  grey  value
has  a destinct minimum, the local minimum within the area of the label. So as
soon a grey level is reached where  other  extreme  points  are  found  (local
maxima  in 1D, saddel points in 2D and ... points (I don't know their name) in
3D) the growing of the label ends.

I'll ask some mathematician about this. So what would be the  easiest  of  the
three suggestions from You and Gaëtan to get this result?
Why  is  the  fill  holes filter not suitabel for this? In the API doc of fill
holes it says by substraction and thresholding the result one  would  get  the
regions of the local minima. In what way do those regions differ to the ones I
want?


Thanks a lot for looking into this.
Lynx
-------------- next part --------------
A non-text attachment was scrubbed...
Name: gaus-spalt_02-70.png
Type: image/png
Size: 1437 bytes
Desc: not available
URL: <http://www.itk.org/pipermail/insight-users/attachments/20100219/0b85f22a/attachment.png>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: gaus-spalt_02-70_loc-min_02.png
Type: image/png
Size: 3405 bytes
Desc: not available
URL: <http://www.itk.org/pipermail/insight-users/attachments/20100219/0b85f22a/attachment-0001.png>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: gaus-spalt_02-70_loc-min_04.png
Type: image/png
Size: 3233 bytes
Desc: not available
URL: <http://www.itk.org/pipermail/insight-users/attachments/20100219/0b85f22a/attachment-0002.png>


More information about the Insight-users mailing list