vtkImageAnisotropicDiffusion3D - edge preserving smoothing.
Super Class: vtkImageSpatialFilter
Description:
vtkImageAnisotropicDiffusion3D diffuses an volume iteratively. The neighborhood of the diffusion is determined by the instance flags. if "Faces" is on, the 6 voxels adjoined by faces are included in the neighborhood. If "Edges" is on the 12 edge connected voxels are included, and if "Corners" is on, the 8 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:
Methods:
void vtkImageAnisotropicDiffusion3D () | |
static vtkImageAnisotropicDiffusion3D *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 ,float ,int * ,int ) |
Detailed Method Descriptions:
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 () |