Level set segmentation in general is a method for tracking the evolution of contours and surfaces. This filter uses a multi-step process to define an object in an image file. The image is first smoothed with a Gaussian filter to remove noise, and then the Canny edge detection technique is used to define edges in the image. This program uses the gradient anisotropic diffusion filter for the intial filtering. An image file for an intial model of the filtered image is input, which is moved through a gradient advection field until it locks into the edges of the filtered image.
The input parameters include: the dimension of the file, 2 or 3, the threshold value, which indicates the lowest allowed value in the output image, the variance, which controls the Gaussian smoothing, the weighting for the advection term, the level set isovalue, and the number of iterations for the diffusion.
Usage: itk-CannySegmentationLevelSetImageFilter InputImage InitialModel OutputImage dimension CannyThreshold CannyVariance AdvectionWeight InitialModelIsovalue NumberOfIterations
Below is an example of an image that has been filtered using this technique. Shown are the original image, the ventricle model image used for the level set segmentation, and the output image.