[Insight-users] Re: Active contours without edges

Luis Ibanez luis.ibanez at kitware.com
Tue Jul 27 12:52:18 EDT 2004


Hi Jundong,

I assume that you are refering to the method
described in the paper:


    "Active contours without edges"
     Chan, T.F.; Vese, L.A.
     IEEE Transactions on Image Processing
     Volume: 10 , Issue: 2 , Feb. 2001
     Pages:266 - 277


If this is the case, then,


A) Bad news: No, ITK doens't have
              this method implemented.


B) Good news: It should take one day or two
               to get it done by using the current
               LevelSet framework in ITK.


This could actually be a good homework
assigment for a course in ITK programming   :-)


ITK LevelSet framework give you already the
layer that solve the partial differential
equations (PDEs).

An new implementation of a level set should only
need to specify how to compute the speed image,
and the advection image.

In practice you will have to write two classe:

   1) ActiveContourWithoutEdgesLevelSetFunction
   1) ActiveContourWithoutEdgesLevelSetImageFilter


You will find useful to look at the code of other
lever set methods in Insight/Code/Algorithms, for
example:

- itkCannySegmentationLevelSetImageFilter.h
- itkCurvesLevelSetImageFilter.h
- itkGeodesicActiveContourLevelSetImageFilter.h
- itkGeodesicActiveContourShapePriorLevelSetImageFilter.h
- itkLaplacianSegmentationLevelSetImageFilter.h
- itkShapeDetectionLevelSetImageFilter.h
- itkShapePriorSegmentationLevelSetImageFilter.h
- itkThresholdSegmentationLevelSetImageFilter.h
- itkVectorThresholdSegmentationLevelSetImageFilter.h


and their corresponding Functions:


- itkCannySegmentationLevelSetFunction.h
- itkCurvesLevelSetFunction.h
- itkGeodesicActiveContourLevelSetFunction.h
- itkGeodesicActiveContourShapePriorLevelSetFunction.h
- itkLaplacianSegmentationLevelSetFunction.h
- itkShapeDetectionLevelSetFunction.h
- itkShapePriorSegmentationLevelSetFunction.h
- itkThresholdSegmentationLevelSetFunction.h
- itkVectorThresholdSegmentationLevelSetFunction.h


You should read first the Chapter on LevelSets in the
ITK SoftwareGuide

     http://www.itk.org/ItkSoftwareGuide.pdf

then take a copy of Chang's paper, and go to quite place.
You probably can focus on the (unfortunately unnumbered)
equation in page 272. Where the incrementatl change of the
level set is computed.

Note that you probably want to derive your new class
from the LevelSetSegmentationImageFilter. This filter
already have computed curvatures and gradientes for you.


Wouldn't it be nice if they have published their source
code and data along with the text of the paper ?

Maybe there is something wrong in the world of publishing....



Regards,



    Luis



----------
BTW, If you implement this class and you are willing to
contribute it to ITK, we will be happy to include it
in the CVS repository.



-------------------------------------
Jundong Liu wrote:

> Hi, Luis,
>   I'm wondering if you have implemented Tony Chan's "Active Contours 
> without edges"  in ITK.
> Thanks.
> 
> Best,
> 
> Jundong
> 
>>
> 
> 





More information about the Insight-users mailing list