Skip to content

biosigIO 1.1.6

Choose a tag to compare

@neuromechanist neuromechanist released this 12 Jun 17:52
· 1 commit to main since this release

biosigIO 1.1.6

First release since v1.1.3 (1.1.4 and 1.1.5 were internal version bumps, folded in here).

MEG import: CTF and KIT, alongside FIF

  • CTF/VSM .ds directories now import via read_raw_ctf.
  • KIT/Yokogawa/RICOH .con / .sqd / .kdf now import via read_raw_kit.
  • Recording.from_file dispatches all three (plus .fif) to the MEG importer.

Mixed-rate EDF/BDF (#737)

  • EDFImporter / Recording.from_file now error by default when an EDF/BDF
    mixes sampling rates across channels (e.g. PSG: EEG at 200 Hz + SpO2 at
    12.5 Hz), instead of failing obscurely.
  • Opt in with mixed_rate="resample" to upsample slower channels onto the
    fastest channel's grid for a plotting/ML serving copy. Uses
    resample_poly(padtype="line") to avoid edge ringing; the original per-channel
    rate is recorded in metadata.

Streaming Zarr export

  • New stream_to_zarr converts arbitrarily large recordings in bounded
    memory
    : lazy MNE read → channel-major float32 memmap → per-channel
    resample/quantize/write. Output is byte-equivalent to the in-memory exporter,
    so multi-GB recordings convert without changing the result.

Tests and fixtures

  • Real vendored fixtures: KIT .sqd and CTF .ds (catch-alp-good-f,
    244 ch incl. simultaneous EEG, 1250 Hz).
  • Regression tests for FIF + multi-file split-FIF chains, CTF streaming, and the
    mixed-rate EDF paths. No mocks.

Fixes

  • Preserve importer-loaded events when an events.tsv is unparsable (no onset
    column / missing forced column) instead of wiping them.
  • Log non-benign MEG find_events failures rather than swallowing them.