vf中删除其中一条数据_ERP分析中如何自动删除休息阶段的脑电数据?

为了保证EEG研究中采集到的脑电数据的质量。因此在整个实验任务进行中,研究者往往会设置休息阶段,休息阶段的时长设置一般有以下几种形式:

  1. 被试自主决定
  2. 强制休息一定时长和被试自主决定
  3. 研究者决定

处于休息阶段的被试,可能会有一些轻微的肢体运动等,进而产生更大的脑电伪迹。从而干扰或影响对后续ERP数据分析中正常任务进行时脑电伪迹的识别判断和拒绝。因此,在进行ERP数据分析前有必要删除休息阶段的脑电数据。以往的研究者主要依靠手动的方法去删除相应的数据,这种方法往往需要花费大量的时间和精力,有时候一不留神还可能发生遗漏、错删等现象。我作为一个比较“懒”的人,一直试图摆脱这个痛苦的过程,从知道每次ERP数据分析开始前需要手动删除休息阶段数据开始,我就在寻找一个便捷的方式去计算机去帮我实现这个痛苦的过程,众里寻他千百度,蓦然回首它在别人的代码中。废话到此结束,切入正题,完整代码如下(此代码仅适用于Matlab):

% Transform "boundary" to "-99"
EEG = pop_creabasiceventlist( EEG , 'AlphanumericCleaning', 'on', 'BoundaryNumeric', { -99 }, 'BoundaryString',{ 'boundary' } );
% Remove segments of EEG during the break periods in between trial blocks (defined as2 seconds or longer in between successive stimulus event codes)
EEG = pop_erplabDeleteTimeSegments( EEG , 'displayEEG', 0, 'endEventcodeBufferMS',  2000, 'ignoreUseEventcodes', [111 112 121 122 112 122 212 222], 'ignoreUseType', 'Use', 'startEventcodeBufferMS',  2000, 'timeThresholdMS',  2000 );

代码解读:

由于代码仅适用于数值,但由于脑电采集设备的第一个Marker或Evencodes为 boundary ,为导致后面的代码没法正常运行,因此需要将boundary 转化为一个相应的数值,如:-99。即代码:

EEG  = pop_creabasiceventlist( EEG , 'AlphanumericCleaning', 'on', 'BoundaryNumeric', { -99 }, 'BoundaryString',{ 'boundary' } );

在进行对应转换后,执行如下的代码:

EEG  = pop_erplabDeleteTimeSegments( EEG , 'displayEEG', 0, 'endEventcodeBufferMS',  2000, 'ignoreUseEventcodes', [111112121122211212221222], 'ignoreUseType', 'Use', 'startEventcodeBufferMS',  2000, 'timeThresholdMS',  2000 );

在此代码中,有以下几个内容需要进行修改:第一处需要修改的地方为Maker 或 Evencodes,代码中的示例为:[111 112 121 122 211 212 221 222],你需要将你研究中使用的所有的Maker 或 Evencodes都需要填入,包含事件Marker 和反应Marker。

第二处需要修改的地方为:Maker 或 Evencodes 开始前和结束后的时长,这个需要根据你自己单个试次的时长来自行确定。示例中的时长为 2s ( 2000 ms)。

温馨提示:运行此代码,需要提前在Matlab 中加载EEGlab 和 ERPlab。

实际使用示例:代码使用前:

a2cb1dcc494bf134e691d7732dcf1462.png

使用代码:

EEG  = pop_creabasiceventlist( EEG , 'AlphanumericCleaning', 'on', 'BoundaryNumeric', { -99 }, 'BoundaryString',{ 'boundary' } );
%Remove segments of EEG during the break periods in between trial blocks (defined as 2 seconds or longer in between successive stimulus event codes)
EEG  = pop_erplabDeleteTimeSegments( EEG , 'displayEEG', 0, 'endEventcodeBufferMS', 3000, 'ignoreUseEventcodes',[11 21 22 31 41 43 51 53 61 63 71 73 77 88 99], 'ignoreUseType', 'Use', 'startEventcodeBufferMS',  3000, 'timeThresholdMS', 3000);

使用代码后:

ecd9f88dc5f4001d274aa540005c084b.png

<本篇完>

==流浪心球 精品推荐==ERP数据分析入门指导课程:

01 ERP基础知识 || 02 常见的ERP成分 || 03 ERP的产生和溯源过程 || 04 ERP的优势 || 05 ERP的核心背景知识 || 06 ERP记录与分析方法 || 07 ERP研究的评估

ERP数据分析高阶进击:

ERP数据质量检测新指标(SME)网络研讨会笔记

SME:ERP数据质量检测的新指标基于Matlab、EEGLab和ERPlab的偏侧化差异波(N2pc/Pd/CDA )成分分析方法

EEG数据分析时如何对分段数据进行伪迹检测与排除?

ERP数据分析中N2pc/Pd成分置换检验的实现

EEG/ERP研究中避坑指南:

EEG/ERP研究中如何获得稳定可信的结果或效应

采集最佳质量EEG数据的操作流程(1)

在EEG研究中,如何降低COVID-19的传播风险?

脑电数据分析中如何获取相对干净的数据结果?

EEG神经振荡分析:已公开数据及代码共享

欲知更多详情,请关注公众号知悉。

8188d5edba38b65c52ddb138833cc025.png
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值