Spike inference from calcium imaging traces, driven by a multistate GCaMP kinetic model that generates the synthetic data its decoders are trained on.
No providers recorded yet. Browse all providers
Two-photon calcium imaging records activity from thousands of neurons at once, but what it measures is fluorescence from a genetically encoded calcium indicator, not the action potentials researchers actually want. Recovering spikes from those traces has largely been treated as a supervised learning problem: fit a decoder to paired electrophysiology-and-imaging ground truth, then apply it. That ties every decoder to the indicator, cell type, and imaging conditions of whichever ground-truth dataset happened to exist, and it breaks down where the indicator's own molecular kinetics depart from the simple exponential decay most inference methods assume.
C-SPIKES — Calcium Spike Processing using Integrated Kinetic Estimation and Simulation — comes from the Wang lab at Princeton University with collaborators at Institut Pasteur. It splits the problem in two. First, an indicator's calcium response kinetics are measured directly and fitted to a multistate model of GCaMP; the authors did this for GCaMP6f, jGCaMP7f, and jGCaMP8f using in vitro stopped-flow measurements and brain slice recordings. That characterization exposed kinetic features not previously reported, including use-dependent slowing of fluorescence decay, which introduces systematic errors in linear model-based inference.
Second, the fitted biophysical model becomes a generator. It produces unlimited synthetic fluorescence traces whose spike times are known exactly, and inference models are trained on those. The headline result is that a decoder trained purely on this synthetic data outperforms decoders trained on extensive real experimental recordings — because the synthetic corpus can cover firing regimes and indicator states that no ground-truth dataset samples densely.
The PGAS backend is a compiled C++ extension exposed through pybind11, with a CPU build that uses OpenMP and an optional CUDA build via Kokkos on Linux. Sensor-specific behavior is supplied through constants and parameter files, so a new indicator such as jGCaMP8m is handled by pointing the sampler at different kinetic parameters. The machine-learning path — referred to as BiophysML in the codebase — distills PGAS parameter samples into synthetic training sets and fits a decoder architecture drawn from either the ENS2 or CASCADE families. Inputs are MATLAB .mat files carrying per-trial timestamps and ΔF/F traces, with optional ground-truth spike times for benchmarking. A desktop GUI, command-line scripts, batch pipelines, and a Python API all wrap the same backends, and SLURM job generation is built in for the sampler, which is the expensive component on long recordings. The code is released under GPL-3.0.
The immediate users are systems neuroscience labs that image populations of neurons and need spike trains rather than fluorescence for downstream analyses — connectivity inference, tuning curve estimation, latency measurements, and any comparison against electrophysiology. Because the pipeline exposes several methods behind one interface and accepts a common data format, it is also useful as a benchmarking harness for deciding which inference method suits a particular indicator and frame rate. Groups developing new calcium indicators can characterize kinetics once and immediately obtain a matched decoder.
C-SPIKES reframes spike inference from a data-hungry supervised problem into a two-stage one where the scarce resource is indicator characterization, not paired recordings. The finding that synthetically trained decoders beat those trained on real data is the substantive claim, and it suggests the same pattern may generalize to other imaging modalities whose sensors can be modeled biophysically. The work remains a preprint awaiting peer review, and practical adoption is limited by the sampler's cost on long recordings and by GPU acceleration being available on Linux only.
Much of this page is generated or calculated automatically. Flag anything that looks off and we will re-run it.