[Insight-users] Snakes in ITK

Luis Ibanez luis.ibanez at kitware.com
Tue Jul 13 02:34:51 EDT 2004


Hi Ramzy,

You may want to look at the itk::Path object
and its family.


itkChainCodePath.h
itkChainCodePath.txx
itkChainCodePath2D.cxx
itkChainCodePath2D.h
itkFourierSeriesPath.h
itkFourierSeriesPath.txx
itkImageAndPathToImageFilter.h
itkImageAndPathToImageFilter.txx
itkOrthogonallyCorrected2DParametricPath.cxx
itkOrthogonallyCorrected2DParametricPath.h
itkParametricPath.cxx
itkParametricPath.h
itkParametricPath.txx
itkPath.h
itkPath.txx
itkPathAndImageToPathFilter.h
itkPathAndImageToPathFilter.txx
itkPathConstIterator.h
itkPathConstIterator.txx
itkPathFunctions.h
itkPathIterator.h
itkPathIterator.txx
itkPathSource.h
itkPathSource.txx
itkPathToPathFilter.h
itkPathToPathFilter.txx
itkPolyLineParametricPath.h
itkPolyLineParametricPath.txx



In particular you may find useful the PolyLineParametricPath
and the FourierSeriesPath.

Note also that recently a number of classes for deformable
models represented as Simplex meshes were added to the toolkit.

You could consider modifying the classes in

  Insight/Code/Algorithms/
     itkDeformableSimplexMesh3DBalloonForceFilter.h
     itkDeformableSimplexMesh3DBalloonForceFilter.txx
     itkDeformableSimplexMesh3DFilter.h
     itkDeformableSimplexMesh3DFilter.txx

to be used in 2D instead of 3D.



Note that if what you have in mind is to implement
one of those slice-by-slice manual segmentation tools
then you are still on time for not falling down the
cliff and instead implement a native 3D segmentation
tool. That is, you can still present the user with
curves in 2D slices, but then use a full 2D surface
embedded in 3D for computing the surface representing
the boundary of your segmentation.


Note that all the LevelSet algorithms implemented in
ITK can be seen as variations of deformable models
in which the contours are represented as an iso-contour
of an image.  LevelSets have multiple advantages over
Snakes, in particular the fact that you don't have to
deal with the topological structure of the contour.
You will find abundant information on the implementations
of LevelSets available in ITK, in the SoftwareGuide

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





Please let us know if you have further questions,



    Thanks



       Luis



-----------------------

Ramzy Darwish wrote:

> Hello,
> I am looking to use ITK to implement a medical image segmentation tool.
> I am trying to convert an existing application from MATLAB.
> 
> THe existing application uses a Gradient Vector Flow Snake algorithm to 
> segment out an object.
> 
> The user is presented with an image and they are allowed to select a 
> series of points on the image.
> 
> These points are converted to line segments and are used as a 'seed' to 
> the snake algorithm.
> 
> Is there an ITK object that can take as input a series of points, and an 
> image and then perform a snake type algorithm on the image?
> 
> I am very new still and am trying to read the documentation, but I get 
> confused as to the difference between a few of the objects.
> 
> I have looked in to itkDeformableMesh3D, but I don't really understand 
> how it is related to a snake.
> 
> Please excuse my ignorance.
> 
> Thank you in advance,
> ramzy
> 
>




More information about the Insight-users mailing list