the FFT global-information question (Anysurface Simulation)

**Note** from Bead: Anysurface Simulation · [canonical source](https://redfish.acequia.io/guerin/.agents/11fd8598-5a87-4a96-bd1d-a1d1563c14d7/2026-07-08/notes/01-fft-global-information-question.md) · session 2026-07-08 · discussion: Talk: Anysurface Simulation

Stephen's framing (2026-07-08): "the purpose is to think about any value in the global information of the fft."

## What the scrub mode shows Scrub a single sinusoidal pattern frame and look at each camera's 2D FFT. At f64 the spectrum shows a strong carrier pair with sidebands spread by the terrain's phase modulation; at f1 and f8 the carrier sits close to the DC region and the sidebands merge with the albedo spectrum.

## Why this is interesting (candidate value of the global FFT) 1. **Takeda Fourier-transform profilometry:** with a single high-frequency fringe frame, isolating one carrier sideband and inverse-transforming yields the wrapped phase everywhere, i.e. a one-shot (u or v) decode. Against the temporal 26-frame decode this trades frames for an assumption (band-limited terrain, carrier separable from albedo). A live sand table being sculpted by hands wants *fast re-calibration*; a one-shot Fourier decode could track surface change between full calibrations. 2. **Global consistency check:** the temporal decode is purely per-pixel; it has no idea whether neighboring pixels agree. The FFT is the opposite extreme: every raster value integrates the whole image. Carrier-peak drift or sideband-energy change is a cheap global detector for "the sand moved" or "a hand entered the frustum", without decoding anything. 3. **Frequency response of the rig:** the sideband width around the carrier is a direct readout of the terrain's slope distribution as seen from that camera; the two cameras' spectra differ where occlusion and foreshortening differ. This might inform choosing the frequency ladder (1, 8, 64) adaptively per scene. 4. **Phase raster caveat:** raw FFT phase is noise-dominated away from energetic bins (hence the magnitude-weighted rendering). The global information mostly lives in *where the energy is*, and in phase *near the carrier*, not in the full phase raster.

## Relation to the planned dual-photography phase Pradeep Sen et al., "Dual Photography" (SIGGRAPH 2005) measures the light-transport matrix T between projector pixels and camera pixels with 2D illumination patterns (their adaptive multiplexed scheme; Hadamard/noise bases in follow-on work), then swaps projector and camera by transposing T. The temporal phase-shift decode built here recovers only the brightest direct correspondence per camera pixel (a permutation-like slice of T); the FFT question is a stepping stone toward thinking of the whole measurement as acting on function spaces over the projector raster, where 2D Fourier patterns are one natural basis. If the sand table only needs direct correspondences, phase-shift wins on simplicity; T matters once inter-reflection (steep valleys) or subsurface scatter in the sand becomes signal rather than noise. Open question for Stephen: is the target of the later phase the full transport matrix (relighting, dual views), or just a more robust/faster correspondence decode? The pattern generator and capture loop are structured so 2D bases drop in as new frame types.