-
-
Notifications
You must be signed in to change notification settings - Fork 1.4k
Description
Description of the problem
When trying to load GDF files from the BCI Competition IV dataset using mne.io.read_raw_gdf
, the call fails with NumPy ≥1.24 due to deprecated use of np.fromstring
in binary mode.
Steps to reproduce
import mne
import numpy as np
print("MNE:", mne.__version__)
print("NumPy:", np.__version__)
raw = mne.io.read_raw_gdf("B0101T.gdf", preload=True)
Link to data
📂 BCI Competition IV Dataset 2b
Download: Official Dataset Link
The dataset comes as a single zip file BCICIV_2b_gdf.zip
, which contains multiple .gdf
EEG recordings (train/test for all subjects).
Expected results
read_raw_gdf
should work with NumPy ≥1.24.
Replacing np.fromstring
with np.frombuffer
avoids the error.
Actual results
ValueError: The binary mode of fromstring is removed, use frombuffer instead
Traceback points to:
etmode = np.fromstring(etmode, UINT8).tolist()[0]
inside mne/io/edf/edf.py
, _read_gdf_header
.
Additional information
Platform Windows-11-10.0.26100-SP0
Python 3.13.7 | packaged by Anaconda, Inc. | (main, Sep 9 2025, 19:54:37) [MSC v.1929 64 bit (AMD64)]
Executable c:\Users\devdp\anaconda3\envs\brain_to_action\python.exe
CPU 13th Gen Intel(R) Core(TM) i7-13650HX (20 cores)
Memory 15.7 GiB
Core
- mne 1.10.1 (latest release)
- numpy 2.3.3 (unknown linalg bindings (threadpoolctl module not found: No module named 'threadpoolctl'))
- scipy 1.16.1
- matplotlib 3.10.6 (backend=module://matplotlib_inline.backend_inline)
Numerical (optional)
- pandas 2.3.2
- unavailable sklearn, numba, nibabel, nilearn, dipy, openmeeg, cupy, h5io, h5py
Visualization (optional)
- unavailable pyvista, pyvistaqt, vtk, qtpy, ipympl, pyqtgraph, mne-qt-browser, ipywidgets, trame_client, trame_server, trame_vtk, trame_vuetify
Ecosystem (optional)
- unavailable mne-bids, mne-nirs, mne-features, mne-connectivity, mne-icalabel, mne-bids-pipeline, neo, eeglabio, edfio, mffpy, pybv