第一步:导入OPenbci的原始txt文件到matlab里面
第二步:选择我们所需要的矩阵类型(数值矩形)并选取16个通道
第三步:将文件行列转置(eeglab工具包需要)
(记得另存这个文件并记得位置.mat格式)
第四步:(提前安装eeglab工具箱,调用,选择我们需要的数据格式)
第五步:选择刚刚保存的转置后的文件,设置125HZ
这个时候显示如图
第六步:选择通道位置(确定电极位置)-cancel不要选eeglab自带的
Read locations上传自己的脑电采集电极位置,sfp格式的。然后ok即可。
第七步:带通滤波,设置区间为0.1-45HZ(最高和最低分开设置)
重复以上步骤设置最高(我这里打错了)
之后做一个陷波(去除50hz的干扰)
ps:观测信号(也可以进行不良数据的删减)-我这里数据导入的示例数据所以没啥变化
真实数据这样的就可以选中这一部分REJECT手动删除
第八步:事件的设置(需要用到代码,这里的380ms是前面epoch end(sec)每个程序需要修改),event文件里需要如图输入latency type
然后导入事件(如图设置)
这里可以看到有190个事件
然后进行基线矫正(如图)
记得覆盖上次的文件(不覆盖也不影响只是怕后面选错了)
后面默认即可
设置完毕后打开plot 通道数据,把有问题的数据可以根据节段删掉。(我这里数据不明显就不展示了)
这个时候就可以开始跑ICA了(默认就行)
点击Tools->Inspect/label components by map,然后弹出来的对话框点击OK,然后再点OK(超过35个ICA成分会让你再确认一遍),然后会看到:
也可以点击数字查看详情信息
现在有一些基于某些算法的插件可以自动给出判断是否是伪迹,甚至是什么伪迹的概率,比如ICLabel这个插件。我们马上开始用一下,点击Tools->Classify components using ICLabel->Label components,如下所示:
可以看到ICLabel可以给出是什么ICA成分的概率,比如我们刚刚看到的水平眼动和垂直眼动,分别被标记为是eye的概率为98.2%和98.3%。
这里主要是用来判断伪迹的,还可以让ICLabel自动判断并标记哪些ICA成分是伪迹,点击Tools->Classify components using ICLabel->Flag components as artifacts,如下图:
这里你可以设置一个阈值,默认是90%以上概率的眼电和肌电伪迹会被标记为伪迹准备去除,你也可以设置80%,70%都可以。设置50%也没人管你。
ICA去除没有绝对的金标准,有的人严格,有的人宽松。但有的ICA成分分离不完全,那么在去掉伪迹的时候也会去掉一定程度的脑源性信号。
这时就有两个成分被标记为准备rejection的,我们继续点击Tools->Remove components from data。
因为我们这里处理的是连续数据,所以点击Plot single trials。
红色的是我们去掉伪迹之后的,黑色的是之前的,可以看到眼电伪迹都被很好的去掉了。总而言之,去掉水平眼动、垂直眼动、肌电伪迹ICA成分的对比图,都会让我有一种极度舒适的感觉,就像成功的把信号中的灰尘擦掉一样。
把这个关掉,然后点击Accept,那么我们就成功的去掉了上述标注的ICA成分。
参考:手把手系列教程||使用EEGLAB2023版对脑电数据进行预处理 - 知乎 (zhihu.com)
打maker,分段,提epoch的基本操作_eeglab分段-CSDN博客
旭博学长