MNE预处理脑电数据

1.mne安装和导入数据

import os
import numpy as np
import pandas as pd
import mne
import matplotlib.pyplot as plt
#可交互
%matplotlib qt 
#将数据读进来
raw = mne.io.read_raw_eeglab('data/eeg/f006.set')
#raw1 = mne.io.read_raw_edf('CHB-MIT\chb-mit-scalp-eeg-database-1.0.0\chb01\chb01_01.edf')

 

#查看raw类型
type(raw)
#type(raw1)

#画一下数据图从第20秒开始,持续20秒
raw.plot(start=20,duration=20)
plt.show()

 

### 使用MNE进行脑电信号预处理 #### 导入必要的库并加载数据 为了使用MNE进行脑电信号预处理,首先需要确保已经安装了`mne`包以及其他辅助工具如NumPy, Pandas等。接着可以利用如下代码片段来完成环境配置与数据载入: ```python import os import numpy as np import pandas as pd import mne import matplotlib.pyplot as plt # 设置绘图模式为交互式 %matplotlib qt # 加载EEGLAB格式的数据文件(.set) raw = mne.io.read_raw_eeglab('data/eeg/f006.set') ``` 这段代码展示了如何设置工作环境,并从本地路径读取`.set`类型的记录文件[^3]。 #### 数据可视化初步探索 在正式进入预处理阶段之前,可以通过绘制时间序列图表的方式对原始数据有一个直观的认识: ```python raw.plot() plt.show() ``` 这一步骤有助于发现明显的噪声源或异常情况,从而指导后续更精细的操作[^1]。 #### 应用滤波器去除高频噪音和工频干扰 针对常见的力线频率(通常是50Hz或60Hz),以及肌肉活动引起的高频频带内的杂音,应用带通滤波是一个有效的解决方案: ```python # 对所有通道施加0.5至70 Hz之间的带通滤波 raw.filter(0.5, 70., fir_design='firwin', skip_by_annotation='edge') ``` 此操作能够有效减少无关信号的影响,提高信噪比。 #### 执行独立成分分析(ICA)分离伪迹 ICA是一种强大的盲源分离方法,特别适用于识别并移除由眼动、心搏等因素造成的非神经元性波动。具体实现方式如下所示: ```python ica = mne.preprocessing.ICA(n_components=20, random_state=97, max_iter=800) # 计算ICA组件 ica.fit(raw) # 查看各个ICs的时间历程及其对应的头皮分布图谱 ica.plot_sources(raw) ica.plot_components() # 自动标记坏掉/污染严重的ICs (这里仅作为示范;实际应用中建议人工审核确认) ica.exclude = [idx for idx, val in enumerate(abs(ica.get_sources(raw).get_data().mean(axis=-1))) if abs(val)>1e-4] # 将选定排除列表中的ICs从原数据集中减去 raw_cleaned = ica.apply(raw.copy()) ``` 上述过程不仅实现了自动化的伪影剔除功能,同时也提供了手动调整的机会,使得最终得到的结果更加可靠[^2]。 #### 切分连续记录成事件锁定片段(Epochs) 当完成了基本的质量控制之后,下一步就是依据实验设计定义特定的兴趣时间段——即所谓的“epochs”。例如,在认知心理学研究中,可能会关注刺激呈现时刻前后若干秒内发生的生理变化: ```python events = mne.find_events(raw, stim_channel='STI 014') event_id = {'Auditory/Left': 1, 'Auditory/Right': 2} tmin, tmax = -0.2, 0.5 epochs = mne.Epochs(raw_cleaned, events, event_id=event_id, tmin=tmin, tmax=tmax, baseline=(None, 0), preload=True) ``` 这样就成功构建了一个包含多个epoch对象的新集合,每个epoch都对应着一次试验条件下的瞬态响应。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值