| genre | Diffusion |
| status | stable |
| author | Horst Hahn |
| package | MeVisLab/Standard |
| dll | MLFilter1 |
| definition | mlFilter1.def |
| see also | KernelFilter, RecGaussFilter |
| keywords | anisotropic, gaussian, diffusion, edge, preserving, filter, smoothing, enhancement |
The module RecAnisoDiffusion applies a recursive and fast, anisotropic (edge preserving) diffusion filter to an image.
The diffusion is applied using a weighting that depends on the actual and neighboring gray values in each recursion. (The higher the difference, the less the diffusion.) As a result edges with high contrast are preserved.
Use normal mode (i.e. Gaussian weighting) for best results, use wall mode (i.e. no diffusion for gray value difference greater than given parameter).
Find below some images of results and the according filter settings.
Original image. |
Isotropic filter (4x4x4 passes). |
Wall anisotropic filter (s=9, 4x4x4 passes). |
Normal isotropic filter (s=6, 4x4x4 passes). |
The value s is set by the field Tolerance.
| Mode: Enum |
| Passes in x-dir: Integer |
| Passes in y-dir: Integer |
| Passes in z-dir: Integer |
| Tolerance: Float |
Defines the applied diffusion weighting.
The named value s is set by the field Tolerance.
Values:
| Title | Name | Description |
|---|---|---|
| Isotropic | Isotropic | A pixel value is averaged with its direct neighbor, independent of the neighbors gray value. No weighting is applied. |
| Wall | Wall | A pixel value is only averaged with its direct neighbor, if the gray value difference is less or equal to s. |
| Normal | Normal | The degree of diffusion is weighted according to a Gaussian depending on the gray value difference. For small differences, diffusion is close to isotropic. For large differences, diffusion is very low. s specifies sigma of the Gaussian. |
Sets the number of passes in x-direction.
Sets the number of passes in y-direction.