From Slicer Wiki
Jump to: navigation, search
Home < Documentation < 4.2 < Modules < GradientAnisotropicDiffusion

For the latest Slicer documentation, visit the read-the-docs.

Introduction and Acknowledgements

This work is part of the National Alliance for Medical Image Computing (NA-MIC), funded by the National Institutes of Health through the NIH Roadmap for Medical Research, Grant U54 EB005149. Information on NA-MIC can be obtained from the NA-MIC website.
Author: Jim Miller, GE
Contact: Jim Miller <email></email>


Module Description

Runs gradient anisotropic diffusion on a volume.

Anisotropic diffusion methods reduce noise (or unwanted detail) in images while preserving specific image features, like edges. For many applications, there is an assumption that light-dark transitions (edges) are interesting. Standard isotropic diffusion methods move and blur light-dark boundaries. Anisotropic diffusion methods are formulated to specifically preserve edges. The conductance term for this implementation is a function of the gradient magnitude of the image at each point, reducing the strength of diffusion at edges. The numerical implementation of this equation is similar to that described in the Perona-Malik paper, but uses a more robust technique for gradient magnitude estimation and has been generalized to N-dimensions.

Use Cases

Most frequently used for these scenarios:

  • Use Case 1: Noise reduction as a preprocessing step for segmentation
    • when dealing with single voxel classification schemes running noise reduction as a preprocessing scheme will reduce the number of single misclassified voxels.
  • Use Case 2: Preprocessing to volume rendering
    • Noise reduction will result in nicer looking volume renderings





  • Anisotropic Diffusion Parameters
    • Conductance: Conductance controls the sensitivity of the conductance term. As a general rule, the lower the value, the more strongly the filter preserves edges. A high value will cause diffusion (smoothing) across edges. Note that the number of iterations controls how much smoothing is done within regions bounded by edges.
    • Iterations: The more iterations, the more smoothing. Each iteration takes the same amount of time. If it takes 10 seconds for one iteration, then it will take 100 seconds for 10 iterations. Note that the conductance controls how much each iteration smooths across edges.
    • Time Step: The time step depends on the dimensionality of the image. In Slicer the images are 3D and the default (.0625) time step will provide a stable solution.
  • IO
    • Input Volume: Input volume to be filtered
    • Output Volume: Output filtered

Similar Modules




Information for Developers