无需代码,图文并茂详解EEGLAB中的ERPs数据分析方法

关注“心仪脑”查看更多脑科学知识的分

关键词:太空,脑电实验,文献解读

很多小伙伴在做完脑电实验之后,对如何进行数据处理很是发愁。预处理的步骤还好说,在EEGLAB里面“点点点”就能完成,但是后续的叠加平均等步骤在EEGLAB里面需要通过脚本来实现,得花费大量的时间去学习。本教程将介绍一种ERPs数据分析的方法,该方法无需代码,适用于数据量较小的情况,着急处理数据但来不及学习Matlab脚本编写的小伙伴们也可以参考(本教程基于Windows 11系统,Matlab2020a,EEGLAB v2021.1)。

01导入原始数据(Import data)

File---Import data---Using EEGLAB functions and plugins

无需代码,图文并茂详解EEGLAB中的ERPs数据分析方法_第1张图片

无需代码,图文并茂详解EEGLAB中的ERPs数据分析方法_第2张图片

选择采集数据时对应的厂商以及数据导出时的格式。如果在Using EEGLAB functions plugins里面没有找到对应的数据格式或者厂商,可以在红色框框圈出来的位置(Manage EEGLAB extensions)里面找一下对应的扩展包(比如这里我们以ANT的设备为例,就要选择ANTeepimport v1.13这个扩展包)。

有时候我们会碰到数据导入失败的情况,这时候可以:

①先检查一下自己的数据存储路径里面有没有中文字符,如果有的话就会报错;

小贴士: 无论是数据命名还是数据的存储路径,都不要出现中文,防止一些无法识别或者无法兼容的问题出现,避免不了的话可以用拼音来代替

②如果检查过路径中不存在中文字符且数据命名也不是中文的话,可以查看一下EEGLAB里面的数据导入扩展包有没有更新到最新版本,如果没有的话同样可以在Manage EEGLAB extensions里面进行更新。

无需代码,图文并茂详解EEGLAB中的ERPs数据分析方法_第3张图片

导入成功后可以在EEGLAB的这个GUI界面看到所导入数据的一些基本信息,这里简单介绍一下每一行所代表的含义:

Filename这里显示none,说明导入原始.cnt格式的数据后还没有进行保存,EEGLAB里面进行处理后存储的数据均为.set格式;

Channels per frame代表着采集时所用电极帽的通道数量,这里为32导;

Frames per epoch代表每一个分段的采样点个数,因为此时还没有分段,所以这里显示的采样点总个数,由采样率与采样时间相乘所得;

Epochs表示分段数;

Events表示打上的Mark总数;

Sampling rate(Hz)表示采样率;

Epoch start(sec)和Epoch end(sec)表示分段的开始时间与结束时间;

Reference表示重参考所选择的电极点,这里显示unknown,表示还没有进行重参考;

Channel locations表示电极定位,目的在于让EEGLAB知道每一个通道对应的位置;

ICA weights表示ICA权重,EEGLAB主要采用独立成分分析的算法校正眼电伪迹;

Dataset size(Mb)表示数据集大小。

02电极定位(channel locations)

Edit---Channel locations

无需代码,图文并茂详解EEGLAB中的ERPs数据分析方法_第4张图片

无需代码,图文并茂详解EEGLAB中的ERPs数据分析方法_第5张图片

在做电极定位这一步之前,可以看到电极点的坐标都显示为0,而且画出的2-D图里面所有的电极点都集中在中心的位置,说明电极还没有定位完成。所以需要点击Look up locs查找电极坐标。

无需代码,图文并茂详解EEGLAB中的ERPs数据分析方法_第6张图片

无需代码,图文并茂详解EEGLAB中的ERPs数据分析方法_第7张图片

这里我们选择的是标准10-5的电极坐标定位,点击OK之后可以发现,每一个通道的坐标数值都显示了出来,而且不同的通道位置也与头模对应上了。这样,电极定位这一步就完成了。

03删除无用通道

Edit---Select data

在Channel range这一行选择后续数据分析中不需要的通道,注意一定要勾选上on-> remove these的小方框小贴士:如果接下来的重参考采用全脑平均的方式,这里可以选择删除掉双侧乳突M1、M2两个通道;如果后续重参考要以双侧乳突为参考,在这里要保留这两个通道。

无需代码,图文并茂详解EEGLAB中的ERPs数据分析方法_第8张图片

04重参考

Tools---Re-reference the data

无需代码,图文并茂详解EEGLAB中的ERPs数据分析方法_第9张图片

在采集过程中,ANT设备所设置的在线参考点为CPz。我们都知道,脑电记录的都是相对电压值,所以说参考点的电压值越接近于零电势,所采集到的每一个通道的脑电信号就越接近真实电压值。

CPz电极点明显距离零电势很远,由于大脑中容积传导效应的存在,导致在采集过程中邻近CPz的电极点变化很小,因此需要进行重参考这一步,重新选择一个接近于零电势的电极点作为参考点。

无需代码,图文并茂详解EEGLAB中的ERPs数据分析方法_第10张图片

做完重参考之后可以看到,Channels per frame变成了30,而Reference的地方变成了M1、M2,接下来具体看一下脑电信号的变化。

无需代码,图文并茂详解EEGLAB中的ERPs数据分析方法_第11张图片 (重参考前)
无需代码,图文并茂详解EEGLAB中的ERPs数据分析方法_第12张图片 (重参考后)

比较明显的是重参考之前CP1、CP2以及Pz电极点由于距离在线参考点CPz很近,脑电信号变化很小,接近于一条直线;做完重参考之后,可以看到这些电极点的电压值有了明显的变化,而且所有通道都有相似的变化趋势。

05滤波

Tools---Filter the data---Basic FIR filter(new,default)

滤波这一过程是将所选频段范围之外的频率进行衰减,以达到去除脑电信号之外伪迹干扰的目的。具体所选的频段可以参考以往同领域的研究。

无需代码,图文并茂详解EEGLAB中的ERPs数据分析方法_第13张图片

无需代码,图文并茂详解EEGLAB中的ERPs数据分析方法_第14张图片 (滤波后)

将滤波后的脑电信号与重参考后的脑电信号进行对比,明显的变化就是波形图的高频“毛刺”减少,信号更加平滑了。

06分段

分段这里采用ERPLAB小插件创建了一个事件列表,后续依据这个事件列表进行分段处理。

值得注意的是,EEGLAB原始工具包中是不含有ERPLAB这个小插件的,同理可以在manage EEGLAB extensions里面找到这个小插件,直接下载就可以了。

无需代码,图文并茂详解EEGLAB中的ERPs数据分析方法_第15张图片

Step1:创建事件列表(eventlist)

无需代码,图文并茂详解EEGLAB中的ERPs数据分析方法_第16张图片

这里点击Advanced进入到创建的界面,Event Code的地方填上实验设置的Mark数,Bin number的地方按照1,2,3的数字顺序依次往下排列,填好之后点击Update Line就设置好一个Bin。

无需代码,图文并茂详解EEGLAB中的ERPs数据分析方法_第17张图片

Step2:依据Bin分段

点击Extract bin-based epochs按照刚刚设置的Bin进行分段,随后跳出来的弹窗可以选择分段的时间窗。一般来说大部分ERP实验所选的时间窗为-200至800毫秒。

无需代码,图文并茂详解EEGLAB中的ERPs数据分析方法_第18张图片

分段之后最开始的界面出现了些许的变化:Epochs的地方变成了分段的数量,Epoch start与Epoch end变成了分段的开始与结束的时间,即-0.2至0.8秒。这里之所以显示0.798,是因为采样率为500Hz(即1秒钟有500个采样点),那么每一个采样点的时间就是0.002秒,因此到最后一个采样点的时间刚好是0.798秒。这时我们发现数据量(Dataset size)小了很多,这是因为分段之后只保留了含有Mark的数据段。

无需代码,图文并茂详解EEGLAB中的ERPs数据分析方法_第19张图片

07Run ICA

Tools---Decompose data by ICA

无需代码,图文并茂详解EEGLAB中的ERPs数据分析方法_第20张图片

跑ICA会花费一些时间,这个过程就让电脑自己运行就好,运行速度取决于电脑的配置以及数据量的大小。

无需代码,图文并茂详解EEGLAB中的ERPs数据分析方法_第21张图片

跑完ICA之后在Classify components using ICLabel中找到Label components,对独立成分进行提取。

无需代码,图文并茂详解EEGLAB中的ERPs数据分析方法_第22张图片

这里出现的30个头图就是通过独立成分分析(ICA)分解出来的30个独立成分。EEGLAB会通过一些内置的算法对ICA分解出来的独立成分进行分类,比如分解出来的独立成分1属于眼电的可能性为97.1%。因为这一步的目的主要是校正眼电伪迹,因此选出来的大概率为眼电成分,基于自己以往的判断经验进行去除就可以。

无需代码,图文并茂详解EEGLAB中的ERPs数据分析方法_第23张图片

无需代码,图文并茂详解EEGLAB中的ERPs数据分析方法_第24张图片

判断好眼电伪迹的成分(这个例子中为1和11)之后,通过Remove components from data去除这两个成分,对眼电伪迹进行校正。

无需代码,图文并茂详解EEGLAB中的ERPs数据分析方法_第25张图片

点击OK之后,在弹出的Confirmation窗口选择Plot single trial,可以看到去除成分之前与之后的信号对比。红色的是去除成分之后的信号,可以看到比较明显的向上突出的眨眼伪迹基本被校正过来了。这说明我们选对了成分,点击Accept就可以进行保存。

无需代码,图文并茂详解EEGLAB中的ERPs数据分析方法_第26张图片

无需代码,图文并茂详解EEGLAB中的ERPs数据分析方法_第27张图片

08叠加平均

ERPLAB---Compute averaged ERPs

无需代码,图文并茂详解EEGLAB中的ERPs数据分析方法_第28张图片

Compute averaged ERPs直接保持默认点击RUN运行就可以了,计算完之后在ERPsets里面多出来一个ERP的数据集,而且Plot ERP的选项不再是灰色的了,表示可以基于这个数据集进行接下来的画图操作。

无需代码,图文并茂详解EEGLAB中的ERPs数据分析方法_第29张图片

无需代码,图文并茂详解EEGLAB中的ERPs数据分析方法_第30张图片

点击PLOT之后就画出了所有通道的ERP波形图,这个例子中偏差刺激所诱发出的P300波形还是比较显著的。

无需代码,图文并茂详解EEGLAB中的ERPs数据分析方法_第31张图片

接下来在ERPLAB中找到ERP Measurement Tool可以提取具体的ERP数据,用于后续的统计分析。

无需代码,图文并茂详解EEGLAB中的ERPs数据分析方法_第32张图片

总结

这里仅总结了EEGLAB的部分功能,在实际数据处理过程中还可能会遇到各种各样的问题。另外,当我们的数据量较大时,这样一步一步点还是比较麻烦的,所以说有机会一定要掌握一些简单的语句和代码,至少看到别人的代码知道如何去更改以供自己使用。

祝大家实验进展顺利,该显著的结果都显著。

全文完结,整理不易,看不完记得收藏,最后希望点赞支持一下!

了解更多,请关注“心仪脑”公众号!

你可能感兴趣的:(脑电技术,脑科学,心理学,学术文献,脑电EEG,数据分析)