Raw frame
— detected spots overlaid in green
SMLM reconstruction
— run localization to reconstruct
Log
Save which window?
Both windows have content — pick which to export.
⚠ Memory-constrained device
Localizations
…more info…
- Filtering —
field op value, joined withand/or(e.g.intensity > 1000 and uncertainty < 20); Enter commits a clause, clauses stack cumulatively. Typeresetto clear all of them. Start typing a field name for autocomplete suggestions (↑/↓ to move, Enter/Tab to accept) — covers both the current table's columns and thetempClusteringXY/tempClusteringZfields below. - sigma_xy / sigma_z —
sigma_xyis the fitted PSF width (average of σx/σy for astigmatic 3D).sigma_z, shown for MLE 3D results, is an approximate z-precision: the fit's own uncertainty on σx/σy propagated through the calibration curve's local slope at the found z — not a full joint fit (z isn't a parameter of the pixel-level fit, σx/σy are), but the best estimate available from what the fit reports. Not available for Phasor 3D. - Temporal clustering —
tempClusteringXY < 10(nm) merges the same molecule's detections into one higher-precision "event" (photon-weighted position, summed intensity, properly combined uncertainty);tempClusteringZ < valueadds the same in z. One threshold per axis (a new value replaces the old). Once active, counts switch from localizations to events and the table gains an nmerged column.tempClusteringMemory <= N(frames, ortempClusteringMemory <= inffor no limit) lets a chain skip up to N frames with no detection and still be extended when the molecule reappears — 0 (default, if never set) requires strictly consecutive frames; it only takes effect once XY or Z is also set. A long or unlimited memory works best on already drift-corrected data (Correct drift first) — matching against a chain's older average position gets less reliable the more real stage drift has accumulated since it was last seen. FRC resolution can get coarser after clustering, not finer — counter-intuitive, but FRC measures achieved image resolution, which depends on point density as well as per-point precision; merging improves the latter but sharply reduces the former (far fewer points), and if that density loss outweighs the precision gain, FRC's number gets worse even though individual events really are more precise. Check the uncertainty column's histogram (not FRC) to see the precision improvement in isolation. - Plot histogram of — draws the chosen column's distribution in the raw (left) panel, over whatever rows currently pass the filters above; the crop tool and typed filters affect it the same way.
Track data
webSMLM — how it works
A proof-of-concept single-molecule localization pipeline that runs entirely in your browser. Nothing is uploaded.
This is a deliberately short in-app guide. For the full reference — every button, control, parameter and module, plus the settings/calibration/CSV file formats and the headless API — see the webSMLM documentation on Read the Docs.
Guided workflow
- Get data. Click Load data for a real
.tif/.tiffstack (or a native Nikon.nd2or camera-generated.fitsfile — the same button also accepts a CSV previously written by Save localisations), or Simulate movie for a test dataset with a known answer (open Simulation to choose the structure, density and physics; Compare to GT then grades your analysis against it). - Set detection & fit. Pick a Fit method first — the relevant parameters follow it. Phasor is the speed option (no iteration); Gaussian (LS) and Gaussian (MLE) trade speed for precision, with MLE reporting a proper per-localization CRLB uncertainty and covering spherical, elliptical, 3D-astigmatic and rotated-elliptical (sSMLM) variants — see the Fit method popup and the full docs for when to use which. Adjust Threshold (k·σ_noise) if too many/few spots are boxed in the raw view, and set σ_PSF to match your spot size.
- Localize. The raw view refreshes live with detected ROIs (green boxes) and accepted localizations as the run progresses; the right panel builds the super-resolution image.
- Explore the result. Set Pixel size (nm) (e.g. 100 or 160) — it defines the physical scale for the scale bar and export. Change Magnification/σ_render to re-render instantly (no refit). Scroll or pinch to zoom, drag to pan, double-click/tap to reset.
- Optional extras. Each remaining sidebar section is a self-contained add-on, opened as needed: Gain & offset estimation calibrates real camera photon units; 3D calibration fits an astigmatic width-vs-z curve for 3D localization; Drift correction & precision removes sample drift (AIM or cross correlation) and reports NeNA/FRC; Pairing for sSMLM or FRET pairs 0th/1st-order localizations from a diffraction grating (or a prism-split donor/acceptor pair); Time traces and FRET finds sites of interest, pairs donor/acceptor channels and reads out DD/DA/AA intensity-vs-time traces; Single-particle tracking links per-frame localizations into trajectories and estimates diffusion coefficients.
Keyboard hotkeys
Hold Alt (the same key macOS labels Option/⌥) to show numbered hints over the action buttons above — tap a digit to click one. Add Shift and the same digits instead open or close one of the sidebar sections below, scrolling to it and focusing its header so the next Tab press lands straight on its first field.
Acknowledgements
- Koen J. A. Martens contributed the uniform box-filter detection method (Huang et al. 2011), the Real-time update live-preview toggle, the wheel-zoom / ctrl+wheel-scrub raw-panel scroll rework, sizing the green ROI box from the actual fit radius (PR #4, v0.9.1), Gain & offset estimation (the PCFO photon-conversion-factor method), and the Simulation module's physically-motivated emitter-lifetime and camera forward models (PR #5, v0.10.2)., and the 0.13.0 simulator — the Zernike-aberrated PSF and 3D simulation, worker-pool frame rendering, the nuclear-pore-complex model and the microtubule cell field from his inSiliScope world model (PR #10, v0.13.0).
- Carlas Smith contributed, on the same pull request, the simulator's photophysics (three-state blinking, brightness spread), structured background, illumination profile and EMCCD camera model, its test-structure library and engineered-PSF presets, and the ground-truth scoring behind Compare to GT (PR #10, v0.13.0).
- Aun Al Atiat contributed the Read the Docs manual build (Sphinx + MyST, splitting
docs/DOCUMENTATION.mdinto a multi-page reference site) (PR #6, v0.11.4). - Hazen Babcock contributed a separable-Fisher-build fast path for the spherical and axis-aligned-elliptical Gaussian MLE fitters — hoisting per-axis erf/exp terms instead of recomputing them per pixel, ~1.7–1.9× faster fitting with bit-identical output (PR #7, v0.11.10) — and identified and diagnosed a real bug in AIM drift correction's second refinement round, which compared each segment against a reference that included the segment itself, silently reducing it to a no-op — with a proposed leave-one-out fix (issue #9, v0.12.1-dev).
License & author
webSMLM © 2026 Hohlbein et al., licensed under the
MIT License.
Versions 0.1.0–0.11.2 remain available under their original CC BY 4.0 terms; this
license applies going forward. Bundled decoders retain their own licenses: UTIF.js and pako
are MIT-licensed; the simulator's microtubule cell field is Koen J. A. Martens's
inSiliScope world model (BSD-3-Clause, notice in the page source).