EEG 脑电信号处理合集(2): 信号预处理

脑电信号在采集完以后,需要进行一系列的预处理操作,然后才能用于后续的科学研究和计算。预处理是脑电信号分析最基本且重要的一步。基于python环境MNE库。

1 使用带通滤波器,信号滤波,去噪,去工频干扰

python 复制代码
data_path = sample.data_path()
meg_path = data_path / "MEG" / "sample"
raw_fname = meg_path / "sample_audvis_filt-0-40_raw.fif"

raw = mne.io.read_raw_fif(raw_fname).crop(0, 60).pick("meg").load_data()

reject = dict(mag=5e-12, grad=4000e-13)
raw.filter(1, 30, fir_design="firwin")

加载完raw数据以后,直接使用raw.filter() 进行带通滤波。

2 进行独立成分分析,去除一些artifacts

由于独立成分分析对低飘移很敏感,所以一般在进行独立成分分析之前,需要对数据进行高通滤波,一般高通滤波的截止频率为1H在。

这里可以使用mne.preporcess.ICA() 函数 实现对raw信号的独立成分分析。

python 复制代码
def run_ica(method, fit_params=None):
    ica = ICA(
        n_components=20,
        method=method,
        fit_params=fit_params,
        max_iter="auto",
        random_state=0,
    )
    t0 = time()
    ica.fit(raw, reject=reject)
    fit_time = time() - t0
    title = "ICA decomposition using %s (took %.1fs)" % (method, fit_time)
    ica.plot_components(title=title)
相关推荐
techdashen3 分钟前
性能比拼: Go标准库 vs Python FastAPI
python·golang·fastapi
键盘上的GG小怪兽GG15 分钟前
Centos主机检查脚本
开发语言·网络·python
ak啊18 分钟前
PyTorch框架-Python GPU编程
pytorch·python·gpu
Python之栈23 分钟前
再见VS Code!Google IDE 正颠覆传统开发体验
ide·vscode·python
lzq60334 分钟前
【Python实战】用Pandas轻松实现Excel数据清洗与可视化
python·excel·pandas
engchina1 小时前
vLLM 部署 openai whisper 模型实现语音转文字
人工智能·python·whisper
灵犀海棠2 小时前
通过Anaconda Prompt激活某个虚拟环境并安装第三方库
python
cainiao0806052 小时前
Neuralink API开发指南:用Python读取脑电信号控制智能家居
开发语言·python·智能家居
独好紫罗兰2 小时前
洛谷题单2-P2433 【深基1-2】小学数学 N 合一-python-流程图重构
开发语言·python·算法
独好紫罗兰2 小时前
洛谷题单2-P5709 【深基2.习6】Apples Prologue 苹果和虫子-python-流程图重构
开发语言·python·算法