Fast-Look Interactive Transient Suite.
FLITS is browser-based FRB analysis software for interactive burst
inspection, masking, measurement, DM optimization, temporal/spectral
diagnostics, and export. It reads SIGPROC filterbank (.fil),
PSRFITS search/fold data (.fits, .sf), and CHIME/FRB HDF5 (.h5, .hdf5)
including public catalog waterfalls and beamformed BBData
tiedbeam_power files. The I/O layer is pluggable — third parties can
register custom formats via importlib entry points without forking.
The same measurements are available without a browser: flits measure runs
masking, burst localization, and measurement over one file or many and writes
JSON or CSV, and the BurstSession Python API exposes every step the interface
offers. The selected analysis state is recorded in a JSON session snapshot.
Given the snapshot and original data, flits replay restores the selections
and recomputes supported measurements.
The guided GBT workflow walks through the selections and results shown in the interface. The synthetic PSRFITS and CHIME walkthrough demonstrates their loading-DM conventions, measurements and replay. The validation summary describes the numerical comparisons, acceptance tolerances and tested limits.
Measuring a detected burst involves selecting an event window and noise reference, masking interference, choosing a frequency range, and refining the dispersion measure (DM). These choices affect the resulting measurements and must be preserved to interpret and reproduce them.
FLITS was built for a repeater campaign spanning GBT at L and P band, Nançay, Westerbork, Onsala, Stockert, and CHIME. A common reader interface and configurable telescope presets support analysis across their formats and calibration conventions. The session retains the selected state so collaborators can reopen it and recompute supported measurements from the original data. Snapshots and exports record software versions and available source identities for each analysis, preserving the origins of older results during partial recomputation. Historical files without this information remain explicitly unattributed. See the preservation guide for environment archiving and compatibility limits.
FLITS builds on specialist search, data-processing, and analysis packages. It connects measurements through a shared session model with explicit calibration and uncertainty metadata. Flux and fluence estimates without a supplied SEFD uncertainty are flagged as having an incomplete uncertainty budget.
FLITS is not a search pipeline — it starts from a burst you already have.
Install the published package and open a prepared example burst:
pip install flits
flits demoflits demo downloads the public GBT burst from the
guided workflow once
(42 MB, checksum-verified) and opens it in your browser with the guide's
selections and measurements in place.
To work on your own data:
flits --data-dir /path/to/filterbanks --host 127.0.0.1 --port 8123Then open http://127.0.0.1:8123.
Measure bursts from the command line: mask interference, localize the burst, and measure it, for one file or many:
flits measure burst.fil --dm 527.7 # JSON on stdout
flits measure data/*.fil --dm 527.7 --format csv --output results.csv \
--snapshot-dir data/snapshots # one session per burstPin any choice instead of automating it with --event, --offpulse, --band,
or --crop. Each saved session can be opened in the interface for review or
checked with flits replay --check. See
Headless Measurement.
From Python, every step the interface offers is a method on BurstSession:
from flits import BurstSession
session = BurstSession.from_file("burst.fil", dm=527.7, sefd_jy=10.0)
session.auto_mask()
session.auto_localize()
measurements = session.compute_properties()
print(measurements.snr_integrated, measurements.fluence_jyms)flits.measure_burst does the same in one call and returns the record that
flits measure prints. See the
Python API.
The FLITS skill helps Codex, Claude Code, Cursor and Copilot select the existing analysis routines and check their results. In Codex:
Use $skill-installer to install frb-analysis from
https://github.com/DirkKuiper/flits/tree/main/plugins/flits/skills/frb-analysis
In Claude Code:
/plugin marketplace add DirkKuiper/flits
/plugin install flits@flits
The skill follows the Agent Skills standard. See Coding Agents for Cursor and Copilot installation, project-local skills, and verifying that the agent can find FLITS and access your data.
- Browser-based workflow for burst inspection on SIGPROC, PSRFITS, and CHIME/FRB HDF5 data.
- Headless
flits measurecommand andBurstSessionPython API for scripted and batch measurement, with JSON, JSONL, and CSV output. - CHIME support includes public catalog waterfalls and beamformed
BBDatapower products. - Interactive crop, event, off-pulse, spectral-window, and masking controls.
- Automatic burst localization in time and frequency (matched-filter event window, spectral extent, and off-pulse placement in one click).
- Calibrated fluence and peak-flux outputs when an SEFD is available.
- DM optimization using integrated-event S/N and DMphase.
- Temporal-structure, PSD, ACF, and selected-event fits of the fitburst burst model.
- Sub-burst drift rate in MHz/ms from the mask-corrected 2D autocorrelation, cross-checked against a component-centroid regression, with the drift/DM degeneracy reported as the DM offset that would account for the measured slope.
- Weighted Q/U RM synthesis with optional RM-CLEAN, significance and quality diagnostics, and JSON/CSV products — measured in-session from a full-Stokes burst file, or from an externally prepared Q/U spectrum.
- Export bundles and JSON session snapshots for reproducible analysis.
- Full docs: dirkkuiper.github.io/flits
- Getting started: Quickstart
- Guided example: GBT Burst Workflow
- Scripting: Headless Measurement and Python API
- For language-model tools: llms.txt and llms-full.txt; coding agents working in this repository should read AGENTS.md
- Installation and deployment: Installation
- Developer testing: Testing
- Developer publishing: Publishing
The docs cover Python installs, Docker, Apptainer, remote/HPC use, interactive workflow guidance, measurements, DM optimization, temporal/spectral analysis, sub-burst drift, exports, and release procedures.
- PyPI and
ghcr.io/dirkkuiper/flits:latesttrack stable releases. ghcr.io/dirkkuiper/flits:<version>pins an exact release.ghcr.io/dirkkuiper/flits:edgetracks the currentmainbranch for snapshot testing.
If you use FLITS in research, please cite the paper and the software version you used:
- Kuiper, D., Pleunis, Z. & Hessels, J. W. T. (2026), FLITS: an interactive, reproducible workbench for fast radio burst analysis. arXiv:2610.37034 (preprint).
A copyable BibTeX entry is in the citation guide.
The software archive is on Zenodo: doi:10.5281/zenodo.23596340. That DOI always resolves to the latest release; each release also has its own DOI, listed on the Zenodo page, for citing the exact version you used.
Author and citation metadata are in CITATION.cff, which GitHub's "Cite this repository" button turns into APA or BibTeX.
The ASCL entry is currently marked submitted; an assigned ASCL identifier and ADS indexing are not yet confirmed. The canonical project is DirkKuiper/flits, the Fast-Look Interactive Transient Suite for analyzing detected FRBs.
FLITS is released under the GNU GPLv3. See LICENSE.
The interface bundles plotly.js (MIT) so
it works without fetching anything from a CDN; its licence travels with the copy
in flits/web_static/vendor/.
