Segovia v0.4.0
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), yieldingfloat32 (samples, channels)chunks with the GIL released and resident memory bounded bybatch × (chunk + 2·margin) × channels.pip install segoviaand the crate now ship the compute engine, not just the readers.segovia.SyntheticEphysReaderandsegovia.SyntheticIfcReader— built-in streaming, bounded-memory data simulators (biophysically-grounded extracellular spikes; impedance-flow-cytometry bipolar-Gaussian pulses) behind the sameChunkSourcecontract, with bit-identical output across platforms andground_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'sget_tracesat 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