Will run the paper’s model from a precomputed lookup table at reduced grid resolution — not a full simulator.
Sliders for signal S, background B and dead time td, with the registered temporal PDF and the predicted count distribution redrawn live, and the Poisson prediction available as an overlay.
A fourth slider shifts the depth-induced delay: the temporal shape slides around the laser period while the count’s mean and variance readout stays frozen. That frozen readout beside a moving curve is the delay-invariance theorem, shown rather than stated — and it holds at a fixed signal and background level, not across a change of scene.
Not built yet, and
deliberately not faked. MaRS is analytic, so this can genuinely run
in a browser from a reduced-resolution table generated by the
paper’s own lookup_generation.py — but a
playground that produced plausible-looking wrong numbers would be
worse than no playground, so it ships when it is right. Everything
it will show is already on the
Theory and
Simulator bands of the
project page as measured figures.
Drag a divider between Poisson-trained and MaRS-trained reconstructions, for both reflectivity and depth.
Both tile sets are
already built and normalised to 720 × 720 in
assets/img/res_refl_* and
assets/img/res_depth_*, so this demo is asset-ready.
Two progress bars generate the same histogram cube from measured timings — a labeled replay of real runtimes, not a live race.
Timings: MaRS 1.01 s vs. gold standard 40.8 s, for a 128×128×1024 histogram cube. The gold standard is correct on every statistic; it is simply not precomputable, which is the whole point of the comparison.
Muted, autoplaying clips from the 20 per-scene video clips, one beside each explanatory section of the main page.
Source clips exist at
video/clips/sNN.mp4 in the project folder. They are
1920 × 1080 with narration audio muxed in, so they need audio
stripped and re-cropping before they can be used as silent web
loops.