BIDSLIB::AbstractFormatReader implementation for European Data Format (EDF / EDF+) and BioSemi BDF files. More...


Go to the source code of this file.
Classes | |
| struct | BIDSLIB::EDFChannelInfo |
| Channel-level metadata from the EDF header. More... | |
| class | BIDSLIB::EDFReader |
| The EDFReader reads European Data Format (EDF/EDF+) files and exposes them through the AbstractFormatReader interface. More... | |
Namespaces | |
| namespace | BIDSLIB |
| BIDS dataset reading, writing, path construction, and sidecar metadata handling for iEEG/EEG/MEG. | |
BIDSLIB::AbstractFormatReader implementation for European Data Format (EDF / EDF+) and BioSemi BDF files.
SPDX-License-Identifier: BSD-3-Clause Copyright (c) 2026 MNE-CPP Authors
EDF stores a recording as a fixed-size ASCII header followed by a stream of duration_seconds-long "data records"; inside each record the channels appear in order, with each channel contributing samples_per_record little-endian int16 samples (24-bit integers in a .bdf file). The header additionally lists per-channel physical / digital min / max which BIDSLIB::EDFReader uses to derive the affine calibration that converts the on-disk integers back into the channel's physical unit (volts, microvolts, degrees Celsius, …).
The same parser feeds BIDSLIB::BidsRawData and the mne_edf2fiff converter. Each channel is scaled from its physical dimension (µV, mV) into SI units, as in mne read_raw_edf, so voltages emerge in volts, matching the MNE-CPP FIFFLIB convention. A "Status" or "Trigger" channel keeps the low 17 bits of its value (raw for BDF), as in mne read_raw_edf / read_raw_bdf.
Format reference: Kemp & Olivan, "European data format 'plus' (EDF+)", Clin. Neurophysiol. 114 (2003) 1755–1761; spec at https://www.edfplus.info/specs/edf.html.
Definition in file bids_edf_reader.h.