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
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions