mne-python学习之二 基本数据处理

events=mne.find_events(raw) #找到所有mark标记,返回一个list

这里返回了我们所采集的erp数据(eeg)中的mark数组。其中的events是一个2维的numpy数组,第一列是对应mark出现的时间,最后一列是不同mark的标号。我们把其中出现的前五个mark的信息输出看一下。

mne-python学习之二 基本数据处理_第1张图片

从上面可以看出不同刺激出现的时间以及其标号,也可以看到我们返回的events确实是一个numpy数组。注意mne-python中默认的刺激通道为STI 014,如果你的采集设备指定了其他的通道号,可以进行手动修改。类似下面这样

mne.set_config('MNE_STIM_CHANNEL', 'STI101', set_env=True)
接下来指定坏的通道,挑选感兴趣的通道,指定基线。
mne-python学习之二 基本数据处理_第2张图片

指定我们感兴趣的mark值:


指定时间段:

tmin = -0.2  # start of each epoch (200ms before the trigger)
tmax = 0.5  # end of each epoch (500ms after the trigger)

获得一个条件的时间分段:

mne-python学习之二 基本数据处理_第3张图片

上图的61代表时间段数,63代表通道数,701代表起始时间。

可以通过scipy中的io模块将刚才的时间段数据保存成.mat文件,用于进一步分析。


在这里epochs_data11是mat文件的文件名,epochs_data是这个mat文件中矩阵的名字。

或者也可以将时间段数据全部保存成.fif文件,之后可以方便地进行处理,类似这样:

epochs.save('sample-epo.fif')
saved_epochs = mne.read_epochs('sample-epo.fif')
接下来我们可以画出这些时间段的波形叠加平均,这可能是我们得到的第一个具有一定价值的图形。(虽然我这里的mark是随便选的)

mne-python学习之二 基本数据处理_第4张图片




最基本的mark提取,数据分段,数据叠加先介绍到这里。

你可能感兴趣的:(eeg)