[Insight-developers] itkShapeDetectionLevelSetFilter
Blezek, Daniel J (CRD)
blezek@crd.ge.com
Mon, 4 Feb 2002 14:27:48 -0500
Lydia,
Thank you for the example. I used a TimeStepSize of 3, and 450 iterations to get the same
segmentation that you got in my example. The documentation is a little slim on how to choose these
parameters effectively. The algorithm seems to need a large number of iterations to produce any
useful segmentation, even with the band set quite small.
Is there some way of speeding this algorithm up? I think it has great potential for my
segmentation problem, but it's way to slow for interactive use.
Thanks,
-dan
> -----Original Message-----
> From: Lydia Ng [mailto:lng@insightful.com]
> Sent: Friday, February 01, 2002 11:00 PM
> To: insight-developers@public.kitware.com
> Subject: FW: [Insight-developers] itkShapeDetectionLevelSetFilter
>
>
>
> Dan, Jim:
>
> Attached are some results and sample code.
>
> output-1.png: initial seed point inside the square, after 300 iter.
> output-2.png: initial seed point in the background, after 1000 iters.
>
> Missing/faulty ITK components:
>
> [1] This algorithm requires a smoothed gradient such as that
> produced by
> a derivative of Gaussian (DoG) operation. I've updated the docs for
> ShapeDetectionLevelSetFilter to say this.
>
> [2] The only filter that I can find that performs a DoG
> operation is the
> GradientResursiveGaussianImageFilter. However, the output I
> get is a bit
> strange. The functionality of this filter needs to be validated.
>
> A workaround for DoG is to first do a Gaussian smooth and
> then take the
> derivative. I have used DiscreteGaussianImageFilter and
> GradientImageFilter.
>
> [3] DiscreteGaussianImageFilter is bit quirky as it won't compile
> unlesss the input image type is same as the output image type - this
> seems a bit restrictive + it's not documented.
>
> My workaround is to cast the input char image to a double image
> ( via CastImageFilter) before calling DisceteGaussianImageFilter.
>
> [4] There was no ITK component to create an edge image potential.
> I've just checked one in. The filter is called
> EdgePotentialImageFilter
> an takes an input a CovariantVector image which represents
> the gradient
> of an image.
>
> [5] The output level set needs to be binarized (by
> thresholding at zero)
> to produce the output segmentation mask. Currently there is
> no ITK that
> does this. ThresholdImageFilter sets out of range value to an outside
> value while in-range values are passed straight through.
>
> [6] PNGImageIO::Write() doesn't do anything.
>
> - Lydia
>
>
>
> -----Original Message-----
> From: Blezek, Daniel J (CRD)
> Sent: Fri 2/1/2002 8:48 AM
> To: 'insight-developers@public.kitware.com'
> Cc:
> Subject: [Insight-developers]
> itkShapeDetectionLevelSetFilter
>
>
>
> Hi all,
>
> I'm trying to figure out exactly how to use
> the ShapeDetectionLevelSetFilter. I have a small test
> image that I've enclosed (png format). Can
> anyone send me an example of how to get the level set
> code to segment any of the shapes in this image?
>
> Thanks,
> -dan
>
> --
> Daniel Blezek, Ph.D.
> blezek@crd.ge.com
> Visualization and Computer Vision Lab, Imaging
> Technologies
> GE Corporate Research & Development
>
>
>
>
>