eegdash.io.snirf module#

MNE’s SNIRF reader, tolerant of the metadata real deposits leave out.

Each fix wraps one helper of mne/io/snirf/_snirf.py (MNE 1.13, unchanged on main as of 2026-10-15) and is the diff proposed upstream (upstream/snirf.md):

  • TimeUnit / SubjectID missing (on007714, on007719). Both are required by the spec, which gives no default; seconds is assumed (with a warning) and matches the sidecar SamplingFrequency on those files; the id is left empty.

  • LengthUnit / dataUnit spelled out (“millimeter”, “dimensionless”).

  • String fields stored as 2-D arrays (ds007463, ds007473).

  • Time-domain channels have unit FIFF_UNIT_UNITLESS, which Info.set_channel_types (called by MNE-BIDS) does not know (ds006545).

eegdash.io.snirf.fixes()[source]

Patch MNE’s SNIRF helpers (and the unit table) while reading.

eegdash.io.snirf.read_raw_snirf(fname, optode_frame='unknown', **kwargs)[source]

Read a SNIRF file with mne.io.read_raw_snirf() under fixes().