StrataQuest Home › StrataQuest Glossary › Anisotropic filter
BOM Operation

Anisotropic filter

Smoothing that follows edges and lines instead of crossing them

View
Definition
The Anisotropic filter smooths by diffusion: intensity spreads between pixels over a set Diffusion time, the way heat spreads through a plate. Unlike the Gauss filterLoading..., the spreading is not the same in every direction. StrataQuest's engine reduces noise while preserving region edges and lines, and smooths along edges, closing gaps that noise leaves in them. It works from the image Hessian, computed after Gaussian smoothing.
Along edges, not across
Smoothing follows lines and boundaries
Diffusion amplitude C guards edges
Smaller C, stronger edge preservation
Time, not iterations
Diffusion time sets how far smoothing goes
The Gaussian is diffusion too
Equal spreading in every direction gives Gauss

The math, in two registers

Start with the register the Engines Reference speaks in. Anisotropic filter sits in the Basic Operations Module under FiltersLoading.... The reference describes anisotropic diffusion as a way to reduce image noise while preserving significant information such as region edges and lines, and to smooth along the image edges, removing gaps caused by noise. In its example an 8-bit grayscale Rhodamine image goes in and an 8-bit grayscale image comes out.

Two settings show how the engine measures structure. It smooths the image with a Gaussian before calculating the image Hessian, then smooths the Hessian itself, and both standard deviations default to 1. The Hessian is the table of second derivatives at each pixel. In image processing generally, its eigenvectors point along and across a line or edge, which is how a filter can tell "along" from "across".

ParameterDefaultDescription
ImageThe input image. The reference example uses an 8-bit grayscale image.
Diffusion SchemeRotation InvariantThe diffusion scheme used.
Diffusion time5The total diffusion time. A small value may leave some noise unfiltered; a high value may blur the image too much.
Diffusion time step5The size of the diffusion time step.
Standard deviation (for image smoothing)1The standard deviation of the Gaussian smoothing applied before the image Hessian is calculated.
Standard deviation (for Hessian smoothing)1The standard deviation of the Gaussian smoothing of the Hessian.
Diffusion amplitude – C1e-10The conductance parameter: how much each iteration smooths across edges. Smaller values preserve edges more strongly; higher values let smoothing cross edges.
Diffusion amplitude - m1Sets the amplitude of the diffusion smoothing.
Diffusion amplitude - alpha0.001Sets the amplitude of the diffusion smoothing.

Now the textbook register, labeled as such. The best-known anisotropic diffusion is Perona and Malik's, from 1990: ∂I/∂t = div[g(|∇I|) ∇I], where the conductance g falls from 1 toward 0 as the gradient grows, so the flow stalls at edges. That scalar form slows smoothing at an edge but can't steer it along one. Tensor forms, such as Weickert's coherence-enhancing diffusion, replace g with a matrix built from local structure, so intensity flows along lines and hardly across them.

The reference does not say which family StrataQuest's filter belongs to, and never names a method. Its settings (a Hessian, a Rotation Invariant scheme, and amplitudes named C, m and alpha, letters that also appear in Weickert's diffusivity) look like the tensor family, but that is an inference from names, not a documented fact. What the reference does document is the behavior: preserve edges and lines, smooth along edges, close gaps.

An older Anisotropic filter (v1) remains under Legacy, kept for compatibility with older projects. It has the same first five settings and no diffusion amplitudes.

Source: StrataQuest 8.1 Engines Reference, ch. 6.3 (Anisotropic filter pp. 113–115; Bilateral filter pp. 119–120; Gauss filter p. 129; Median filter p. 135; Membrane detector p. 138) and ch. 6.12 (p. 351).

Simplified

Brightness behaves here like heat in a metal plate. Left alone, heat spreads evenly and every sharp boundary softens; that is an ordinary blur. This filter lets brightness spread along edges and lines but hardly across them. Noise fades, boundaries stay, and small breaks in a line can fill in. Diffusion time sets how long the spreading runs: too short leaves grain, too long blurs.

How it differs from Bilateral, in practice and in math

The Bilateral filterLoading... also smooths while keeping edges, but in one pass. Each output pixel is a weighted average of its neighbors, weighted by distance and by intensity difference, inside a window set by Kernel height and Kernel width. Nothing reaches farther than that window. Diffusion generally works step by step instead, handing intensity from pixel to neighbor, so over the Diffusion time its effect can travel beyond any single neighborhood.

The deeper difference is direction. The bilateral weights depend on how far away and how different a neighbor is, not on which way it lies, so the Bilateral filter can keep an edge but has no notion of running along it. The anisotropic engine, per the reference, smooths along edges and removes gaps caused by noise. That makes it the one to try on line-like structures, such as the membranes the Membrane detectorLoading... detects.

The Median filterLoading... is the third edge-keeper in Filters: it conserves certain forms of borders and creates no new gray levels. Because the anisotropic smoothing depends on the image itself, it is not a fixed convolutionLoading..., and in image processing generally a step-by-step diffusion costs more computation than a single pass. The reference gives no timings, so compare on your own images. When the result feeds a thresholdLoading..., judge the smoothing by the mask it produces.

Share This Term
Term Connections