raw, timestamp = ur.MNE_Read_EDF(path)
mne_events, events_dict = ev.MNE_prepare_events(path, timestamp)
epochs = mne.Epochs(raw, mne_events, events_dict, tmin=-0.5, tmax=0.5)
signal = epochs.plot(block=True)
这看起来很简单,但我迷路了。我在 edf 文件中有原始脑电信号,在 csv 文件中有事件。我设法通过这些事件创建了纪元,然后用标记的事件绘制原始信号,但是我需要将其传输到可在 matlab 中访问的文件中。我猜我不能使用 scipy.io.savemat 来做情节吗?我不能简单地将这些文件加载到 matlab 中,因为它以某种方式使纪元不同步,可能是由于平均采样频率。跨国企业不这样做,但必须在 matlab 中进行进一步的分析。非常感谢帮助,我在 MNE 网站上找不到答案。
要获取原始纪元数据,您可以调用纪元类的.get_data()
方法。这将为您提供形状(n_epochs、n_channels n_times(的 3D numpy 数组。
要获取事件数据,您可以使用 find_events
函数,该函数将返回events
:
返回:
事件:数组,形状 = (n_events, 3(
找到的所有事件。第一列包含示例中的事件时间,第三列包含事件 ID。对于输出 ="开始"或"步骤",第二列包含紧接在事件/步骤之前的刺激通道的值。对于输出 = "偏移", 第二列包含事件后 STIM 通道的值 抵消。
实际上,您可能已经在示例中mne_events
了事件数据。
这些数据可以使用您提到的scipy.io.savemat
功能保存。