2
import os
import numpy as np
import mne

data_folder = '/Users/sheetal/Desktop/emotions'
data_raw_file = os.path.join(data_folder,"sub-01","eeg","sub-01_task-ImaginedEmotion_eeg.set")
raw = mne.io.read_raw_eeglab(data_raw_file)

输出

runfile('/Users/sheetal/Desktop/emotions/sub-01/eeg/code1.py', wdir='/Users/sheetal/Desktop/emotions/sub-01/eeg')
Traceback (most recent call last):

  File "/Users/sheetal/Desktop/emotions/sub-01/eeg/code1.py", line 15, in <module>
    raw = mne.io.read_raw_eeglab(data_raw_file)

  File "/Users/sheetal/opt/anaconda3/lib/python3.8/site-packages/mne/io/eeglab/eeglab.py", line 219, in read_raw_eeglab
    return RawEEGLAB(input_fname=input_fname, preload=preload,

  File "<decorator-gen-222>", line 24, in __init__

  File "/Users/sheetal/opt/anaconda3/lib/python3.8/site-packages/mne/io/eeglab/eeglab.py", line 317, in __init__
    eeg = _check_load_mat(input_fname, uint16_codec)

  File "/Users/sheetal/opt/anaconda3/lib/python3.8/site-packages/mne/io/eeglab/eeglab.py", line 59, in _check_load_mat
    eeg = read_mat(fname, uint16_codec=uint16_codec)

  File "/Users/sheetal/opt/anaconda3/lib/python3.8/site-packages/mne/externals/pymatreader/pymatreader.py", line 78, in read_mat
    raise IOError('The file %s does not exist.' % (filename,))

OSError: The file /Users/sheetal/Desktop/emotions/sub-01/eeg/sub-01_task-ImaginedEmotion_eeg.set does not exist.

我是使用 MNE python 包进行 EEG 信号处理和读取 .set 文件时出错的新手

4

1 回答 1

0

我偶尔会遇到这个问题。

.set & 对应的 .fdt 文件实际上是存在的,但不幸的是 MNE 无法读取这些文件,导致文件未找到错误。

这个问题似乎与EEGLab的生成文件有关,由于其开发不稳定,经常会产生很多错误。

建议:从 EEGLab 重新生成这些文件。


更新

目前,我发现我的问题与 EEGLab 和 Python-MNE 的不兼容版本有关。

以前,我使用 EEGLab 2019.1 生成 .set 文件,使用 Python-MNE 0.20.4 读取这些文件。

后来,EEGLab 发布了最新版本 2021.1 并禁用了 2019.1,这迫使我们使用最新版本。

当我将 EEGLab 2021.1 与不支持最新版本 EEGLab 的 MNE 0.20.4 一起使用时,问题就出现了。

将 MNE 更新到最新的 0.23.4 解决了我的问题。

于 2021-09-25T13:15:46.957 回答