dx修复工具_MNEPython简易中文教程 | EEG/MEG数据的伪影识别、修复坏道以及去除坏段...

本文详细介绍了如何使用MNE-Python库处理EEG/MEG数据中的伪影问题,包括环境、测量和生物伪影的类型。通过可视化和自动检测工具,如find_ecg_events()和find_eog_events(),识别ECG和眼动伪影。接着讲解了如何标记和修复坏道,如使用interpolate_bads()进行插值重建,以及如何通过Annotations和reject参数去除数据坏段。
摘要由CSDN通过智能技术生成

25c506a57154f086864f5c9e8196a838.gif

dd1e4857c64a97d36259f3a01e5c383a.png

转载自公众号:路同学

作者:路同学

Hello,

这里是行上行下,我是喵君姐姐~

在之前所发布的“MNE-Python的简易中文教程简单入门”中,我们介绍了使用MNE来对EEG/MEG进行预处理;

另外,在发布的“MNE进阶教程|实例详解EEG/MEG数据读取”教程中,主要介绍了以一个公开数据为案例,详解基于MNE-Python的从“原数据”到“可处理数据”的读取流程。

随后,发布的“MNE-Python简易教程|解析EEG/MEG数据中的事件信息”教程中,详解如何从EEG/MEG数据中解析出事件信息,即介绍MNE-Python中的事件信息的读取。

78d38d27ad1ff29456b1f13b7dcb386c.gif

而在本期中,我们继续邀请路同学带大家详解EEG/MEG数据预处理的核心阶段——伪影的处理。

什么是伪影?

伪影是记录的信号中不属于本来大脑神经元活动的部分,造成这种干扰和噪音的原因很多:

环境伪影

以交流电(典型的50或60Hz)为中心的持续震荡;

由建筑物震动引起的短暂信号跳跃(如砰地一声关上门);

附近电梯、手机、地磁场等产生的电磁干扰。

测量伪影

来自刺激呈现的电磁干扰(如EEG传感器接收未屏蔽耳机产生的磁场);

头部位置指示器(HPI)线圈的特定频率的持续震荡;

由于传感器故障(如电极接触不良)造成的单个导联出现随机的高振幅波动或恒定的零信号。

生物伪影

由于心脏电活动造成的周期性的类似QRS信号模式(尤其在MEG导联中);

由于眼动造成的短暂偏转(尤其在前额EEG导联中);

由于眨眼造成的大幅的瞬态偏转(尤其在前额EEG导联中);

由于吞咽引起的肌肉活动造成的几个通道上出现短暂的高频波动。

如何处理伪影?

三种选择:

1 忽略artifact照旧处理;

2 排除数据坏损的部分,分析剩余的数据;

3 修复artifact同时(希望)保持感兴趣的信号不变。

伪影检测

这是这一节的核心。

首先还是导入example data方便后面的示例:

import osimport numpy as npimport mnesample_data_folder = mne.datasets.sample.data_path()sample_data_raw_file = os.path.join(sample_data_folder, 'MEG', 'sample',                                    'sample_audvis_raw.fif')raw = mne.io.read_raw_fif(sample_data_raw_file)raw.crop(0, 60).load_data()

MNE-Python包括一些用于自动检测的工具,但是用户也可以通过对数据的可视化方式来进行检查。

由于示例数据中包含SSP projector,即数据导联到空间的投影信息,这个信息预留在Raw对象中作为一个单独的变量,这里我们先用del_proj()从Raw对象中删除掉它以便我们检查数据的最原始状态:

ssp_projectors = raw.info['projs']raw.del_proj()

接下来介绍一些典型的伪影:

低频漂移:

低频漂移很容易直接通过最基础的plot()方法观察到,这里我们画出60秒的所有导联的数据:

mag_channels = mne.pick_types(raw.info, meg='mag')raw.plot(duration=60, order=mag_channels, n_channels=len(mag_channels),         remove_dc=False)
1e2a61b1526f9ab27ac99dbf315b1df5.png

低频漂移很容易通过高通滤波以较低的截止频率来消除,通常使用0.1Hz的截止频率可以抑制大部分的漂移。

电力线噪音:

电力线伪影最容易通过绘画能量谱图来观察到,我们使用plot_psd()来说明:

fig = raw.plot_psd(tmax=np.inf, fmax=2
  • 2
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值