MNE开荒纪实

本人是一枚刚入门python的一年级研究僧,目前的科研的方向准备从MEG的源空间入手做课题,在老师的建议下,开始学习MNE的使用操作,本纪实会从原理和实操准备两个方面对日常科研进行记录,以及复盘实操过程中遇到的一些棘手的问题,一做工作记录,二希望自己踩过的坑能对刚入门mne的新手起到一些参考作用。

一、MNE简介

MNE 软件的名称来源于其全称 Minimum Norm Estimate,即最小范数估计。这种方法用于神经影像学中的脑源活动估计,特别是在脑电图(EEG)和脑磁图(MEG)数据分析中广泛使用。MNE 方法在脑源活动的溯源研究中具有非常重要的优势,特别是其非侵入性、高空间分辨率、多模态应用能力和时间分辨率,使其成为神经科学研究中的重要工具之一。

二、MNE的使用手册

MNE对于我们常用的一些流程,包括预处理、源重建等都能进行精度较高的处理,官网的示例数据处理流程能提供一套基础全面的操作,新手练习能把这一套流程跑通就能获得不少收获了。

新手入门可以优先看官网发布的使用手册:The typical M/EEG workflow — MNE 1.7.1 documentation

清楚了整体的数据处理流程后,官网提供了各个流程的示例数据和python脚本用于演示练习,将示例数据和相关处理步骤的脚本下载整理后,就可以开始我们期待已久的实操练习了。

这里提供一些整理过的练习笔记可用于参考(大脑进货中):

Head-MRI trans-优快云博客

三、MNE的安装

MNE的使用依赖于Python环境, 在安装mne之前需要在电脑中完善好需要的编程环境;

如果需要将MRI转换为头皮、内/外颅骨和皮质表面的模型,还需要安装 FreeSurfer,由于FreeSurfer依赖于Linux系统,之后的演示大部分都围绕Linux实操。

Python的安装和编译可以参考这篇笔记:

Python的安装和编译(windows系统+Linux系统)-优快云博客

FreeSurfer的安装和使用可以参考:

MRI生成模型-trans文件可以参考:Head-MRI trans-优快云博客

Windows系统MNE安装和使用可以参考:

MNE的安装主要有两种方法:安装包和源代码(pip/conda),这里我没有区分系统,下载时请注意下载版本

1.安装包下载安装:

下载链接:MNE-Python installers — MNE 1.7.1 documentation

2.pip安装

首先,确认python环境中是否安装pip工具包

$ pip --version

安装MNE,安装过程中如需其他工具包可以使用pip进行安装后重试这一步

$ pip install mne

3.conda安装

如果电脑中安装了Anaconda,可以在conda环境中安装,conda版本要求23.10.0及以上

$ conda update --name=base conda  # update conda
$ conda --version
$ conda create --channel=conda-forge --strict-channel-priority --name=mne mne

其他详情见官网介绍:https://mne.tools/stable/install/index.html

### EEG MNE 溯源分析方法与工具 #### 工具介绍 MNE是一个强大的开源Python工具包,主要用于EEG/MEG的数据分析、处理和可视化[^1]。该工具包提供了丰富的功能来支持溯源分析。 #### 数据准备 为了进行有效的溯源分析,首先需要准备好高质量的原始数据文件。MNE能够读取多种常见格式的生理信号数据,如`.edf`、`.cnt`、.dbf`、`.vhdr`以及`.set`等,并且其默认使用的格式为`.fif`。 #### 前期预处理 在执行具体的溯源算法之前,通常还需要完成一些必要的前期准备工作,这可能涉及到去除噪声、滤波以及其他形式的清理工作。这些操作可以通过调用MNE中的相应函数实现,例如应用带通滤波器以减少不需要频率范围内的干扰成分。 #### 实施溯源分析 对于EEG溯源而言,一种常用的方法是在头模基础上构建正向模型并求解逆问题从而估计大脑内部活动的位置分布。具体来说: - **创建前向模型**:通过定义头部几何结构(头皮表面网格)、导联位置及其对应的传感器配置信息建立物理空间上的映射关系; - **设定逆运算参数**:选择合适的优化策略(最小二乘法或其他),设置约束条件(稀疏度假设)以便更好地拟合实际观测到的时间序列变化模式; - **运行计算过程**:利用内置或自定义的方式启动迭代求解流程直至收敛获得最终的结果图像表示。 以下是简单的代码片段展示如何加载样本数据集并开始基本的溯源分析步骤: ```python import mne from mne.datasets import sample data_path = sample.data_path() raw_fname = data_path + '/MEG/sample/sample_audvis_raw.fif' trans = data_path + '/MEG/sample/sample_audvis_raw-trans.fif' # 转换矩阵路径 subjects_dir = data_path + '/subjects' # 加载原始数据 raw = mne.io.read_raw_fif(raw_fname) # 设置蒙版选项 montage = mne.channels.make_standard_montage('standard_1020') raw.set_montage(montage) # 创建前向解决方案 info = raw.info src = mne.setup_source_space(subject='sample', subjects_dir=subjects_dir) fwd = mne.make_forward_solution(info=info, trans=trans, src=src, meg=True, eeg=False) # 构建逆算子 inv_operator = mne.minimum_norm.make_inverse_operator( info=fwd['info'], forward=fwd, noise_cov=mne.compute_raw_covariance(raw)) # 应用L2-MVPA (Minimum Variance Pattern Analysis) 方法获取激活图谱 stc = mne.minimum_norm.apply_inverse_epochs(epochs, inv_operator, lambda2=1. / 9., method="dSPM") # 可视化结果 brain = stc.plot(initial_time=0.1, hemi='split', views=['lat', 'med'], clim=dict(kind='value', lims=[8, 12, 15])) ``` 上述例子仅作为入门级指导,在真实研究场景下还需考虑更多细节调整以适应特定实验设计需求。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值