Wave 2: Spatial Acuity Validation

DoG E2=0.15 · rg_decay=0.072 · yv_decay=0.014 · fovea=90px · 2026-03-07
What this tests: Scrutinizer's Mode 0 uses a 5-band Difference-of-Gaussians (DoG) decomposition to approximate how spatial resolution degrades with eccentricity. Each band targets a spatial frequency (0.25–4 cpd) and is attenuated by an M-scaling sigmoid derived from Rovamo & Virsu (1979). Higher frequencies are cut at smaller eccentricities — matching the cortical magnification principle that peripheral neurons pool over larger receptive fields, losing fine detail first. We validate these predictions against sine-wave grating screenshots processed through Scrutinizer, and compare the M-scaling cutoff positions against published human contrast sensitivity data.

Tier 1: Must Pass

12 / 16

Tier 2: Should Pass

5 / 5

Tier 3: Stretch

0 / 5
Go

Experimental Stimulus

Model: DoG Band Retention (achromatic)

Each curve shows one DoG frequency band's predicted retention vs eccentricity. The sigmoid cutoffs create a staircase: 4 cpd dies at ~2°, 2 cpd at ~4°, 1 cpd at ~6°, 0.5 cpd at ~9°. The residual (0.25 cpd) survives everywhere — coarse structure is always preserved.

0%20%40%60%80%100%10°12°14°Eccentricity (degrees)4 cpd2 cpd1 cpd0.5 cpd0.25 cpd

Rovamo & Virsu 1979 vs Model

Dashed: human contrast sensitivity from Rovamo & Virsu (1979), showing smooth decay per frequency. Solid thin: per-band DoG model (step functions — can't reproduce smooth curves by design). Thick white: composite (frequency-weighted sum across bands) — this is the scored metric. Composite declines smoothly and correlates well with Rovamo's integrated sensitivity.

0%20%40%60%80%100%12°16°Eccentricity (degrees)Composite (scored)4 cpd2 cpd1 cpd0.5 cpdsolid = model, dashed = Rovamo

Measured: Cross-Condition Retention (filtered/baseline)

Each point compares the same grating with and without Scrutinizer's filter at each ring. A ratio below 100% means the filter reduced contrast at that frequency and eccentricity. 4 cpd (red) shows the steepest drop — the filter removes fine detail in the periphery, as intended. 0.25 cpd (purple) stays near 100% — coarse structure passes through unchanged.

0%20%40%60%80%100%120%10°12°14°Eccentricity (degrees)4 cpd2 cpd1 cpd0.5 cpd0.25 cpd

Frequency vs Avg Cross-Condition Retention

Averaging across all rings: higher spatial frequencies are attenuated more by the filter. This is the frequency-dependent decay we expect from M-scaling — the filter preferentially removes detail that would be invisible in peripheral vision anyway.

60%70%80%90%100%0.250.5124Spatial Frequency (cpd)99%98%96%87%75%

Tier 1: Must Pass

Observation: Does the filter preserve frequency ordering (higher freq attenuated more) and monotonic eccentricity decay? Model predictions should hold by construction. Measured grating contrast should decrease with eccentricity when processed through Scrutinizer. Note: foveal-relative measurements fail at low frequencies (0.25–0.5 cpd) because the foveal patch is too small for a full grating cycle. Cross-condition retention is the more robust metric.

PASS Ring 1: frequency ordering preserved (4cpd=0%, 2cpd=0%, 1cpd=16%, 0.5cpd=100%, 0.25cpd=100%)
PASS Ring 2: frequency ordering preserved (4cpd=0%, 2cpd=0%, 1cpd=0%, 0.5cpd=68%, 0.25cpd=100%)
PASS Ring 3: frequency ordering preserved (4cpd=0%, 2cpd=0%, 1cpd=0%, 0.5cpd=0%, 0.25cpd=100%)
PASS Ring 4: frequency ordering preserved (4cpd=0%, 2cpd=0%, 1cpd=0%, 0.5cpd=0%, 0.25cpd=100%)
PASS Ring 5: frequency ordering preserved (4cpd=0%, 2cpd=0%, 1cpd=0%, 0.5cpd=0%, 0.25cpd=100%)
PASS band0: monotonic decrease (0% >= 0% >= 0% >= 0% >= 0%)
PASS band1: monotonic decrease (0% >= 0% >= 0% >= 0% >= 0%)
PASS band2: monotonic decrease (16% >= 0% >= 0% >= 0% >= 0%)
PASS band3: monotonic decrease (100% >= 68% >= 0% >= 0% >= 0%)
PASS residual: monotonic decrease (100% >= 100% >= 100% >= 100% >= 100%)
PASS Residual band >90% at all rings (min=100.0%)
FAIL Measured 4cpd: contrast monotonically decreases
FAIL Measured 2cpd: contrast monotonically decreases
PASS Measured 1cpd: contrast monotonically decreases
FAIL Measured 0.5cpd: contrast monotonically decreases
FAIL Measured 0.25cpd: contrast monotonically decreases

Tier 2: Should Pass

Observation: Do the M-scaling cutoff positions match the expected values from Rovamo & Virsu (1979)? E2 = 0.15 for the DoG decomposition means band0 (4 cpd) cuts at 0.15 normalized eccentricity, band1 at 0.45, band2 at 1.05, band3 at 2.25. We also check that chromatic decay respects the achromatic ≥ BY ≥ RG ordering from castleCSF.

PASS band0 cutoff: expected=0.15, actual=0.15 (0% off, threshold=30%)
PASS band1 cutoff: expected=0.45, actual=0.45 (0% off, threshold=30%)
PASS band2 cutoff: expected=1.05, actual=1.05 (0% off, threshold=30%)
PASS band3 cutoff: expected=2.25, actual=2.25 (0% off, threshold=30%)
PASS Achromatic >= BY >= RG at ring 3 band3: achrom=0.0%, by=0.0%, rg=0.0%
SKIP Rendered vs model — requires per-band model mapping (future)

Tier 3: Stretch

Observation: We compute a frequency-weighted composite (sum of band retentions × freq / total freq) and correlate it against Rovamo's frequency-averaged sensitivity. Per-band correlations are shown as INFO — they're meaningless because each band is a step function. The composite captures the model's overall spatial sensitivity envelope. With E2=0.15, bands 0–1 cut at <3°, so the composite drops fast.

FAIL Composite spatial sensitivity correlates with Rovamo & Virsu: r=0.600 (threshold: r>0.9)
INFO band3 (0.5cpd) per-band r=0.600 (not scored — step function vs smooth curve)
INFO band2 (1cpd) per-band r=0.000 (not scored — step function vs smooth curve)
INFO band1 (2cpd) per-band r=-1.000 (not scored — step function vs smooth curve)
INFO band0 (4cpd) per-band r=-1.000 (not scored — step function vs smooth curve)