FieldTrip toolbox教程系列(2)-伪影处理简介

article/2025/11/7 21:02:59

简介:处理伪影

关于FieldTrip之前介绍过:

《FieldTrip toolbox教程系列(0)-安装、配置与测试》

《FieldTrip toolbox教程系列(1)-预处理-读取连续的EEG和MEG数据》

本教程介绍了如何在FieldTrip中处理伪影的一般方法

由于FieldTrip支持许多不同采集系统的数据,因此数据中的特定伪影可能与伪影有很大不同。因此,我们应该了解前面描述的伪影剔除(自动/手动)过程的不同方法和可变性。

在自动化程序结束时,请记得在剔除伪影后有必要目视检查数据。

背景:什么是伪影?

一般来说,伪影是数据中某些意外或不想要的特性。更具体地说,它可以被称为对我们使用EEG或MEG系统获取的脑信号的不希望有的贡献。伪影可以是生理的,也可以是非生理的。

FieldTrip如何管理伪影?

FieldTrip处理伪影的方法是:

  1. 首先识别它们;

  2. 然后删除它们。

伪影的检测可以通过可视化的方式完成,或者使用自动例程(或者两者的结合)。在知道伪影是什么之后,可以通过以下方式将其删除

1.剔除包含伪影的数据片段(例如短暂的伪影)

2.从数据中减去伪影的时空贡献(例如线噪声)

对于伪影检测,FieldTrip提供的功能取决于我们的数据是连续的还是基于试验的(即分段之间有空隙,也就是不连续),以及数据是存储在磁盘上还是已经存储在内存中。

在不将完整数据读取到内存的情况下检测伪影,以处理太大而无法一次全部存储在内存中的数据集。在连续的数据中检测伪影时。我们可以应用滤波器(例如一个带通滤波器来放大临时通道上的肌肉伪影),而不必担心由于滤波器而产生的边缘效应(即滤波器振铃)。然而,在分段之后将数据存储在内存中是浏览数据的一种非常有效的方式,有助于可视化。因此,总而言之,没有一种检测伪影的最佳方法:它仅取决于数据属性和个人的偏好。

剔除包含伪影的数据段

在这种类型的伪像检测和剔除中,包含伪像的数据片段将被识别并从数据集中删除。例如,完整试验或部分试验将从数据中完全删除。

手动/视觉检测

在人工伪影检测中,用户可以目视检查数据并确定试验或数据段以及受影响的通道和应移除的通道。视觉检查的结果是一系列嘈杂的数据段和通道。

可用于手动伪影检测的功能函数有:

ft_rejectvisual

ft_databrowser

ft_rejectvisual函数仅适用于已读入内存的分段数据(即试验数据)。它允许我们通过一次显示所有通道(每个试验)或一次显示所有试验(每个通道),或显示所有通道和试验的摘要,我们通过它可以浏览MATLAB图中的大量数据。使用鼠标,我们可以选择应从数据中删除的试验和/或通道。此函数直接返回删除了噪声部分的数据,我们无需调用ft_rejectartifact或ft_rejectcomponent。

如果要对连续数据使用ft_rejectvisual,则可以先使用ft_redefinetrial将其分割成一秒的片段,然后调用ft_rejectvisual。关于分段连续数据的问题在常见问题中进行了说明。

ft_databrowser函数适用于连续数据和分段数据,也适用于磁盘上或已读入内存的数据。我们可以通过它来浏览数据并用鼠标选择包含伪影的数据部分。这些时间片段都有标记。与ft_rejectvisual相反,ft_databrowser函数不返回清理过的数据,也不允许删除不良通道(尽管我们可以从可视化中将其关闭)。在检测到带有伪影的时间段之后,调用ft_rejectartifact将它们从数据中删除(当数据已经在内存中)或从试验定义中删除(当数据仍然在磁盘上)。

值得注意的是,ft_databrowser函数还可用于可视化ICA组件的时间进程,从而轻松地允许您识别与眨眼、心跳和线路噪声对应的组件。注意,对数据进行正确的ICA分离需要在调用ft_componentanalysis之前删除非典型工件(例如电极移动、squid jumps)。确定了不良成分之后,可以调用ft_rejectcomponent将数据投影回传感器级别,排除不良成分。[关于手工处理伪影的更多信息可以在可视化伪影剔除教程中找到。]

自动检测

为了加快处理许多数据集或超大型数据集的速度,并方便使用客观标准的工件,FieldTrip还包括一个自动伪影检测功能的集合。尽管自动伪像检测算法可有效处理行为良好的数据中的已知伪像,然而并不推荐将自动检测功能用作默认方法。

大多数自动伪像检测功能基于过滤数据,然后在通道上组合数据。与此相关的参数是各种线性和非线性滤波,并通过配置选项为每个参数设置数据填充选项。例如,在连续数据集中,这些可能是带通滤波器频率或填充长度。

自动伪影检测的可用功能函数有:

ft_artifact_clip

ft_artifact_ecg

ft_artifact_threshold

ft_artifact_eog

ft_artifact_jump

ft_artifact_muscle

ft_artifact_zvalue

请注意,eog,jump和肌肉检测功能只是ft_artifact_zvalue的包装器,其中将filter和padding选项设置为合理的默认值。[关于伪影自动检测的更多信息可以在自动伪影剔除教程中找到。]

从数据中删除伪影

如果使用手动或自动检测包含伪影的时间片段,则通常会继续使用ft_rejectartifact从后续分析中剔除这些时间段。FieldTrip支持可变的试验长度数据,这允许我们剔除那些包含伪影的数据片段,而保留试验的其余部分。如果你的实验是由很长的试验组成的,这是特别有用的。

减去反映伪影的数据的空间/时间/光谱方面

在这种类型的伪像检测和剔除中,将识别包含伪像的数据的空间/时间/光谱方面,并将其从数据集中删除。例如,从数据中减去某些频谱成分,例如线路噪声。

使用ICA识别伪影

另一种常用的方法是使用ICA(独立成分分析)或PCA(主成分分析)等方法对数据进行线性分解。这些方法包括对数据应用一组空间过滤器,之后数据不再以记录的(头皮)通道级别上表示,而是作为一组虚拟通道或组件表示。在ICA分解的情况下,选择滤波器以产生通道级数据中可用的最大时间上独立的信号。某些伪影(例如由眨眼引起的伪影)通常由一些成分反映出来,这些成分在一定的经验下很容易识别。这些可视识别的成分可以从数据中删除,剩下的成分可以投射回传感器级别。

从数据中删除伪影

如果使用ICA来检测伪像,则通常应将分解后的数据(不包括伪像成分)投影回传感器级别。这是通过ft_rejectcomponent完成的。

后面将通过示例脚本来说明如何使用ICA检测和删除EOG和ECG伪影。

示例脚本

如何将头部运动纳入MEG分析

使用独立成分分析(ICA)删除ECG伪像

使用独立成分分析(ICA)去除EOG伪像

获取软件与数据资源

后台回复"FT",即可获取。

参考:

http://www.fieldtriptoolbox.org/tutorial/artifacts/

文章来源于网络,仅用于学术分享,不用于商业行为,若有侵权及疑问,请后台留言!

如需转载请扫下面微信二维码码,备注"转载"

更多阅读

大脑分区与功能简介汇总

第2期 | 国内脑机接口领域专家教授汇总

精彩长文 | 脑机接口技术的现状与未来!

TensorFlow处理运动想象分类任务

ICA处理脑电资料汇总

收藏 | 脑电EEG基础与处理汇总

脑机接口BCI学习交流QQ群:903290195


http://chatgpt.dhexx.cn/article/V5enTMF1.shtml

相关文章

fieldtrip学习——1.坐标系介绍(ctf坐标系和acpc坐标系简介)

-------------------------------------滴,菜鸟要从这里开始学习飞行啦!-------------------------------------------- 今天刚好在跑程序就把我之前学习fieldtrip老碰到并且栽了好几次跟头的东西跟大家简单介绍一下啦。 我目前主要需要做的是头模型和…

【源码】FieldTrip:MEG和EEG分析的MATLAB工具箱

FieldTrip是用于MEG和EEG分析的MATLAB软件工具箱,由荷兰奈梅根Donders大脑、认知和行为研究所的一组研究人员与合作机构密切合作开发。 FieldTrip提供MEG、EEG和侵入性电生理数据的高级分析方法,如时频分析、使用偶极子的源重建、分布式源和波束形成器以…

一个可以把Google Docs变成GDrive的工具

如何把Google Docs转换成一个在线存储工具,如传闻中的GDrive? 我们刚刚开发了个Google Docs的客户端软件:GoogleDrive, 网站:http://www.gdocsdrive.com. 欢迎大家试用,多提意见。 对于云存储类的应用,目前有很多著名的厂商的解决…

谷歌colab运行自己的项目的一些细节

1.连接谷歌colab from google.colab import drive drive.mount(/content/gdrive) 2.安装相关的包,版本要对应好,注意卸载掉之前的tf,可能存在版本不对应问题 !pip install keras2.1.0 !pip uninstall -y tensorflow !pip install tenso…

linux挂在谷歌硬盘,【Colab系列】挂载谷歌硬盘详解

讲解对象:【Colab系列】 作者:融水公子 rsgz 文章出处:360doc个人图书馆[其他平台均为盗版] 提醒:建议大家电脑浏览我的网页,因为手机浏览网页 代码会自动缩成一行,很不方便 1 首先,要知道谷歌硬…

linux上使用drive从google drive 下载文件和文件夹

linux上使用drive从google drive 下载文件和文件夹 由于之前要下载Darpa的大型数据集,这个数据集仅仅在google drive上可以获取。但是如果手动下载的话,要么一个个文件自己点击要么就是整个打包。 这样子有几个问题: 速度很慢中间不能关闭…

YOLOv5-4.0-google_utils.py 源代码导读

YOLOv5介绍 YOLOv5为兼顾速度与性能的目标检测算法。笔者将在近期更新一系列YOLOv5的代码导读博客。YOLOv5为2021.1.5日发布的4.0版本。 YOLOv5开源项目github网址 本博客导读的代码为utils文件夹下的google_utils.py文件,更新日期为2021.1.14. google_utils.py …

只有一个源视频的Deepfakes简介

Deepfakes 简介 Deepfakes 是人工智能生成的任何人或名人的合成视频,它冒充真实的人,并让他们采取行动或说出他们从未做过的任何事情。 Deepfake 的创建过程在技术上很复杂,通常需要大量数据,然后将这些数据输入神经网络以训练和生…

Gmail文件工具:gDrive

用Gmail的空间来进行文件存储已经不是什么新鲜事了,Linux下有GmailFS,Windows下也有Gmail Driver。但是它们跟gDrive比起来,就实在是相形见拙了。gDrive是一个基于libgmailer的PHP脚本,当前版本为0.6。它可以利用Gmail的空间提供强…

【YOLOV5-5.x 源码解读】google_utils.py

目录 前言0、导入需要的包1、gsutil_getsize2、safe_download、attempt_download2.1、safe_download2.2、attempt_download 3、get_token、gdrive_download(没使用)3.1、get_token3.2、gdrive_download 4、作者注释的函数总结 前言 源码: YO…

千呼万唤始出来 Google GDrive将于4月初正式推出

早在5年前,WSJ就有传言称Google将推出云存储服务,而Google也在2010年宣称这项服务将允许用户进行文件和资料的在线存储,但一直没有正式推出该项服务。这次,看来Google是来真的了。 如果消息属实,Google GDrive将可能在…

Google云存储服务GDrive再度浮出水面

Google 要推出GDrive的传闻已经有一段时间了,而现在一个Google 搜索结果页面再度证实了这一传闻。在Google 搜索中如果你输入Writely,搜索的结果中你可以看到一个名为Platypus(GDrive)的测试页面。Writely.com是Google 于2006年收…

GDrive首次现身!

还记得GDrive么?自从它第一次出现在Google的泄露文档上,它就成为了世界关注的焦点。根据传言,GDrive将会是Google要推出的网络存储服务,类似于网络硬盘,但它的容量是无限的。在这个消息泄露后,Google马上把…

Google的GDrive美如水中之月

GDrive GDrive(网络硬盘),被称为“谷歌迄今为止推出的最令人期待的产品”。GDrive可以让用户将个人文件和操作系统存储在谷歌的服务器上,并可通过网络访问,PC将成为一种用于访问网络的简单而便宜的设备,用户甚至可以通过谷歌的手机操作系统An…

Google网络硬盘(GDrive):千呼万唤不出来

几年来人们一直猜测Google会利用其强大的实力提供专业在线数据存储服务,比如说“Google网络硬盘(GDrive)”。最近相关传言再次兴起,并且更加有意思。 Google网络硬盘有什么好处呢?廉价(免费?&am…

linux 安装 gdrive

1.下载https://www.dongganboy.com/app/gdrive-linux-x64 参考链接:Linux 定时备份网站文件至Google Drive - 主机宝贝 [教程]Gdrive:Linux下谷歌网盘同步工具、自动备份VPS文件到Google Drive – 爱玩吧 2. 复制到相应的文件夹下;修改权限…

win7出现问题事件名称APPCRASH的解决方法

问题故障提示: 在网上找了很多解决方式都没有解决,什么下载个 Windows清理助手64位啦,什么重新卸载重装啦, 什么删除 User Data 文件啦,什么删除注册表啦,一点用都没有,这个问题是由于 兼容 问…

vs2015启动无法工作,问题事件名称: APPCRASH,故障模块名称: KERNELBASE.dll

尝试了网上多种方法,删除注册表内容;安全模式;重启;修复;管理员权限等等,都以失败为告终。利用程序自带的修复了3、4次,也没有任何作用。一启动还是VS2015软件奔溃,无法工作。显示下…

IOS —— Crash分析

Crash分析 1. Crash2. 奔溃处理2.1 选择器方法未定义2.2 容器越界 2.3 NSSetUncaughtExceptionHandler 1. Crash 应用崩溃是影响 APP 体验的重要一环, 而崩溃定位也常常让开发者头疼。Crash的出现就是做了一些违背代码规则的操作,常见crash类型有&#…

iOS crash 问题分析汇总

在这里插入图片描述 iOS crash 问题分析 iOS crash 常用分析工具IOS 崩溃日志 iOS crash 原因分析1.调用悬浮指针2.数组越界访问3.调用了未实现的方法4.调用的库函数版本高于本机5.返回空cell6.类释放时未remove通知,之后收到通知7.类释放时delegate未置空&#xf…