eeglab和matlab,Matlab之EEGLAB工具箱脑电数据预处理
虽然买脑电采集设备时会配备有脑电数据处理软件,但是有的需要付年费,但是如果没买采集设备也没有专业处理软件,可以使用matlab中eeglab,使用起来也比较方便,eeglab的安装流程浏览器搜一下会有,如很必要后面出一篇,下面介绍下采集好的脑电数据该如何做预处理。
解读:eeglab是基于MATLAB的一个工具包,一般加载的时候都从添加子文件夹导入。在添加多个工具包时,记得只保留必要的工具包,避免兼容报错的问题。
一、导入数据
步骤1:File - Import data - 不同的数据格式不同的导入方法
解读:其中BP设备和ANT设备的数据,都是从.vhdr中导入。
步骤2:File - Load exiting dataset - eeglab_data.set
解读:若是导入eeglab保存的数据,则直接按照步骤2导入即可。
来源:AffectiveNeuroscience
二、定位电极(时间)
步骤:Plot - Channel data(scroll) - settings - time range to display -setting - number of channels to display value(调整幅度)
解读:可以在数据分析之前,浏览一下原始数据,自己对数据的好坏有一个评估。
三、定位电极(空间)
步骤:Edit - Channel locations - read locations ( look up locs) - eeglab_chan64.locs(plot 2D)
解读:在数据分析之前,查看电极点的分布图,方便后期进行使用插值法进行坏点替换。
四、删除无用电极
步骤:Edit - Select data - 点上√,即删除选取的电极;不点√,则是删除剩余的电极。
解读:删除记录多余的电极,只选取自己需要的电极。
四、重参考
步骤1:Edit - Re-reference - re-reference data to channel(s) - 电极点 M1 M2 (TP9 TP10) (双侧乳突)
步骤2:Edit - Re-reference - compute average reference(全脑平均)
步骤3:使用 rest-reference 插件(零参考)
解读:重参考的方法常用的有双侧乳突、全脑平均、零参考,具体选取那种方法根据以往的参考文献和自己的需要来进行选择。
重参考也是一种空间滤波,主要是通过另外一个角度来看问题。所以不同的在线参考其实对于离线参考没有太大影响。
五、滤波
步骤1:Tools - Filter the data - basic FIR filter - (1 Hz high pass filter first) - Overwrite it in memory(根据需要获取目标频段)
步骤2:Tools - Filter the data - Basic FIR filter - (30 Hz low pass filter second) - Overwrite it in memory
解读:高通滤波,是指高频信号能正常通过,而低于设定临界值的低频信号则被阻隔、减弱。因而是进行1Hz的高通滤波,而选择的时候,1Hz是频率通过的下限。
低通滤波,是指低频信号能正常通过,而超过设定临界值的高频信号则被阻隔、减弱。因而是进行30Hz的低通滤波,而选择的时候,30Hz是频率通过的上限。
早期的eeglab版本,不能够同时滤波,容易卡死;最新版本的eeglab是可以同时进行空间滤波的。
若是后期要做时频分析,可以滤波的范围选择更宽一点,选择0.1-100。若是只进行传统的ERP分析,可以选择1-30左右。
此外,若是进行0.1-100Hz的滤波,为了消除市电的干扰,可以进行50Hz的凹陷滤波。
六、分段和基线矫正
步骤:Tools - Extract epochs(分段 marker 全选)- Automatic baseline correction
解读:分段的步骤,可以在去除眼电之前,也可以在去除眼电之后。其实最好是在去除眼电之后,因为连续的数据在跑ICA时更好,只是数据量比较大,跑的速度比较慢。
但是若是实验设计当中有出声、身体动,造成伪迹较多,数据杂乱,可以先分段,只是可以在分段的时候,尽量分段长一点。
七、伪迹去除
步骤1:Plot - Channel data(scroll)(删除坏的trial)- 差值坏导(代码)
步骤2:File - Save as - 保存文件
解读:伪迹去除是去除眼电之外的其他杂乱的伪迹,使得在 Run ICA之前的数据比较干净,容易找到眼电成分。
八、Run ICA
步骤:Tools - Run ICA - 'extended',1'pca',30 - OK
解读:Run ICA 的时候,可以写30个,也可以写60个主成分。去除的时候,需要去除自己最肯定的成分,一般都是去除眼电成分。
九、眼电去除
步骤1:Tools - Reject data using ICA - Reject component by map
步骤2:Select each IC and observe
步骤3:Tools - remove components - 填写删除电极的数字 - OK
解读:眼电判断的时候,除了看地形图,也可以看频率分布图、每个成分的波形图,以及矫正之后的脑电图是否有差异,进行综合的评估。
只有自己很确定的伪迹主成分才删除,不然可能会删除自己想要的成分。
若是出来的成分,没有出现明显的伪迹成分,可以多跑几次ICA;或者不分段重新跑一次;再或者再看看原始数据,删除杂乱的成分,重新再跑一次。
这是一步是很需要经验的步骤,若是前期自己把握不准,可以让有经验的人帮忙看看。
通过Adjust插件,也可以进行一个简单的伪迹成分的评估,不过最终的确定还是需要自己来进行评估。
眼电去除的标准
来源:彭微微老师
十、预处理的批处理
步骤:eeg.history - 出现之前处理的代码 - 进行每个被试的批处理 - 然后处理完之后再手动去除眼电成分 - 保存为处理干净的脑电信号 - 进行下一步的分析
解读:脑电数据的预处理是为了提高信噪比,去除噪音,得到比较干净的数据。从而进行下一步的分析。
后续整理工作
来源:彭微微老师
解读:保存数据并整理,方便后期分析;保存图片,方便自己对数据的把握和可视化的呈现。
原文作者:喵君姐姐
微信号:行上行下
eeglab和matlab,Matlab之EEGLAB工具箱脑电数据预处理相关推荐
- EEGLAB脑电数据预处理指导手册
EEGLAB脑电数据预处理指导手册 1 前期准备工作 1.1 书籍 1.2 网站 1.3 公众号 2 预处理流程 2.1 准备工作 2.2 眼电去除的标准 2.3 后续整理工作 3 叨叨几句 Hell ...
- eeglab脑电数据预处理:step by step
文章来源于微信公众号(茗创科技),欢迎有兴趣的朋友搜索关注. 学脑电的小伙伴对 matlab 软件和 eeglab 插件一定不会陌生,它们是脑电数据分析过程中的重要法宝.在对脑电数据进行分析处理之前需 ...
- Letswave 教程:脑电数据预处理与叠加平均
Letswave 教程:脑电数据预处理与叠加平均 1 实验与工具介绍 2 前期准备 2.1 letswave7安装与数据集准备 2.2 数据集导入 2.3 数据集检查 3 数据预处理 3.1 通道位置 ...
- letswave7中文教程3:脑电数据预处理-ICA去除伪影
目录 ICA/BSS的理论与模型 第5步:计算ICA矩阵 第6步:识别伪影成分 本分享为脑机学习者Rose整理发表于公众号:脑机接口社区 .QQ交流群:941473018 ICA/BSS的理论与模型 ...
- 脑电数据预处理-ICA去除伪影
ICA/BSS的理论与模型 独立成分分析(ICA)是一种盲信号分离(Blind Signal Separation,BSS)方法.ICA可线性建模如下图所示. 假设X为" ...
- 手把手教你EEG脑电数据预处理-操作篇
目录 导入数据 对数据进行初步认识 电极定位 移除无用电极 重参考 重采样 滤波 分段和基线校正 插值坏导 ICA 剔除ICA成分 剔除坏段 目视检查法 保存数据 本分享为脑机学习者Rose整理发表于 ...
- 手把手教你EEG脑电数据预处理-原理篇
目录 0. EEG data 1. 定位通道数据 2. 删除无用数据 3.滤波 4.分段 5.基线校正 6. 重参考 7. 降低采样率 8. 插值坏导 9. 独立主成分分析 10. 剔除坏段 本分享为 ...
- letswave7中文教程2:脑电数据预处理-通道位置分配
目录 第1步:通道位置分配 第2步:删除不良通道 第3步:滤波处理 第4步:坏电极插值 本分享为脑机学习者Rose整理发表于公众号:脑机接口社区 .QQ交流群:941473018 原始的脑电图信号是有 ...
- 脑电数据预处理看这篇就够了
01 脑电数据分析预处理步骤 1.(Import data)导入数据 2.(Channel locations)电极定位 3.(Select data)剔除无用电极 4.(filter the dat ...
- EEG脑电数据预处理
预处理 电极放置:在10-20的基础上,在10%的位置上进行电极扩展 去除伪迹:生理伪迹-眼电伪迹,肌电伪迹,心电伪迹,其他 非生理伪迹-工频干扰,电极伪迹,数据伪迹等 肌电伪迹:使用平均叠加来消除一 ...
最新文章
- mysql5.5.42指定数据库同步操作
- Roman to Integer LeetCode Java
- 网页爬虫python代码_Python 爬虫web网页版程序代码
- ubuntu上训练yolov3: Caught ValueError in DataLoader worker process 0. string indices must be integers.
- 三重积分平均值_2015考研数学考前必须死磕的知识点
- Python非递归实现二叉树的后续遍历
- 计算机学院班徽在线设计,计算机学院班徽班旗设计大赛通讯稿
- 利用计算机测地震是计算机的什么,计算机在气象预报、地震探测、导弹卫星轨迹等方面的应用都属于( )...
- pycharm 设置虚拟工作空间_pycharm新建项目配置虚拟环境
- Hive SQL中的concat、concat_ws、concat_group列转行,行转列
- Zoj3762 等待解决
- BNUOJ-4049-四叉树
- 中国移动光猫获取超级密码教程
- 安全教育平台登录显示服务器繁忙,安全教育平台登录失败是怎么回事 解决方法...
- 测试工程师面试,全国各地有哪些知名互联网公司可以去?
- Android PowerManager 进入屏保、睡眠的过程梳理
- PsychoPy开源免费刺激呈现软件的下载与安装方法
- 阿里智能对话交互技术实践与创新
- Excel单元格格式设置——日期型切换语种
- power_supply子系统