anisotropic_diffusion — Perform an anisotropic diffusion of an image.
The operator anisotropic_diffusion performs an anisotropic diffusion on the input image Image according to the model of Perona and Malik. This procedure is also referred to as nonlinear isotropic diffusion. Considering the image as a gray value function u, the algorithm is a discretization of the partial differential equation
The goal of the anisotropic diffusion is the elimination of image noise in constant image patches while preserving the edges in the image. The distinction between edges and constant patches is achieved using the threshold Contrast on the size of the gray value differences between adjacent pixels. Contrast is referred to as the contrast parameter and abbreviated with the letter c.
The variable diffusion coefficient g can be chosen to follow different monotonically decreasing functions with values between 0 and 1 and determines the response of the diffusion process to an edge. With the parameter Mode, the following functions can be selected:
Diffusion coefficient as a function of the edge amplitude.
Default value: 'weickert'
List of values: 'parabolic', 'perona-malik', 'weickert'
Default value: 5.0
Suggested values: 2.0, 5.0, 10.0, 20.0, 50.0, 100.0
Restriction: Contrast > 0
Default value: 1.0
Suggested values: 0.5, 1.0, 3.0
Restriction: Theta > 0
Number of iterations.
Default value: 10
Suggested values: 1, 3, 10, 100, 500
Restriction: Iterations >= 1
J. Weickert; “'Anisotropic Diffusion in Image Processing'; PhD
Thesis; Fachbereich Mathematik, Universität Kaiserslautern; 1996.
P. Perona, J. Malik; “Scale-space and edge detection using anisotropic diffusion”; Transactions on Pattern Analysis and Machine Intelligence 12(7), pp. 629-639; IEEE; 1990.
G. Aubert, P. Kornprobst; “Mathematical Problems in Image Processing”; Applied Mathematical Sciences 147; Springer, New York; 2002.