别人的代码 erp_ERP分析中如何自动删除休息阶段的脑电数据?

18819159cce2e16a2ac4e0c435e88ffe.gif06ed70a0c7b37aea2be4cbde20b39523.png

文章转载自公众号:流浪心球

作者:念靖晴

为了保证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 as 2 seconds or longer in between successive stimulus event codes)EEG = pop_erplabDeleteTimeSegments( EEG , 'displayEEG', 0, 'endEventcodeBufferMS',  2000, 'ignoreUseEventcodes', [111 112 121 122 211 212 221 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', [111 112 121 122 211 212 221 222], '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。 实际使用示例: 代码使用前: e772dc16417d91b90cd3687701db97f4.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);
使用代码后: 56fc9219fb795c3d9748834291b5d09c.png 排版:华华 作者:念靖晴 校对:喵君姐姐 文章转载自公众号:流浪心球 7cb5e603b47059fee81a9e68d90ea821.png 17f69e79f8b9ead746ce88823123a01c.gif

干货 | 脑电-超扫描数据分析

帕金森病患者脑电时空微状态分析

如何使用Cartool工具包分析EEG源成像?

Nature neuroscience:提高EEG/MEG研究可重复性

因为微信更改了推送规则,如果不想错过我们的精彩内容,请点『在看』以及星标⭐我们呦!

ee49a18389cfa0506490c46191c403f2.png

1bb7c13eae748afd29d1bfd591667820.png

a9478f171b2686485bc81d3f23a32bb7.png

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值