[Insight-users] Too slow segmentation process!

Luis Ibanez luis.ibanez at kitware.com
Wed Aug 4 07:50:08 EDT 2004


Hi Xujf,


   Where is your input image comming into
   your pipeline ?


So far, you just put one seed points and
with the FastMarching method you are computing
a distance function to this unique seed point.
What you get out of FastMarching is a sphere
of radius 50.


If you feed this into the NarrowBandCurves filter
without providing a "Feature" image, there is not
"real image input" to segment,...

There is no way you could get a segmentation,

     and that is really "too slow"   :-)

It seems that you are missing to call the method

           SetFeatureImage()

and to fabricate the apropriate image to serve as
feature image. Your success with LevelSets will be
closely related to the quality of that feature image.



You should probably read the Chapter on LevelSets
segmentation from the SoftwareGuide

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

and run some of the associated coding examples
available in

     Insight/Examples/Segmentation

to get familiar with the concepts used in LevelSets
segmentation and how they are implemented in ITK.



You will also find useful to experiment first with
the demo applications available in InsightApplications,
in particular with:

    - FastMarchingLevelSetSegmentation
    - ShapeDetectionLevelSetSegmentation
    - GeodesicActiveContoursLevelSetSegmentation



You will find similar methods implemented as VolView
plugins. The source code of the plugins is available
at

       InsightApplications/
                      VoviewPlugins

and the free version of VolView can be downloaded from

    http://www.kitware.com/products/volview.html




Regards,


   Luis


---------------------------------------
xujf wrote:
> Hello,
>    In narrowband segmentation (itkNarrowBandCurvesLevelSetImageFilter), there is a menber function SetInput(). I set the parameter as below: (in Python)
> 
> self.seeds=itk.itkNodeContainerF3_New()
> self.node=itk.itkLevelSetNodeF3()
> self.seedPosition=itk.itkIndex3()
> self.seeds.Initialize()
> self.seedPosition.SetElement(0,90)
> self.seedPosition.SetElement(1,106)
> self.seedPosition.SetElement(2,90)
> 
> self.node.SetValue(-50)
> self.node.SetIndex(self.seedPosition)
> self.seeds.InsertElement(0,self.node)
> 
> self.itkfastmarchingfilter.SetTrialPoints(self.seeds.GetPointer())
> self.itkfastmarchingfilter.SetSpeedConstant(1.0)
> 
> self.itknarrowbandfilter.SetInput(self.itkfastmarchingfilter.GetOutput())
> 
> However, the segmentation process is very slow, it cost more than 20 minuters(my data is (180,216,180)). the segmenataion rusult is also not good.
> I don\'t know if the parameter should be set like that.
> 
> Best Regards!
> xujf 
> 
> 
> ------------------------------------------------------------------------
> 
> _______________________________________________
> Insight-users mailing list
> Insight-users at itk.org
> http://www.itk.org/mailman/listinfo/insight-users






More information about the Insight-users mailing list