gpt4 book ai didi

Python MNE - 从数组中读取 EEG 数据

转载 作者:太空宇宙 更新时间:2023-11-03 12:06:03 25 4
gpt4 key购买 nike

我有以 3D numpy 数组(纪元 * channel * 时间点)形式出现的 EEG 数据。 timepoint 是一个包含每个采样时间点的 256 元素数组(总共 1s,256Hz)。 epoch 是一个实验性的试验。

我正在尝试将 numpy 数组导入 Python-MNE ( http://martinos.org/mne/stable/mne-python.html) 可以理解的形式,但我遇到了一些麻烦

首先,我不确定是否应该将此原始数据导入为 RawArray 或 EpochsArray。我尝试了后者:

ch_names = list containing my 64 eeg channel names
allData = 3d numpy array as described above

info = mne.create_info(ch_names, 256, ch_types='eeg')

event_id = 1

#I got this from a tutorial but really unsure what it does and I think this may be the problem
events = np.array([200, event_id]) #I got this from a tutorial but really unsure what it does and I think this may be the problem

raw = mne.EpochsArray(allData, info, events=events)

picks = mne.pick_types(info, meg=False, eeg=True, misc=False)

raw.plot(picks=picks, show=True, block=True)

当我运行它时,我得到一个索引错误:“数组的索引太多”

最终我想对数据进行一些 STFT 和 CSP 分析,但现在我需要一些帮助来进行初始重组和导入 MNE。

导入此 numpy 数据的正确方法是什么,可以最轻松地完成我的预期分析?

最佳答案

有什么方法可以将您从 EEG 设置中获取的数据转换为 .fif 格式? MNE 页面在其教程中提到的“原始”数据格式是 .fif 格式文件。如果您可以将您的脑电图数据转换为 .fif 格式,那么您几乎可以按照教程一步一步来...

将各种其他 EEG 文件格式转换为 .fif 的函数:http://martinos.org/mne/stable/manual/convert.html

如果那不是一个选择,这里有一些想法:

  • EpochsArray()看起来是正确的函数,因为它需要一个形状为 (n_epochs, n_channels, n_times) 的数据数组。为确保万无一失,请检查 allData 数组的形状是否与 np.shape(allData) 匹配。

  • 在相关说明中,EpochsArray() 的帮助页面提到了 mne.read_events()但最大的问题是您的事件数据可能存储在何处以便您能够读取它...

  • 根据您链接的教程,如果您从 .fif 文件开始,获取“事件”的方法似乎是:events = mne.find_events(raw, stim_channel='STI 014')。这让我想知道你的 numpy 数组中是否有超过 64 个 channel ,而你的 channel 之一实际上是一个刺激 channel ......如果是这种情况,你可以尝试将该刺激 channel 提供给 mne.read_events() 功能。或者,您的 stim 或事件 channel 可能是一个单独的数组或者可能未处理?

希望这至少能有所帮助,祝你好运!

关于Python MNE - 从数组中读取 EEG 数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31954245/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com