This filter computes the convolution of the input image with a Gaussian kernel. A onedimensional Gaussian function is discretized on a convolution kernel. The size of the kernel is extended until ther are enough discrete points in the Gaussian to ensure that a userprovided maximum error is not exceeded.
Usage: itkDiscreteGaussianImage inputImageFile outputImageFile dimension [gaussian variance] [maximum kernel width]
This filter computes a nearest neighbor average along each dimension. The process is repeated a number of times, as specified by the user. A large number of iterations will approach the convolution with a Gaussian. Usage: itkBinomialBlurImage inputImageFile outputImageFile dimension repetitions Below is shown an original image, and a image filtered 1, 2 and 5 times:
Usage: itkRecursiveGaussianImage inputImageFile outputImageFile dimension sigma Below is an original image, and the image filtered with sigma = 1,3,5:
itkGradientAnisotropicDiffusionImage Below is an original image, and an image with conductance = 1.0 and 5.0; timestep = 0.125, iterations = 5:
This filter performs anisotripic diffusion on an image using a modified curvature diffusion equation (MCDE). MCDE does not exhibit the edge enhancing properties of classic anisotropic diffusion. Usage: itkCurvatureAnisotropicDiffusionImage inputImageFile outputImageFile dimension num_iterations timestep conductance Below is an original image, and an image with conductance = 1.0 and 5.0; timestep = 0.125, iterations = 5:
This filter performs edgepreserving smoothing similar to classical anisotropic diffusion. The filter uses a level set formation where the isointensity contours in an image are viewed as level sets, and pixels of a particular intensity form one level set. The level set function is then evolved under the control of a diffusion equation. Usage: itkCurvatureFlowImage inputImageFile outputImageFile dimension num_iterations timestep Below is an original image, and an image with timestep = 0.125, iterations = 5:
This is a variant of the curvature flow filter above. Diffusion is turned on or off depending on the scale of the noise that one wants to remove. The scale is determined by a user defined neighborhood for each pixel, specified by a radius value. Usage: itkMinMaxCurvatureFlowImage inputImageFile outputImageFile dimension num_iterations timestep radius Below is an original image, and an image with radius = 1, timestep = 0.125, iterations = 5 and 20:
This filter performs smoothing using both domain and range neighborhoods. Two Gaussian kernels are used for the smoothing, one in the image domain and one in the image range. The result is an image that is smoothed in homogeneous regions yet has edges preserved. The results are similar to the anisotropic diffusion filter, but the implementation is noniterative. Two parameters are required: A set of sigma values is used along each dimension in space. A second sigma value is used for image range smoothing. Usage: itkBilateralImage inputImageFile outputImageFile dimension domainSigmas rangeSigma Below is an original image, and an image filtered with all sigma values set at 5.0:
itkrgbGradientAnisotropicDiffusionImage
This filter implements an Ndimensional version of the classic PeronaMalik anisotropic diffusion squation for vectorvalued images. Perona and Malik introduced an alternative to linearfiltering, anisotropic diffusion. A gaussian smoothed image is a single time slice of the solution to the heat equation. Anisotropic diffusion uses a variable conductance term for this equation that depends on the structure of the image. The idea here is to limit the smoothing at edges, to keep the images sharp at the edges while smoothing the rest of the image. The vector anisotropic diffusion approach can be applied to color images. Each rgb component is diffused independently. This filter requires the same parameters as the other gradient anisotropic diffusion filters: This images below are doubled in size to show the diffusion after 20 time steps of size=0.05:
itkVectorCurvatureAnisotropicDiffusionImage The images below are doubled in size to show the diffusion after 20 time steps of size=0.05:
