简介:处理伪影
关于FieldTrip之前介绍过:
《FieldTrip toolbox教程系列(0)-安装、配置与测试》
《FieldTrip toolbox教程系列(1)-预处理-读取连续的EEG和MEG数据》
本教程介绍了如何在FieldTrip中处理伪影的一般方法
由于FieldTrip支持许多不同采集系统的数据,因此数据中的特定伪影可能与伪影有很大不同。因此,我们应该了解前面描述的伪影剔除(自动/手动)过程的不同方法和可变性。
在自动化程序结束时,请记得在剔除伪影后有必要目视检查数据。
背景:什么是伪影?
一般来说,伪影是数据中某些意外或不想要的特性。更具体地说,它可以被称为对我们使用EEG或MEG系统获取的脑信号的不希望有的贡献。伪影可以是生理的,也可以是非生理的。
FieldTrip如何管理伪影?
FieldTrip处理伪影的方法是:
首先识别它们;
然后删除它们。
伪影的检测可以通过可视化的方式完成,或者使用自动例程(或者两者的结合)。在知道伪影是什么之后,可以通过以下方式将其删除
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