ERP数据预处理基本流程

  • matlab
  • eeglab
  • 预处理

posted on 28 Feb 2019 under category EEG

实验室最近采集的脑电数据还挺多的,而且很多小伙伴对脑电数据处理的流程还很陌生,因此我想写几篇脑电数据处理的技术文章,从ERP的预处理一直到高级分析,力争做到看完文章之后可以掌握ERP常见分析方法。今天这篇文章是第一篇,主要针对ERP预处理。在正式进行数据处理之前需要安装matlab软件,以及eeglab插件。

Matlab 的下载安装

ACR实验室的小伙伴们可以直接从实验室私有云上下载与自己电脑相应的Matlab版本(私有云下载matlab的路径:/ACR_lab/Documents/软件库/Matlab and toolbox)以及eeglab插件(私有云下载eeglab插件的路径:/ACR_lab/Documents/ERP and EEG/EEGLAB资料)。下载完成后,开始安装,安装教程直接从百度上搜(例如:matlab2014a的安装与激活教程参考: https://jingyan.baidu.com/article/ab69b2709a7e0b2ca6189f10.html)。一般教程上写的都比较清楚,按照上面一步一步操作即可。

eeglab 插件的导入

打开matlab的界面是这样的:

p1

如上图所示,在主页面中间,有一个“设置路径”(set path)按钮,鼠标单击打开之后如下:

p2

在如上图所示的对话框中点击“添加并包含子文件夹”(add with subfolders)按钮,然后在自己的电脑上找到之前从私有云上下载并解压好的eeglab工具包文件夹,将其导入matlab中,然后依次点击“保存”和“关闭”。那么,如何判断你的eeglab插件是否导入成功了呢?可以进行如下操作:

p3

如上图所示,在matlab的命令行窗口键入eeglab并按回车键

p4

如果你按了回车键出现了以上界面,那么恭喜你,安装成功!至此,环境配置任务算是完成了,接下来,就进入预处理的正式流程了。

ERP数据预处理基本流程

此处预处理的基本流程参考自胡理老师实验室的经典流程,即”九步走”流程:

  • 1.导入数据
  • 2.定位电极
  • 3.剔除无用电极
  • 4.重参考
  • 5.滤波
  • 6.分段
  • 7.插值坏导和剔除坏段
  • 8.Run ICA
  • 9.剔除眼动成分等

Step1 导入数据

我们学部脑电设备用的是BP系统,每个被试完成实验之后,电脑上会自动保存3份数据,类型分别是”eeg”,”vhdr”,”vmrk”。 在我们刚刚打开的eeglab窗口中的菜单栏中,点击以下菜单:

p5

点击之后从自己的电脑上寻找储存原始数据的文件夹,然后一路点击”OK”,然后就会出现以下界面:

p6

  • “Filename” 是文件的命名,因为刚刚省去了命名过程,所以此处显示“none”
  • “Channels per frame” 是指当前你导入的这个被试的有效电极点的数目,此处显示有效电极为31个
  • “Frames per epoch” 指的是每段数据的采样点数,因为目前还没有进行分段,因此当前显示的是整个数据的采样点
  • “Epochs” 指的是分段的数目,目前还未分段,所以显示为1
  • “Events” 指的是Mark的数目,此处显示为478,表明该被试一共打了478个Mark
  • “Sampling rate (HZ)” 指的是采样率,此处采样率为1000HZ,表示每隔1ms就打一个点
  • “Epoch start (sec)” 每段数据开始的时间
  • “Epoch end (sec)” 每段数据结束的时间
  • “Reference” 指的是重参考,此处显示为未知
  • “Channel locations” 指的是电极定位,此处显示为未定位
  • “ICA weights” 指的是ICA,还没有run ICA,因此此处显示为No
  • “Dataset size (Mb)” 指的是数据的大小

Step2 定位电极

点击以下菜单:

p7

之后会蹦出如下对话框:

p8

默认点击”OK”即可,随后又会蹦出以下界面:

p9

你可以按照上图中的标志探索一下,之后点击“OK”。

p10

然后,你会发现,Channel locations 由之前的No变为Yes

Step3 剔除无用电极

点击以下菜单:

p11

之后会蹦出如下对话框:

p12

按照上面的顺序操作:先将 Channel range 右边的小方块勾上,然后再点击右边的按钮,会出现如上图所示的长条形对话框,方框里面是所有电极的名称,这时我们需要选上 VEOGHEOG这两个电极(这两个电极分别表示的是垂直眼电和水平眼电,这两个电极的数据在离线数据分析时没有作用,故删除这两个电极点,如果记录的时候只是记录其中一个电极的数据,那么这里就只用选择一个就行),然后一路点“OK”即可。

p13

我们可以发现,电极的数目由之前的31个变为现在的29个

Step4 重参考

点击以下菜单:

p14

之后会蹦出如下对话框:

p15

默认的重参考方式为平均参考。在目前使用的重参考方式中,最常见的是双侧乳突参考和平均参考,至于具体研究当中用哪种参考方式要根据自己研究的主题确定。例如,研究视觉相关的ERP就不要用双侧乳突作为参考,因为视觉由枕区控制,离乳突非常近,如果用双侧乳突作为参考那么算出来的ERP成分就会很小,会严重失真;另外,如果你用的电极帽是32导的那就最好不要使用平均参考了,否则会产生非常大的误差。而对于我们研究情绪的来讲,更多用到的是双侧乳突参考,需要进行如下设置:

p16

首先,将“Re-reference data to channel(s)”左边的小方框给勾上,然后点击这一横排最右边的按钮,接着会蹦出来一个长条形对话框,从框中选择双侧乳突的电极名称“TP9”、“TP10”(如果没有TP9和TP10就选M1和M2)。我这个案例数据中只记录的一侧乳突数据,因此只选择TP10。选上之后一路点击“OK”,就出现如下界面:

p17

可以发现,重参考由之前的未知变成了TP10

Step5 滤波

点击以下菜单:

p18

之后会出现如下界面:

p19

滤波分为高通滤波和低通滤波两步,一般情况下,高通滤波设置为0.1HZ或者0.01HZ,低通滤波设置为40HZ。

注意: 高通滤波和低通滤波要分开跑,不要同时进行!

然后点击“OK”就行

Step6 分段

点击以下菜单:

p20

之后会出现如下界面:

p21

如图所示,点击红框框住的按钮后会出现长条状对话框,框中显示的是Mark的名称。我所选用的例子采用stop-signal范式收集的脑电数据,实验中包含四类Mark。S21和S22分别表示go刺激和nogo刺激出现时的Mark,S31和S32分别表示正确和错误反应。因此我选择了S21和S22作为分段的标准。然后点击“OK”

p22

上面的红框中需要设置分段的起始时间,开始时间要大于200ms(一般设置为500ms或者1000ms,这里以秒为单位),结束时间以自己要计算的脑电成分来定,例如如果要分析LPP就要将时间设置长一点(4S以上),这里我统一用默认参数[-1 2],即以刺激出现之前1000ms到刺激出现之后2000ms作为一段,然后点击“OK”。之后会出现一下界面:

p23

这个步骤就是基线矫正,默认参数是[-1000 0],我们需要将其改为[-200 0],也就是把刺激出现之前的200ms作为基线,之后点击“OK”即可。

p24

可以发现,有几个参数发生了变化。

Step7 插值坏导和剔除坏段

所谓坏导是指在脑电数据收集过程中,由于各种原因(如电极打串了)导致数据记录错误。目前解决这个问题的办法就是插值,就是将这个坏导周边的几个电极点的均值作为该导的数据,丹这一步只能用代码实现,所以这里就不细说。

所谓坏段指的是这一段数据存在反应错误或者数据质量太差,采取的办法就是将这段数据删除,操作如下:

p25

打开之后的界面如下:

p26

如果发现某一段数据存在反应错误或者数据质量太差(漂移非常明显或者满屏都是蓝色等)就鼠标单击左键,这样这一段数据就会变色,然后点右下角的“reject”,那么这段数据就被删除了。这一步需要自己仔细的从头至尾看一遍数据,比较花费时间和精力。

Step8 Run ICA

点击以下菜单:

p27

点击之后,会出来一个对话框,默认即可,直接“OK”,接着电脑就开始跑ICA了(提示:中间有一个“interupt”的按钮千万不要按,按了就终止了!!!)。跑ICA需要10多分钟,可以稍作休息~

Step9 剔除眼动成分等

点击如下菜单:

p28

点击之后会出现很多花花绿绿的脑袋,这个时候就需要根据经验判断哪些成分是眼动、眨眼、头动、坏导…然后将该成分删除

下面,介绍几种经典成分及其判断依据:

  • 眨眼

p29

判断依据:

1.前段分布

2.小方块

3.随机分布

4.低频能量高

5.成分排序靠前

  • 眼漂

p30

判断依据:

1.前段两侧分布,红蓝相对

2.长条状,红蓝相间

3.随机分布

4.低频能量高

5.成分排序靠前,但一般排在眨眼后面

  • 头动

p31

判断依据:

1.周围分布

2.长条状

3.随机分布

4.在单个trail里有非常明显的漂移

注意: 以上经典成分也没有绝对的标准,只是很多前辈总结出来的经验。原则上是,除非有非常大的把握判定为某种成分,否则不轻易删除数据

至此,基于GUI操作的脑电数据预处理就算完成了,接下来将处理完的数据保存起来即可

p32

参考:思影科技培训基础班课件