Signal and Sensation

Which Half Matters

A Fourier transform splits an image into sizes and offsets. Throw away the sizes and you can still read it. Throw away the offsets and you cannot.

Open fullscreen →

What it is

A letter, transformed, then rebuilt twice. Once keeping only the phase of every frequency and flattening all the magnitudes to 1. Once keeping the magnitudes and replacing every phase with a random number.

The phase-only version is legible. The magnitude-only version is a smear. Tap for another letter.

How it works

Every frequency in a transform has two parts: how much of it there is, and where it starts. Magnitude is the part everyone looks at, since it’s what a spectrum plot shows and what a compressor allocates bits to. Phase is usually described as the boring half.

It’s the opposite. Magnitudes say what textures are present, phases say where they are, and an image is mostly a statement about where things are.

Flattening every magnitude to 1 says “every texture in equal amount, all in the right place”, which reads as an edge-enhanced version of the original. Randomising the phases says “exactly the right textures, arranged anywhere”, which reads as fabric.

What surprised me

My first measurement said the two halves were about equally good, which is plainly false to look at.

Pixel-by-pixel correlation with the original: phase-only 0.38, magnitude-only −0.35. In magnitude those are near-identical. By that measure the famous result doesn’t exist.

The problem is the instrument. A phase-only reconstruction puts every edge exactly where it belongs but gets the flat regions completely wrong. It looks like a line drawing, and a line drawing doesn’t correlate strongly with a filled shape pixel by pixel. What survived is positions, and positions live in the gradients.

Correlating edge maps instead, at three image sizes:

grid pixels (phase / magnitude) structure (phase / magnitude)
32x32 0.45 / 0.14   3.1x 0.56 / 0.11   5.2x
48x48 0.38 / 0.35   1.1x 0.61 / 0.04   14.7x
64x64 0.33 / 0.42   0.8x 0.62 / 0.02   32.5x

The two measures don’t just disagree about the size of the effect, they move in opposite directions as the image grows. Structure separates the halves more sharply the more pixels it’s given. Pixel correlation gets worse, and by 64x64 it’s gone past useless into wrong, ranking the smear above the legible one.

This is the third or fourth time in this series that a claim I could see plainly refused to show up in the first quantity I reached for. It’s becoming the most repeatable lesson here. Choosing what to measure isn’t preliminary to the experiment, it is the experiment. A number that fails to reproduce something obvious is evidence about the number.

What I would do next

Swap the phases of two different images and keep each one’s magnitudes, then see which picture comes out.