An image has no privileged representation. Each smooth function of it — and the space of such functions is infinite-dimensional — produces a different set of closed loops, and every set is a valid encoding of the same scene. The panels below sample several qualitatively different functions; press + Random function to draw more from the infinite pool. No committee decides which one is correct. A cell and a brain both work without one.
Each panel is the same image after a different function has been applied to it, then turned into closed loops at the same set of threshold levels. Hue maps the threshold level — cool = low intensity, warm = high. Within each panel, loops are drawn one at a time in order from lowest level to highest. Press ▶ Play on any panel to replay just that panel's animation.
The default eight functions cover most of the qualitatively different families — identity, Gaussian, box, median, anisotropic, gamma, posterize and unsharp mask. + Random function draws a fresh random kernel each click and appends another panel: a live sample from an infinite-dimensional space. The loops change but stay inside the same objects every time.
Input is downsampled to max 512px on the longest side for responsiveness.
Increase Threshold levels to see more loops; reduce
Min loop perimeter to include tiny ones too.