Anisotropic Diffusion 2D

Authors: Vladimir Pilny (vladimir at
and Jiri Janacek (janacek at
History: 2005/12/01 (v0.1): First version
2005/12/07 (v0.2): Works better with 16-bit images
2006/02/14 (v0.3): Adds "edge threshold height" parameter
Requires: ImageJ 1.34 or later
Limitations: Requires a lot of memory (e.g., 220MB to process a 1.3MB 8-bit image)
Installation: Download Anisotropic_Diffusion_2D.class to the ImageJ plugins folder and restart ImageJ.
Description: This plugin performs anisotropic diffusion filtering on 8-bit, 16-bit and RGB images, with support for ROI and stacks. Processing can be stopped by pressing Esc.


Dialog box parameters:

  • Number of iterations - Maximum number of complete iterations, default value is 20.
  • Smoothings per iteration - Number of smoothings by anisotropic Gaussian with 3x3 mask per iterations, default value is 1. Size of the smoothing per one complete iteration is proportional to the square root of this number.
  • Keep each - Number of iterations between successive savings of the results. Default value is 20.
  • a1 (Diffusion limiter along minimal variations) - a1 influences the shape of the smoothing mask. f1(l1,l2)= (1.0+l1+l2)^-a1. The smoothing in each iteration is defined by a tensor (2x2 matrix), that is linear combination of tensors corresponding to minimal and maximal eigenvalue of structure tensor. f1 and f2 are weights of the tensors (see Tschumperle and Deriche, 2005).
  • a2 (Diffusion limiter along maximal variations) -. a2 influences the shape of the smoothing mask. f2(l1,l2)= (1.0+l1+l2)^-a2.
  • dt (Time step) - Default value is 20. The result of the filter is proportional to the step, but too long time step yields numerical instability of the procedure.
  • Edge threshold height - Defines minimum "strength" of edges that will be preserved by the filter. Default value is 5.
  • Show filter stats - Display filter statistics for each iteration.
  • Show time stats - Display elapsed times.
  • Add labels - Add labels to output stack. Double click on the eye dropper tool to set the label color.
Based on CImg Library by David Tschumperle ( The algorithm used by this plugin is an implementation of Anisotropic Diffusion from "Vector-Valued Image Regularization with PDE: A Common Framework for Different Applications" by David Tschumperle and Rachid Deriche.

8-bit Example RGB Example

See Also: Anisotropic Diffusion plugin

|Plugins | Home |