Operators

# coherence_enhancing_diff (Operator)

## Name

coherence_enhancing_diff — Perform a coherence enhancing diffusion of an image.

## Signature

coherence_enhancing_diff(Image : ImageCED : Sigma, Rho, Theta, Iterations : )

## Description

The operator coherence_enhancing_diff performs an anisotropic diffusion process on the input image Image to increase the coherence of the image structures contained in Image. In particular, noncontinuous image edges are connected by diffusion, without being smoothed perpendicular to their dominating direction. For this, coherence_enhancing_diff uses the anisotropic diffusion equation

```  u_t = div(G(u) grad u)
```

formulated by Weickert. With a 2x2 coefficient matrix G that depends on the gray values in Image, this is an enhancement of the mean curvature flow or intrinsic heat equation

```  u_t = div(grad u/|grad u|) |grad u| = curv(u) |grad u|
```

on the gray value function u defined by the input image Image at a time t_0 = 0. The smoothing operator mean_curvature_flow is a direct application of the mean curvature flow equation. The discrete diffusion equation is solved in Iterations time steps of length Theta, so that the output image ImageCED contains the gray value function at the time Iterations * Theta .

To detect the edge direction more robustly, in particular on noisy input data, an additional isotropic smoothing step can precede the computation of the gray value gradients. The parameter Sigma determines the magnitude of the smoothing by means of the standard deviation of a corresponding Gaussian convolution kernel, as used in the operator isotropic_diffusion for isotropic image smoothing.

While the matrix G is given by

```  G_MCF(u) = I - (grad u (grad u)^T)/|grad u|^2
```

in the case of the operator mean_curvature_flow, where I denotes the unit matrix, G_MCF is again smoothed componentwise by a Gaussian filter of standard deviation Rho for coherence_enhancing_diff. Then, the final coefficient matrix

```  G_CED = g_1((l_1-l_2)^2) w_1 (w_1)^T + g_2((l_1-l_2)^2) w_2 (w_2)^T
```

is constructed from the eigenvalues l_1,l_2 and eigenvectors w_1,w_2 of the resulting intermediate matrix, where the functions

```  g_1(p) = 0.001
g_2(p) = 0.001 + 0.999 exp(-1/p)
```

were determined empirically and taken from the publication of Weickert.

Hence, the diffusion direction in mean_curvature_flow is only determined by the local direction of the gray value gradient, while G_CED considers the macroscopic structure of the image objects on the scale Rho and the magnitude of the diffusion in coherence_enhancing_diff depends on how well this structure is defined.

## Parallelization

• Multithreading type: reentrant (runs in parallel with non-exclusive operators).
• Automatically parallelized on tuple level.
• Automatically parallelized on channel level.

## Parameters

Image (input_object)  (multichannel-)image(-array) object (byte / uint2 / real)

Input image.

ImageCED (output_object)  image(-array) object (byte / uint2 / real)

Output image.

Sigma (input_control)  real (real)

Smoothing for derivative operator.

Default value: 0.5

Suggested values: 0.0, 0.1, 0.5, 1.0

Restriction: Sigma >= 0

Rho (input_control)  real (real)

Smoothing for diffusion coefficients.

Default value: 3.0

Suggested values: 0.0, 1.0, 3.0, 5.0, 10.0, 30.0

Restriction: Rho >= 0

Theta (input_control)  real (real)

Time step.

Default value: 0.5

Suggested values: 0.1, 0.2, 0.3, 0.4, 0.5

Restriction: 0 < Theta <= 0.5

Iterations (input_control)  integer (integer)

Number of iterations.

Default value: 10

Suggested values: 1, 5, 10, 20, 50, 100, 500

Restriction: Iterations >= 1

## References

J. Weickert, V. Hlavac, R. Sara; “Multiscale texture enhancement”; Computer analysis of images and patterns, Lecture Notes in Computer Science, Vol. 970, pp. 230-237; Springer, Berlin; 1995.
J. Weickert, B. ter Haar Romeny, L. Florack, J. Koenderink, M. Viergever; “A review of nonlinear diffusion filtering”; Scale-Space Theory in Computer Vision, Lecture Notes in Comp. Science, Vol. 1252, pp. 3-28; Springer, Berlin; 1997.

## Module

Foundation

 Operators