trunc怎么进行日期相减_使用ERP-lab进行伪迹检测与拒绝

5e2a25c25c33fb9c92d636d34d5d6670.png

分析脑电数据的时候,怎么排除伪迹(Artifact)的影响呢?

答案是:

d021b0abd475576e0f2f6e7c6f065634.png

哈哈,当然这只是个玩笑,不是说ICA不好,我自己有时也会用。但实际做起实验来,得到的数据要远比想像的复杂多。虽然有ADJUST和MARA这样的插件可以帮助我们以统一的标准选择那些伪迹的成分,但这一标准有时需要灵活变换,对于特定的实验设计来说,拒绝包含伪迹的成分不可避免地会拒绝我们想要的信号,导致数据失真。更重要的是,ICA做的是修复“伪迹”,在你移除某个成分的时候你不知道这具体会对你的数据造成多大的影响(IC越靠前,影响越大),举个例子:

ICA假设伪迹和ERP拥有相互独立的时程,但实际当你拿到数据以后就会发现,这个假设并不总是成立。如果实验中某个条件特别容易引起眼动,那么该条件所诱发的成分就和眼动伪迹的时程相关。下图的信号就通过算法被衰减了,而这些信号可能是你需要分析的。

e59ba9c51b7330441508c1a5cad1b850.png

关于伪迹的种类和来源这里就不多说了,推荐阅读:

陈锐:EEG信号伪迹来源及可能原因分析​zhuanlan.zhihu.com
陈锐:脑电分析之眼电纠正​zhuanlan.zhihu.com
b1f26cefe416a73f99276b32d4eee369.png

尽管通过叠加平均,我们可以把淹没在背景EEG中的ERP提取出来,但需要知道的是,噪音的降低是与叠加trial数的平方根成正比。也就是说,你需要增加四倍的trial数,才能将噪音降低一半。所以,仅仅通过增加trial数是无法完全过滤所有伪迹的。

一般来说,对于伪迹有两种处理方法:要么就删除,要么就修正。前文提到的ICA正是属于修正,而本篇主要分享的是如何删除。

ps:下面分享的操作,均是对分段且基线校正后的数据进行处理。示例所介绍的处理方法仅为我们团队常用的操作。针对下文提到的HEOG、VEOG阈值,不同研究甚至不同实验室的标准也存在差异,请结合自己具体的研究确定,切勿当成唯一的处理标准

示例采用双极通道记录眼电,HEOG_left是ch17,HEOG_right是ch46,两者相减作为HEOG。VEOG则是用Fp1(ch1)与眼睛下方1cm的电极VEOG_down(ch41)相减所得。

%Creat Bip-Channels
EEG = pop_eegchanoperator(EEG, {'ch65 = ch17 - ch46 label HEOG',  'ch66 = ch1 - ch41 label VEOG'})
eeglab redraw; 

一. 眼电伪迹

或者具体点说,叫根据眼动的方向,分为垂直眼动(眨眼)和水平眼动(眼跳)。处理的方法有两种:

以VEOG为例,第一种方法是使用ERP-lab中的Step函数对每个trial的HEOG进行检测(250ms的时间窗,30ms的步长),如果某一trial的HEOG电压偏移超过设定的阈值(±30μV),就标记该trial。然后使用EEG-lab自带的reject epochs函数将所有标记的trial都删除。代码如下:

%Blink
EEG= pop_artstep(EEG, 'Twindow', [ -200 999], 'Threshold', [30], 'Windowsize', 250, 'Windowstep', 30 , 'Channel',66 , 'Flag', 1) 
EEG  = pop_rejepoch(EEG, [EEG.epoch.eventflag], 0)

在GUI执行如下命令也能完成上述操作。

fe154ba31f56c2baedd7ef3e1ba2eae6.png
ERPLAB > Artifact detection in epoched data > Step-like artifacts

上述Step函数所执行的操作就是,从-200到50ms开始,然后往前移30ms,从-170到80ms,以此类推进行窗口的移动。然后用相邻两个窗口的平均电压相减,求得若干个电压差值,再与阈值进行比较来决定是否标记为伪迹。

Step-function对于眼电检测还是比较敏感的,尤其是使用双极通道

根据Steven. J. Luck的表述,当眨眼发生时,眼睛上下方位点的电极极性将翻转,此时上下电压的数值相减的差值最大,更容易在和阈值对比时决定某个trial是否应该被排除。而对于水平眼跳也是同样的道理,眼睛往左看时,HEOG_left产生正电偏移,HEOG_right产生负电偏移,通过双极记录就能很好地检测这一种偏移。

另一个比较常用的是ERP-lab中的Moving Window Peak-to-Peak函数。这个函数通过对比时间窗内最大电压和最小电压之间的差异(peak to peak),并将这个差异值与我们提前设定好的阈值进行比较,超过该阈值就排除。以HEOG为例(眨眼阈值为±50μV),一般来说,HEOG的信号都会相对比较平稳,但由于眼跳的pattern比较独特,所以在伪迹检测中很容易被发现。其代码如下:

%Saccade
EEG = pop_artmwppth( EEG , 'Channel',  65, 'Flag',  1, 'Threshold',  50, 'Twindow', [ -200 999], 'Windowsize',  250, 'Windowstep', 30 );
EEG  = pop_rejepoch(EEG, [EEG.epoch.eventflag], 0)

GUI中也可以通过如下操作执行上述命令。

8b677891c4cf783c586d799e90b034a0.png
ERPLAB > Artifact detection in epoched data > Moving window peak-to-peak threshold

二. 肌电伪迹

处理方法同上述一致,选择任意一种函数,对所有电极进行±80μV的检测,超过这一阈值的就删除。

%Muscle movement for over all channels
nchan = [1:64]
EEG=pop_artstep(EEG, 'Twindow', [-200 999], 'Threshold', [80], 'Windowsize', 150, 'Windowstep', 30 , 'Channel',nchan, 'Flag', 1)
EEG  = pop_rejepoch(EEG, [EEG.epoch.eventflag], 0)

更多关于ERP-lab的伪迹检测函数可访问:https://github.com/lucklab/erplab/wiki/Artifact-Detection-in-Epoched-Data

写在最后

总的来说,对伪迹进行删除还是修正完全取决于你的研究和数据。我试过做完ICA数据变得更好,也试过做完ICA之后结果变得更加复杂,难以解释。换句话说,只要你的数据结果显示出你预测的pattern,其它噪音即使存在也不是什么不可接受的事,未必非要用ICA去校正所有的伪迹。当然,过多地对包含伪迹的trial进行删除也会造成实验条件缺乏足够的试次,导致数据失真。

参考文献

Kiss, M., Jolicœur, P., Dell'Acqua, R., & Eimer, M. (2008). Attentional capture by visual singletons is mediated by top‐down task set: New evidence from the N2pc component. Psychophysiology, 45(6), 1013-1024.
Lopez-Calderon, J., & Luck, S. J. (2014). ERPLAB: an open-source toolbox for the analysis of event-related potentials. Frontiers in human neuroscience, 8, 213.
Luck, S. J. (2005). An introduction to the event-related potential technique: Cognitive neuroscience.
Woodman, G. F., & Luck, S. J. (2003). Serial deployment of attention during visual search. Journal of Experimental Psychology: Human Perception and Performance, 29(1), 121.
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
提供的源码资源涵盖了安卓应用、小程序、Python应用和Java应用等多个领域,每个领域都包含了丰富的实例和项目。这些源码都是基于各自平台的最新技术和标准编写,确保了在对应环境下能够无缝运行。同时,源码中配备了详细的注释和文档,帮助用户快速理解代码结构和实现逻辑。 适用人群: 这些源码资源特别适合大学生群体。无论你是计算机关专业的学生,还是对其他领域编程感兴趣的学生,这些资源都能为你提供宝贵的学习和实践机会。通过学习和运行这些源码,你可以掌握各平台开发的基础知识,提升编程能力和项目实战经验。 使用场景及目标: 在学习阶段,你可以利用这些源码资源进行课程实践、课外项目或毕业设计。通过分析和运行源码,你将深入了解各平台开发的技术细节和最佳实践,逐步培养起自己的项目开发和问题解决能力。此外,在求职或创业过程中,具备跨平台开发能力的大学生将更具竞争力。 其他说明: 为了确保源码资源的可运行性和易用性,特别注意了以下几点:首先,每份源码都提供了详细的运行环境和依赖说明,确保用户能够轻松搭建起开发环境;其次,源码中的注释和文档都非常完善,方便用户快速上手和理解代码;最后,我会定期更新这些源码资源,以适应各平台技术的最新发展和市场需求。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值