Bootstrap

脑机接口学习(数据预处理)

 第一步:导入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博客

旭博学长

;