Documentation for vtkImageAnisotropicDiffusion2D

vtkImageAnisotropicDiffusion2D - edge preserving smoothing.

Super Class: vtkImageSpatialFilter

Description:

vtkImageAnisotropicDiffusion2D diffuses a 2d image iteratively. The neighborhood of the diffusion is determined by the instance flags. If "Edges" is on the 4 edge connected voxels are included, and if "Corners" is on, the 4 corner connected voxels are included. "DiffusionFactor" determines how far a pixel value moves toward its neighbors, and is insensitive to the number of neighbors choosen. The diffusion is anisotropic because it only occurs when a gradient mesure is below "GradientThreshold". Two gradient measures exist and are toggled by the "GradientMagnitudeThreshold" flag. When "GradientMagnitudeThreshold" is on, the magnitude of the gradient, computed by central differences, above "DiffusionThreshold" a voxel is not modified. The alternative measure examines each neighbor independantly. The gradient between the voxel and the neighbor must be below the "DiffusionThreshold" for diffusion to occur with THAT neighbor.

 

See Also:

vtkImageAnisotropicDiffusion3D

 

Methods:

void vtkImageAnisotropicDiffusion2D ()
static vtkImageAnisotropicDiffusion2D *New ()
const char *GetClassName ()
void PrintSelf (unknown & ,vtkIndent )
void SetNumberOfIterations (int )
int GetNumberOfIterations ()
void SetDiffusionThreshold (float )
float GetDiffusionThreshold ()
void SetDiffusionFactor (float )
float GetDiffusionFactor ()
void SetFaces (int )
int GetFaces ()
void FacesOn ()
void FacesOff ()
void SetEdges (int )
int GetEdges ()
void EdgesOn ()
void EdgesOff ()
void SetCorners (int )
int GetCorners ()
void CornersOn ()
void CornersOff ()
void SetGradientMagnitudeThreshold (int )
int GetGradientMagnitudeThreshold ()
void GradientMagnitudeThresholdOn ()
void GradientMagnitudeThresholdOff ()
void ThreadedExecute (vtkImageData * ,vtkImageData * ,int ,int )
void Iterate (vtkImageData * ,vtkImageData * ,float ,float ,int * ,int )

 

Detailed Method Descriptions:

This method sets the number of inputs which also affects the input neighborhood needed to compute one output pixel.

void SetNumberOfIterations (int )

Get the number of iterations.

int GetNumberOfIterations ()

Set/Get the difference threshold that stops diffusion.

void SetDiffusionThreshold (float )
float GetDiffusionThreshold ()

Set/Get the difference factor

void SetDiffusionFactor (float )
float GetDiffusionFactor ()

Choose neighbors to diffuse (6 faces, 12 edges, 8 corners).

void SetFaces (int )
int GetFaces ()
void FacesOn ()
void FacesOff ()
void SetEdges (int )
int GetEdges ()
void EdgesOn ()
void EdgesOff ()
void SetCorners (int )
int GetCorners ()
void CornersOn ()
void CornersOff ()

Switch between gradient magnitude threshold and pixel gradient threshold.

void SetGradientMagnitudeThreshold (int )
int GetGradientMagnitudeThreshold ()
void GradientMagnitudeThresholdOn ()
void GradientMagnitudeThresholdOff ()