Skip to content

GDF reader incompatible with NumPy >= 2 #12907

@cbrnr

Description

@cbrnr

As reported in our forum here and here, GDF files produce an error with NumPy >= 2 (reproducible e.g. using this dataset):

>>> raw = mne.io.read_raw("/Users/clemens/Downloads/S01_MI/motorimagination_subject1_run1.gdf")
Extracting EDF parameters from /Users/clemens/Downloads/S01_MI/motorimagination_subject1_run1.gdf...
GDF file detected
Traceback (most recent call last):
  File "<python-input-1>", line 1, in <module>
    raw = mne.io.read_raw("/Users/clemens/Downloads/S01_MI/motorimagination_subject1_run1.gdf")
  File "/Users/clemens/Projects/mne-python/mne/io/_read_raw.py", line 180, in read_raw
    return reader(fname, **kwargs)
  File "/Users/clemens/Projects/mne-python/mne/io/edf/edf.py", line 1902, in read_raw_gdf
    return RawGDF(
        input_fname=input_fname,
    ...<6 lines>...
        verbose=verbose,
    )
  File "<decorator-gen-207>", line 12, in __init__
  File "/Users/clemens/Projects/mne-python/mne/io/edf/edf.py", line 294, in __init__
    info, edf_info, orig_units = _get_info(
                                 ~~~~~~~~~^
        input_fname, stim_channel, eog, misc, exclude, True, preload, include
        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    )
    ^
  File "/Users/clemens/Projects/mne-python/mne/io/edf/edf.py", line 538, in _get_info
    edf_info, orig_units = _read_header(
                           ~~~~~~~~~~~~^
        fname, exclude, infer_types, include, exclude_after_unique
        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    )
    ^
  File "/Users/clemens/Projects/mne-python/mne/io/edf/edf.py", line 516, in _read_header
    return _read_gdf_header(fname, exclude, include), None
           ~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/clemens/Projects/mne-python/mne/io/edf/edf.py", line 1446, in _read_gdf_header
    n_events = n_events + ne[i] * 2 ** (i * 8)
                          ~~~~~~^~~~~~~~~~~~~~
OverflowError: Python integer 256 out of bounds for uint8

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions