[Insight-users] Threshold Level Set Segmentation Example

Luis Ibanez luis.ibanez at kitware.com
Fri Aug 11 15:16:01 EDT 2006


Hi Aidin,


I'm assuming that you are refering to the example in the ITK
Software Guide,

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


in section 9.3.4 "Threshold Level Set Segmentation"
pdf-page 587. whose associated source code is in the
directory:


           Insight/Examples/Segmentation/



If that's the case,

                       Please note that the seeds to the
FastMarching filter have an initial time value, that is
currently set to the (-initialDistance), since the speed
is 1.0, units of distance are equal here to units in time
for the time-crossing-map.  With this initialization, the
time crossing map has as oldest time the (-initialDistance)
value only at the seed points. From it, the time increases,
as you pointed out, as a distance function from the seeds.

This makes that the time-crossing-map will have zero values
at the position of the distance map that are equal to
"initialDistance" from all the seed points.

What the Thresold LevelSet filter receives as input is then
an image with negative values inside of the object and positive
values outside of the object.  The "object" being the region
of pixels at distance < initialDistance from the seed points.

Note that the example writes out the output of the FastMarching
filter in lines 373 as "fastMarchingImage.mha".  Please look at
this image with any software that allows you to compute isocontours
(e.g. ParaView, Slicer...) and you can verify the shape and size
of the region that is being passed as an initial level set to the
Threshold segmentation level set.

Note that initializating the Threshold segmentation level set with
seed (isolated pixels), as you suggested, will not work too well,
because the curvature computations in the initial iterations will
make such isolated pixels colapse due to their high curvature.



    Regards,


       Luis


----------------------------------------
Kashigar, Aidin (GE Healthcare) wrote:
> Hello all,
>  
> I have a question about the example provided for 
> ThresholdSegmentationLevelSetImageFilter. The exmaple uses the result of 
> a Fast Marching filter for the seed image of the Threshold Level Set 
> segmentaiton filter. The Fast Marching filter has a speed constant of 1 
> and is therefore just an approximate distance function from the seed 
> points.
>  
> What I don't understand is the reason behind using Fast Marching for the 
> seed image. Why is it not sufficient to send in a binary image of the 
> seed points as the seed image? If only the seed points are required for 
> the filter, can I not set the stopping value for the Fast Marching to 1 
> and get the same result for the segmentation?
>  
> - Aidin
> 
> 
> ------------------------------------------------------------------------
> 
> _______________________________________________
> 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