第一次用代码做脑电数据预处理遇到的问题/自学脑电分析推荐参考文献

第一次用matlab处理数据、第一次做脑电数据分析、第一次直接用代码进行预处理分析操作……可谓问题百出,好在最后还是“顺利”跑出来了。现把我遇到的问题以及解决办法总结如下:

1、设置路径

脚本设置路径的前两行给了这样的代码:

DIR = fileparts(fileparts(mfilename('fullpath'))); 

Current_File_Path = fileparts(mfilename('fullpath'));

意思是一个用来设置main study directory(主要的研究目录),一个用来设置脚本以及其它要用到的文件所在的路径。

举例:我的路径需要是这样的:

DIR = 'F:\ERP_final_homework\ERN_LRP_data\ERP_CORE-master\ERN';

Current_File_Path = 'F:\ERP_final_homework\ERN_LRP_data\ERP_CORE-master\ERN\EEG_ERP_Processing';

一会要用到的所有被试的文件夹都在ERN文件夹下面(有初始的脑电数据集和最后存图所用的文件夹,预处理过程中生成的数据集等数据也存在各自被试文件夹下面),而使用的脚本和脚本里要用的文件,比如电极位置、储存着参数的excel等,都在EEG_ERP_Processing里。

69c68539736a49849e507b25e4c453f4.png

6cd300d2a107489cb09109d46649da12.png

PS. 一个可以注意的问题。matlab本身可以在菜单栏里设置路径。我认为这也是很有必要的,特别是如果两次数据分析之间用到的eeglab不一致,建议先点默认。再把用到的文件夹及其子文件添加进去。

639291355248422fa0a503326a39cfcf.png

两步都做好,我的路径就没有问题了~

 

2、可能是路径带来的问题——后面的代码运行完,前面定义的变量就消失了…

事情是这样的:

做循环前要定义一个被试变量:

SUB = {'18', '32'}

原脚本是1-40,即有40名被试。我只分析两名被试的数据:18号和32号。

到目前为止我设置了三个变量:DIR、Current_File_Path和SUB。

接下来是做循环,以第一个脚本为例(一套预处理流程的脚本作者按步骤分解为多个脚本),这个脚本用来加载数据、移动刺激事件出现潜伏期(考虑了电脑传输刺激的时间)、降低采样率、重参考、电极定位、滤波等:

for i = 1:length(SUB)

    %Open EEGLAB and ERPLAB Toolboxes

    [ALLEEG EEG CURRENTSET ALLCOM] = eeglab;

    %Define subject path based on study directory and subject ID of current subject

    Subject_Path = [DIR filesep SUB{i} filesep];

    %Load the raw continuous EEG data file in .set EEGLAB file format

    EEG = pop_loadset( 'filename', [SUB{i} '_ERN.set'], 'filepath', Subject_Path);

    [ALLEEG EEG CURRENTSET] = pop_newset(ALLEEG, EEG, 1, 'setname', [SUB{i} '_ERN'], 'gui', 'off'); 

……(省略)

这里放入了数据载入之前的代码。问题就出在前面——第二步,eeglab一跑完,我开始设置的三个变量全没有了,提示我没有定义SUB……(无语时间)

解决办法1:我把开启eeglab这句代码注释掉,可以顺利跑下来,但后面做ICA时还是遇到了问题(见下文),所以不敢再改原作者的代码了。

解决办法2:但是第二次跑按照第1点里设置好路径问题这个问题就不存在了~

 

3、第一次ICA跑完之后,画出的地形图是空白。

提示:

error: no ICA data for this set, first run ICA

等于前面都白玩了。我怀疑是我对前面代码的改动导致的或多或少存在的问题。于是第二次跑,我不再注释掉eeglab。在路径那里也做了调整(见第1点)。

这些问题都处理之后,ICA的地形图自然就出来啦~~

68baf28553c4419c9c0c8b80301bb05a.jpg

 开心.jpg

 

PS. 后来请教师姐,eeglab这行代码是可以注释掉的。那么我猜问题可能是matlab本身路径那里没设置好,因为电脑里本来就存在其它版本的eeglab,以前也运行过,而且不小心添加了好多文件夹进去,可能路径太多了,前后会有些干扰?(持续学习中……有些不懂的问题还希望以后会慢慢逐个击破吧~)


参考文献:

Kappenman ES, Farrens JL, Zhang W, Stewart AX, Luck SJ. ERP CORE: An open resource for human event-related potential research. Neuroimage. 2021;225:117465. doi:10.1016/j.neuroimage.2020.117465

脚本取自网站(见参考文献):

https://github.com/lucklab/ERP_CORE

数据取自网站(见参考文献):

https://doi.org/10.18115/D5JW4R

 

  • 2
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值