如何将包含事件的完整原始 EEG 信号保存为 Matlab 文件?

问题描述 投票:0回答:1
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 文件中有原始 EEG 信号,在 CSV 文件中有事件。我设法通过这些事件创建纪元,然后用标记的事件绘制原始信号,但是我需要将其传输到 Matlab 中可访问的文件中。

我猜我不能使用 scipy.io.savemat 来绘制情节?我不能简单地将这些文件加载到 Matlab 中,因为它以某种方式使纪元不同步,可能是由于平均采样频率所致。 MNE 不这样做,但必须在 Matlab 中进行进一步分析。

python matlab mne-python
1个回答
1
投票

要获取原始纪元数据,您可以调用 Epochs 类的

.get_data()
方法。这将为您提供形状的 3D numpy 数组(n_epochs、n_channels、n_times)。

要获取事件数据,您可以使用

find_events
函数,该函数将返回
events
:

退货:

事件:数组,形状 = (n_events, 3)

找到的所有事件。第一列包含样本中的事件时间,第三列包含事件 ID。用于输出 =“onset”或“step”,第二列包含紧接事件/步骤之前的刺激通道的值。对于输出 = ‘offset’, 第二列包含事件发生后刺激通道的值 偏移。

实际上,您的示例中的

mne_events
中可能已经有事件数据。

这些数据可以使用您提到的

scipy.io.savemat
功能保存。

© www.soinside.com 2019 - 2024. All rights reserved.