EEGLAB系列教程5:数据预处理2(ICA去伪迹)

news2024/9/20 20:45:22

EEGLAB系列教程5:数据预处理2(ICA去伪迹)

今天介绍EEG数据处理系列教程5,在前面的几期中,已经介绍了数据基本处理过程,可以参见以下链接:

EEGLAB系列教程1:安装和启动 EEGLAB

EEGLAB系列教程2:在 EEGLAB 中管理数据集

EEGLAB系列教程3:在 EEGLAB 中建立location

EEGLAB系列教程4:在 EEGLAB 中预处理数据1

在很久之前,我也利用analyzer软件进行了ICA去噪的教程分享,可以参考链接:

独立成分分析(ICA)

在运行ICA之前,通过前面的系列教程可以剔除了不好的通道和肉眼可见的不好数据段。然后在来运行ICA是更好的。

运行 ICA

对连续 EEGLAB 数据集进行ICA,选择Tools → Decompose data by ICA。将调用函数pop_runica。如使用默认选项运行 ICA,只需按OK即可。

image-20221218090410757

如使用高导联(128导及以上),可以将选择的commandline option参数进行修改,选取其中的一部分数据进行PCA提取成分。

正常运行过程:

image-20221218090609351

ICA 算法

EEGLAB 允许尝试不同的 ICA 算法。Infomax ICA 使用runica、 Jader 算法使用jamer.m和 SOBI 算法使用sobi.m这些都是EEGLAB 默认算法。通过下拉选择即可选择算法。

另外需要使用 FastICA 算法,必须安装FastICA 工具箱并将其添加到MATLAB 路径中。

查看 ICA 成分

runica.m给出的成分顺序是按每个成分计算的 EEG 方差的降序排列。

IC成分激活(时间进程)

依时间进程查看IC成分,选择Plot → component activiations(scroll)。滚动浏览 ICA 激活,可以很容易地发现占特征伪影的成分。例如,在下面的展示中,成分 3 可能是眨眼成分。

image-20221218090826816

绘制2-D成分头皮图

绘制 2-D 头皮成分图,选择Plot → Component maps → In 2-D。然后由函数pop_topoplot生成交互式窗口(如下) 。只需按确定即可绘制所有成分。

image-20221218090945045

出现以下图片,显示所选成分头皮显示图。

image-20221218091029624

优化 ICA 分解的质量

ICA是利用机器学习的算法,对EEG数据进行成分分解。它是将所有训练数据都考虑在内,当训练数据中留下太多类型的噪声—复杂的运动伪影、电极坏道等,这些坏数据特征将对ICA分解会产生影响。因此,向 ICA 提供尽可能多的干净 EEG 数据才是最佳的。(剔除较大的明显的伪迹数据)

在 ICA 之前与自动伪迹剔除相关的问题

ICA 之前的自动伪迹剔除可能会删除部分数据(如:较大的眨眼等),当然这也可以通过 ICA方法进行校正。但是,降低自动伪迹剔除的阈值可能会保留太多 ICA 无法删除的伪迹。在这种情况下,推荐以下操作步骤:

  1. 从已最少清除伪迹(或仅删除坏通道)的数据集开始
  2. 在这个数据集上运行 ICA
  3. 识别不良 ICA 成分并从数据中删除
  4. 使用更严格的阈值或剔除伪迹方法再次清理ICA后的数据集,以删除数据的剩余伪迹部分

将 ICA 应用于分段数据而不是连续数据

一般来说,建议对连续数据使用 ICA,而不是已提取的分段数据。首先,分段数据已经减少了样本数量,当存在更多数据时,ICA 成分的质量会更高些。其次,删除分段数据的基线会对ICA 产生重大影响,因为它会在每个通道中引入随机偏移,这是 ICA 无法建模或补偿的。虽然可以提取分段时不删除基线,但是在运行 ICA 之后,基线可能会被删除。

将 ICA 应用于分段数据也是可能的。ICA 期望数据是平稳的,即相同的统计模型正在生成所有数据样本。如果您在 分段之后有足够的数据,那么分段数据可能更可取,因为它会更加稳定。但是,在对不同事件进行分段以生成不同数据集时,我们建议对所有条件使用相同的 ICA 分解。实际上,这可能意味着在运行 ICA 之前创建一个包含所有分段类型的数据集。假设所有数据在统计上相似,更多的数据通常会提供更好的 ICA 分解。更长的时期更可取,因为它们为 ICA 产生更多数据(假设平稳性成立。)

自动检测伪迹ICA成分

目前,Luca Pion-Tonachini的ICLabel插件是 EEGLAB 默认安装的 EEGLAB 插件,它提供了对每个独立成分(大脑、眼动、肌肉、线路噪声等)类型的估计。ICLabel 的目标是开发一种足够可靠和准确的脑电图 IC 分类器,可用于大规模研究。当前的分类器实现是在数千个手动标记的 IC 和数十万个未标记的 IC 上进行训练的。更多信息可以在ICLabel 参考文章中找到。

运行 ICA 后,选择菜单项Tools → Classify components using ICLabel → Label components。只需选择默认值,然后按 OK。

image-20221218091548007

将弹出以下窗口并要求绘制成分。只需按确定。

image-20221218091640043

单击一个成分将弹出一个窗口,包含其成分属性以及属于每种类型的估计概率。IC 成分将与它们最可能属于的类别以及属于该类别的可能性一起绘制。

image-20221218091715991

然后可以选择菜单项Tools → Classify components using ICLabel → Flag components as artifacts。默认设置是标记那些有超过 90% 的概率属于肌肉或眼动伪迹(眨眼和眼球运动)类别的成分。使用此功能标记成分时,手动拒绝成分的界面中的按钮将显示为红色(Tools→Reject componengts by map),可以编辑哪些成分将其标记为伪迹。

image-20221218091845169

image-20221218092256841

剔除 ICA 成分

删除成分,使用菜单栏Tools → Remove components from data。

结果窗口(下图)中默认包含的前面标记的伪迹成分编号。

image-20221218092414533

可以点击"Yes"或"Manual reject"按钮来手动编辑成分列表,如下所示。

image-20221218092439877

输入需要剔除的成分编号,然后点击Ok。会弹出对话框窗口,询问是否要比较剔除成分前后的数据,如下图。

image-20221218092502190

单击Plot single trials按钮。显示(下图)在(黑色)和之后(红色)分量剔除之前的数据。我们可以清楚地看到 ICA 去除眨眼伪迹的效果如何。

image-20221218092533202

如果是在分段数据时期中删除 ICA 成分,可以单击Plot ERPs按钮,获得类似的下图,绘制通道 ERP 之前(蓝色)和之后(红色)剔除后的数据结果。

image-20221218092733787

一旦对结果感到满意,点击接受按钮。将弹出另一个窗口,询问是否要重命名新数据集。输入新名字,保存数据集,然后再次按Ok

image-20221218092612464

最后附上网络上总结的经典成分识别:

眨眼成分

图片

成分判断: 眨眼成分

判断依据:

  1. 在头皮地形图的前端分布;
  2. ERP图像中有小方块;
  3. 随机分布;
  4. 功率谱图中,低频能量高;
  5. 成分排序较为靠前,像这个示例中,为IC3

颜色的深浅有意义,但是红还是蓝无所谓,大红大蓝都可以的。

眼动成分

图片

成分判断: 眼动成分

判断依据:

  1. 在头皮地形图的前端两侧分布,红蓝相对;
  2. 在ERP图像中,长条状,红蓝相间;
  3. 随机分布;
  4. 在功率谱图中低频能量高
  5. 分量排序靠前,但一般在眨眼后面,在该示例中为IC5.

头动成分

图片

成分判断: 头动成分

判断依据:

  1. 在头皮地形图中分布在周围;
  2. 在ERP图像中呈现长条状;
  3. 随机分布;
  4. 在单个trial里有非常明显(非常长)的飘移。

成分判断:心电成分

图片

成分判断:心电成分

判断依据:

1.在ERP图像中呈雨点般散落状。

图片

成分判断:工频干扰

判断依据:

  1. 头皮地形图显示分布在地线周围;
  2. 在ERP图像中单个trail上的分布非常规律;
  3. 在功率谱图中,50Hz左右能量最高(有剧烈的峰值)。

ICA判断网站,若是对ICA成分不熟悉,可以看看这个网站的介绍

网址:https://labeling.ucsd.edu/tutorial/labels

参考网址:

https://github.com/sccn/ICLabel

https://labeling.ucsd.edu/tutorial/format

Groppe, D. M., Makeig, S., & Kutas, M. (2009). Identifying reliable independent components via split-half comparisons. NeuroImage, 45(4), 1199–1211. https://doi.org/10.1016/j.neuroimage.2008.12.038

Luca Pion-Tonachini, Ken Kreutz-Delgado, Scott Makeig,ICLabel: An automated electroencephalographic independent component classifier, dataset, and website,NeuroImage,Volume 198,2019,Pages 181-197,ISSN 1053-8119,https://doi.org/10.1016/j.neuroimage.2019.05.026.

谢谢大家观看,如有帮助,来个喜欢或者关注吧!
本文作者:陈锐

本文仅供学习参考,有任何疑问及侵权,扫描以下公众号二维码添加交流:

图片

更多学习内容,仅在知识星球发布:

图片

图片

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/99644.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Java项目:SSM网上零食超市商城

作者主页:源码空间站2022 简介:Java领域优质创作者、Java项目、学习资料、技术互助 文末获取源码 项目介绍 本项目分为前后台,前台普通用户登录,后台管理员登录; 用户角色包含以下功能: 提交订单,支付页面…

Axios异步通信

四.Axios异步通信 1 什么是Axios? Axios是一个类库,基于Promise管理的HTTP 库,是前端通信框架,可以用在浏览器和 node.js 中。axios实现了对ajax的封装,常用于Ajax请求。注解:promise是Java Script的一个…

(附源码)Springboot校园健康检测管理系统 毕业设计 151047

Springboot校园健康检测管理系统的设计 摘 要 亚健康低龄化和高职业压力使高校师生健康问题凸显,不及早进行干预和控制将严重影响师生健康。如何理解和应用健康管理的理论和方法,探索高校师生健康管理工作模式,是目前高校医院的重点工作 校园…

Thymeleaf 预处理表达式__${表达式}__使用案例

目录一. 前期准备1.1 国际化项目获取类1.2 国际化配置文件类1.3 项目配置文件1.4 国际化资源文件二. __${表达式}__预处理表达式2.1 在Thymeleaf中使用Spring的Bean2.2 通过#{}获取国际化资源2.3 预处理表达式__${表达式}__的使用三. 效果四. 表格案例一. 前期准备 1.1 国际化…

图神经网络 # GNN基础(干货版)

注意:本篇文章不是系统性的图神经网络或者图深度学习的入门教程,而是介绍如何入门图神经网络的学习指南以及相关的干货笔记,文中会列出一些视频和文章学习资料,并在本文作一些重点的摘要,读者需要自行前往文本超链接的…

【C语言】通讯录《信息写到文件版本》

🚩write in front🚩 🔎大家好,我是謓泽,希望你看完之后,能对你有所帮助,不足请指正!共同学习交流🔎 🏅2021年度博客之星物联网与嵌入式开发TOP5&#xff5…

非零基础自学Golang 第9章 结构体 9.5 结构体方法

非零基础自学Golang 文章目录非零基础自学Golang第9章 结构体9.5 结构体方法9.5.1 指针类型接收者9.5.2 值类型接收者第9章 结构体 9.5 结构体方法 Go语言中,一个方法就是一个包含了接收者的函数。 对于结构体方法,接收者可以是结构体类型的值或是指针…

【图像融合】对比度增强结合多尺度边缘保持分解红外与可见光图像融合【含Matlab源码 1886期】

⛄一、对比度增强结合多尺度边缘保持分解红外与可见光图像融合简介 1 引言 夜视成像技术在军事与执法领域,如监控,侦查,情报搜集和安保等方面有着重要应用。不同类型的夜视成像传感器在记录同一场景时,在其提供的信息中有部分是冗…

目标检测论文解读复现【NO.21】基于改进YOLOv7的小目标检测

前言 此前出了目标改进算法专栏,但是对于应用于什么场景,需要什么改进方法对应与自己的应用场景有效果,并且多少改进点能发什么水平的文章,为解决大家的困惑,此系列文章旨在给大家解读最新目标检测算法论文&#xff0…

Java项目:基于SSM的高校运动会管理系统的设计与实现

作者主页:源码空间站2022 简介:Java领域优质创作者、Java项目、学习资料、技术互助 文末获取源码 项目介绍 该高校运动会信息管理系统是以B/S架构为设计基础并基于SSM框架开发的系统。系统采用了Java语言和MySQL数据库来实现。 系统按预定的算法完成了创…

数据结构---删去k个数字后的最小值

删去k个数字后的最小值思路贪心算法JAVA实现1JAVA实现2给出一个整数,从该整数中去掉k个数字,要求剩下的数字形成的新整数尽可能小。应该如何选取被去掉的数字? 其中整数的长度大于或等于k,给出的整数的大小可以超过long类型的数字…

计算机毕业设计 基于HTML+CSS+JavaScript 大气的甜品奶茶美食餐饮文化网页设计与实现23页面

👨‍🎓静态网站的编写主要是用HTML DIVCSS JS等来完成页面的排版设计👩‍🎓,常用的网页设计软件有Dreamweaver、EditPlus、HBuilderX、VScode 、Webstorm、Animate等等,用的最多的还是DW,当然不同软件写出的…

Java+SSM房屋租赁系统房屋出租房产(含源码+论文+答辩PPT等)

项目功能简介: 该项目采用的技术实现如下 后台框架:Spring、SpringMVC、MyBatis UI界面:jQuery 、JSP 数据库:MySQL 系统功能 系统分为前台用户界面和后台系统管理: 1.前台用户界面 用户注册、用户登录、用户中心、浏览房源、房源…

代码随想录训练营第54天|休息日 小结

打家劫舍系列 198. 打家劫舍对于当前的房间,无非就两种选择:偷与不偷。如果当前房间偷,那么前一个房间就不偷,即dp[i] dp[i-2] nums[i];如果当前房间不偷,那么dp[i] dp[i-1],因此递推公式为…

ch3_1_多进程的概念

1. CPU 的管理 CPU的工作原理: 从内存中取出程序的指令, 执行程序中的指令; 1.1 多道程序 假设A 程序运行时, 遇到 IO 处理时, 为了能够执行A 程序的后续指令, 正常情况下 cpu 需要等待着IO 处理完成&am…

后端快速学习VUE(一):VUE入门

个人博客地址 http://xiaohe-blog.top/ 文章目录1. 简介2. 基本使用2.1 引入Vue2.2 基本使用2.3 总结 :3. v-text、v-html指令的使用4. v-on : 事件绑定4.1 事件的三要素:4.2 v-on的基本使用4.3 v-on获取vue实例this4.4 事件绑定简化写法5. 常用指令5.1 …

useRef 源码解读

文章目录useRef 源码解读mountRefupdateRefref 的生命周期(工作流程)总结:render 阶段commit 阶段总述具体阐述safelyDetachRefcommitAttachRefuseRef 源码解读 由于 string 类型的 ref 已不推荐使用,所以只针对 function &#…

论文复现-1:bertscore

Bertscore是计算相似度的一种方法。 遗留问题:使用model layer 中的单一层 还是多个层,会对结果造成很大的影响吗? sent_encode函数是使用tokenizer将句子做encode。 tokenizer.encode( sent, add_special_tokensTrue, add_prefix_spaceTrue,…

HTML与CSS基础

2022.12.12 程序员在前端写完代码之后通过浏览器的渲染和解析成为用户看到的网页 浏览器出品的公司不同,内部的渲染引擎也不同。导致解析相同代码时的速度、性能、效果也不同 相同的前端网页在不同浏览器中运行的的结果也可能不同 WEB的三大标准 HTML包含页面内…

Java+MySQL基于SSM的智能办公管理系统

随着时代的发展,人们越来越来希望通过简单方便快捷的方式来进行办公,通过自能办公系统可以实现在线办公,这种办公模式脱离了传统纸质办公很多困扰,在实现现代化的同时提高了办公的效率。 本智能办公管理系统采用JAVA语言来进行开发,用小巧灵活的MySQL数据库做完后台存储解释。本…