ITK Pre-Processing Algorithm Wrappers in Python/SmoothingRecursiveGaussianFilter

From FarsightWiki
Jump to: navigation, search

Smoothing Recursive Gaussian Filter

This filter is implemented using the itkSmoothingRecursiveGaussianFilter class in ITK. The filter smooths an image by convolving it with a Gaussian kernel. The actual implementation involves IIR filters, that approximate the convolution operation, but are very fast to implement. Smoothing Recursive Gaussian filter is a good way to remove noise. However, the method also results in smoothing of the edges of the image. For smoothing with edges intact, one should use edge-preserving algorithms such as the Gradient Anisotropic Diffusion Image Filter.

Parameters:

  • 1. Sigma - this refers to the standard deviation of the Gaussian kernel. The value of sigma controls the width of the Gaussian kernel. Larger the value of sigma, larger is the kernel support. In general, the value of the sigma should not be more than the size of objects of interest in the image; otherwise, the important features of the image would be lost. Larger values of sigma tend to smooth the image. For example, Fig. 1, 2, and 3 show the effect of the Smoothing Recursive Gaussian filter on a 2-D image seg_orig, with sigma values of 3, 5, and 7, respectively. As we can see, the smoothing is maximum in the case when sigma = 7.
  • 2. NormalizeAcrossScale - this parameter ensures that the maximum value of the image is maintained across the different scales by appropriate normalization. To turn it on, the value should be 1 (True) and to turn it off, it should be 0 (False).
  • 3. NumberOfThreads - the number of threads that the execution phase of the algorithm should be split into.

Back to main page.

Fig.1 Gaussian smoothed image with sigma = 3
Fig.2 Gaussian smoothed image with sigma = 5
Fig.3 Gaussian smoothed image with sigma = 7
Personal tools