Skip to content

Segovia v0.4.0

Choose a tag to compare

@fcarvajalbrown fcarvajalbrown released this 01 Jul 01:39
· 14 commits to main since this release

Segovia v0.4.0 — the streaming preprocessing chain, built-in data simulators, and bounded-memory online-latency benchmarks.

Highlights

  • reader.preprocess(...) — the streaming bandpass → common-median-reference → whiten chain on every reader (SpikeGLX / Zarr / .cbin), yielding float32 (samples, channels) chunks with the GIL released and resident memory bounded by batch × (chunk + 2·margin) × channels. pip install segovia and the crate now ship the compute engine, not just the readers.
  • segovia.SyntheticEphysReader and segovia.SyntheticIfcReader — built-in streaming, bounded-memory data simulators (biophysically-grounded extracellular spikes; impedance-flow-cytometry bipolar-Gaussian pulses) behind the same ChunkSource contract, with bit-identical output across platforms and ground_truth().

Validation

  • Real IBL AP-band Neuropixels data: the SC1 memory gate is a decisive pass (0.99 GB peak, file-size-independent). In the online regime (batch = 1) versus SpikeInterface's get_traces at a 300 ms real-time budget: 100% deadline-adherence at 0.28 GB (Segovia) vs 69.5% at 0.52 GB (SpikeInterface); Segovia also leads on latency, tail latency, and throughput. 41 Python tests + Rust unit tests green; abi3 wheels build on Windows, macOS, and Linux.

Still open

  • The systems paper itself is not written. The IFC leg is a conceptual dual-domain generality demonstration, not an empirically validated IFC model (there is no real IFC corpus for external validity). There is no strictly-causal (single-pass) filter mode yet. Batch throughput ties SpikeInterface — the "faster than SpikeInterface" claim was measured and dropped; the honest win is bounded memory and online latency.

Full Changelog: v0.3.0...v0.4.0