关于 mne
MNE 是面向研究人员和临床研究团队的神经生理分析工具包,可处理 EEG 和 MEG 记录。它涵盖信号预处理、事件相关响应、连接性分析和脑内信号源定位。
主要功能
- 01EEG 与 MEG 信号滤波
- 02分段与诱发响应分析
- 03信号源定位
- 04连接性分析
- 05伪迹检查与剔除
适用场景
- 01预处理 EEG 或 MEG 记录
- 02分析事件相关电位
- 03将信号定位到脑区
- 04为机器学习准备神经生理数据
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ tondevrel/ scientific-agent-skills --skill mne安装后在 Claude Code 中输入/mne确认已加载。
详细介绍
MNE - 神经生理学分析
MNE 提供了先进的工具,可用于滤波脑信号、对数据分段,并执行源定位(将信号映射回脑部解剖结构)。
适用场景
- 处理临床或研究中的 EEG/MEG 记录。
- 分析事件相关电位(ERP)。
- 源定位(查找脑信号的来源位置)。
- 分析脑区之间的连接性。
- 为机器学习预处理神经生理数据。
核心原则
原始数据 → 分段 → 诱发响应
标准流程:连续原始数据 → 分段后的数据 → 平均诱发响应。
传感器空间与源空间
传感器空间:电极上的信号。源空间:在脑部位置重建的信号。
频率分析
脑信号按频段进行分析(delta、theta、alpha、beta、gamma)。
快速参考
标准导入
import mne
import numpy as np
基本模式
# 1. Load data
raw = mne.io.read_raw_fif("sample_audvis_raw.fif")
# Or: raw = mne.io.read_raw_edf("eeg.edf")
# 2. Filter and cleaning
raw.filter(l_freq=1, h_freq=40) # Bandpass filter
raw.notch_filter(freqs=[50, 100]) # Remove power line noise
# 3. Find events and create Epochs
events = mne.find_events(raw)
epochs = mne.Epochs(raw, events, event_id={'stimulus': 1}, tmin=-0.2, tmax=0.5)
epochs.average().plot() # Plot Evoked potential
# 4. Frequency analysis
epochs.compute_psd().plot()
关键规则
✅ 应该做
- 先滤波,再分段 - 对连续数据应用滤波器,而非对分段数据应用。
- 检查数据质量 - 使用
raw.plot()目视检查伪迹。 - 设置电极布局 - 指定电极位置,以便正确可视化。
- 剔除不良分段 - 平均前移除含有伪迹的分段。
❌ 不应该做
- 不要过度滤波 - 过度滤波会连同噪声一起去除信号。
- 不要忽略参考电极 - EEG 信号是相对的。请了解所用的参考电极。
- 不要混用采样率 - 确保所有通道的采样率相同。
高级模式
源定位
# Compute forward solution and inverse
fwd = mne.make_forward_solution(raw.info, trans, src, bem)
inv = mne.minimum_norm.make_inverse_operator(raw.info, fwd, cov)
stc = mne.minimum_norm.apply_inverse(evoked, inv)
stc.plot()
连接性分析
from mne.connectivity import spectral_connectivity
# Compute connectivity between channels
con, freqs, times, n_epochs, n_tapers = spectral_connectivity(
epochs, method='coh', mode='multitaper')
MNE 是神经生理数据分析的行业标准,可帮助研究人员从人脑复杂的信号中提取有意义的见解。
评论
支持 Markdown