THE GAUSSIAN BLUR

Smooth before you try to see. Convolving with a bell curve kills the noise a detector would mistake for structure — and the 2D blur is secretly two 1D blurs, so it is cheap. This is the first stage the-canny-edge-detector runs before it dares to look.

SOURCE  A. P. Witkin, Scale-Space Filtering, Proc. 8th IJCAI, Karlsruhe, 1983, pp. 1019–1022 — WitkinIJCAI83.pdf (conference paper, no DOI → AMBER). Rendered, not quoted.

Blue Team · builds & defends
3

THE MODEL

A discrete Gaussian kernel: k[i] = exp(−i²/2σ²), then divide by the sum so it totals 1. Radius r = ⌈3σ⌉ captures >99.7% of the mass.

Two claims carry the whole machine: (1) the kernel is separable — the 2D matrix is the outer product k⊗k, so a full 2D pass equals a horizontal 1D pass then a vertical one, dropping cost from O(k²) to O(2k) per pixel. (2) it is low-pass — its coefficients sum to 1, so the DC (average) is preserved with gain exactly 1 while high frequencies are crushed.

5

THE LINEAGE

Smoothing before seeing. This is the-convolution specialised to a bell curve, made separable for speed. It is the first stage of the-canny-edge-detector: blur, then take gradients — otherwise every noise spike becomes a false edge. Grow σ and you climb Witkin's scale-space; the-scale-space stacks these blurs into a σ-continuum.

7

THE WITNESS

Re-runs the full selfcheck() live and reports. It confirms sum-to-1, exact separability, DC-gain 1, and attenuation — and independently flips red the instant the TAMPER (6) forces an un-normalized kernel.

witness idle
The Machine
4

DATA IN  IN ↓

A constructed 64×64 image: a disc plus fixed-seed salt-and-pepper noise. And the kernel parameter σ.

noisy disc (input)
↓ convolve ↓
0

THE PANEL  LIT

kernel…
full 2D pass
1D×1D separable
kernel Σ (DC gain)
separable vs full · max|Δ|
hi-freq amplitude in→out
ops/px full → separable
↓ result ↓
8

DATA OUT  OUT ↓

Smoothed image; DC preserved, checkerboard flattened. The two rendering paths are bit-identical.

boot…
Red Team · attacks & breaks
1

THE ADVERSARY

WALL Real limits of the blur:

• A Gaussian is isotropic — it smears real edges as hard as it smears noise. It cannot preserve a boundary; that is what bilateral / anisotropic filters were invented to fix.

Truncation: cutting the tail at r=⌈3σ⌉ and re-normalizing is an approximation — the true Gaussian has infinite support. Small r biases σ.

Boundaries: zero-padding darkens edges (gain <1 there); the DC-gain-1 guarantee is only exact for interior pixels with full support.

2

THE GRAVEYARD

"Box blur / a plain average is basically the same."

→ A box filter has an oscillating sinc spectrum with negative side-lobes — it can invert and ring high frequencies. Only the Gaussian is monotone low-pass and the sole kernel whose extrema never multiply as σ grows (Witkin).

"2D blur must cost k² work per pixel."

→ Only because the kernel is separable; the panel proves the 2·k path is identical, not merely close.

"Blurring loses the average brightness."

→ Not if Σk=1. DC gain is exactly 1 — the interior mean is preserved to machine epsilon.

6

THE TAMPER

The disclosed planted void: skip the normalization so the kernel sums to ≈2.506 instead of 1. Brightness balloons; the DC-gain check in the WITNESS (7) must catch it.