[Insight-users] problems with geodesic active contour segmentation

Luis Ibanez luis.ibanez at kitware.com
Fri Nov 6 07:55:39 EST 2009


Hi Sara,

Thanks for your detailed email.

1) It wasn't clear for me, where in the skull you were
    placing the seed points for the FastMarching filter.

    In principle, they should go in the middle of the bone,
    and then you should restrict the Fast marching
    expansion to not go outside of the skull bone border.

    Have you visualized the intermediate output produced
    by Fast marching ?

    That is, the input level set that you are passing to the
    GeodesicActiveContour..


2)  Region based level sets were recently contributed to
     ITK by Kishore Mosaliganti who is with  the team at
     Sean Megason's lab in Harvard:

"Level Set Segmentation: Active Contours without edge"
by Mosaliganti K., Smith B., Gelas A., Gouaillard A., Megason S.
Systems Biology, Harvard Medical School
http://www.insight-journal.org/browse/publication/322
http://hdl.handle.net/1926/1532

      These classes are now in the "Review" directory at:

                Insight/Code/Review

       you can build them by turning on the CMake option
       ITK_USE_REVIEW


3) Could you post a screen shot of the result that you
     are getting so far ?

     It will make easier to figure out the source of the problem.


In general, good ways of debugging a level set segmentation
are:

A) First check that the edge map that you are passing as
     input is as close as possible to a segmentation. This is
     typically the output of the Sigmoid filter.

B)  Star running the Level set for a few iterations, (and then
     increment them progressively).

     This will give you a sense of the progression of the zero
     set front, and tend to illustrate in what regions of the image
     things may be going wrong.


   Regards,


           Luis



--------------------------------------------------------------------------
On Mon, Nov 2, 2009 at 7:55 PM, Sara Rolfe <smrolfe at u.washington.edu> wrote:
> Hello,
>
> I am attempting to find the external outline of a skull in a CT image.  I
> had been using active contours to do this successfully in MATLAB, but now I
> would like to change the implementation to ITK to improve the speed.  So far
> I have followed the GeodesicActiveContourImageFilter.cxx example using an
> extracted exterior outline for my feature image and the fast marching filter
> seeded with these edge points to initialize a distance map.  This does not
> seem to be working correctly since I am either getting (depending on my
> parameter selection) segmentations of large blobs around the skull edge or a
> single contour generally following the skull outline, but quite a bit
> larger.  I have tried the build-in edge feature image with similar results.
>  I have a couple of questions.
>
> 1.  Am I using the correct method to choose my seeds?  Do they need to be
> inside/outside the skull rather than on the edge?  I have tried both
> expansion          directions.
> 2.  Is there a good method to get the segmentation to ignore the internal
> skull edge/brain?  In my MATLAB implementation I used region based contours.
>  Is             there support for something similar in ITK?
> 3.  Is there something else I am doing incorrectly?  Can anyone explain the
> behavior that I'm seeing?
>
> Thanks for your help!
> _____________________________________
> Powered by www.kitware.com
>
> Visit other Kitware open-source projects at
> http://www.kitware.com/opensource/opensource.html
>
> Kitware offers ITK Training Courses, for more information visit:
> http://www.kitware.com/products/protraining.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