[Insight-users] Contracting front in Geodesic Activecontour levelset

Loris Vosilla loris.vosilla at gmail.com
Mon Apr 16 07:04:48 EDT 2007


Hi itk users,

I'm trying to identify the external boundaries of an object that
is placed on a very noisy background.

The approach I would like to follow (and that I implemented)
involves the  application of the levelset geodesic active countour
method initialized outside of the object self and then make the
algorithm to evolve not expanding the front but contracting it in order
to stick on the object edges

My approach then involves then the following steps
-1)I Use a combination of gradiend extraction filter followed by  a sigmoid
    filter to extract the the external object boundaries and put
    this data as FeatureImage of the levelset filter.  The result is
    an image with low values near the object borders and high values
    in other places.
-2) Instead of using the fastmarching algorithm to create the initial
    levelset solution I filled the initial image with two nested quads.
    The outer quad, that doesn't intersect the object, but intersects only
    the background, has value equal to 0.5.  The inner quad that is
    covering the object has values equal to -0.5. What I expect to
    have is the high value quad to contract filling the low value area.
    As soon as the object  boundaries are detected the expansion of
    the high value area should stop and applying the thresholding filter
   should   result in the background and the object external boundaries.
-3) According the itk code I gave to the propagation a negative value since
    I want a front contraction.

My problems are due to the fact that the algorithm doesn't evolve as
expected.
After a lot of iterations (18000 for an image 1280 x 960) the white border
has covered
all the image and no object is visible.  I even tried to change the
propagation sign and value
but without any luck.
The strange thing is that if I create an initial levelset surface with value
equal to -0.5 inside
a small quad and value 0.5 over the resulting image with positive
propagation the algorithm
evolves identifying some edges.
So my questions are:
-) Could you please give me any advice about my troubles ?
-) Do you think the method is correct or you can see any other better method

Thanks in advance for reading and for any help
Regards
-Loris Vosilla
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://public.kitware.com/pipermail/insight-users/attachments/20070416/91141115/attachment.html


More information about the Insight-users mailing list