SuperAPI AI 工具集

mne-python

数据与分析

查看项目

更新于 10-16 10:34

技能介绍

概述

MNE-Python 是一个面向电生理数据分析的科学计算 Python 工具包,覆盖 MEG、EEG、iEEG、fNIRS 的数据结构、预处理、频谱分析、源建模与可视化。该技能基于 mne==1.11.0、Python 3.13.5 构建;若使用不同版本,需查看 assets/version.txt 并参考 doc/changes/v1.11.rst 了解 API 差异。

用途

该技能有意限定于日常分析的常见工作流,用于完成从信号加载到分段、预处理、时频分析、逆建模与报告生成的完整管道,也适用于传感器域/源空间工作流与电生理质量控制。

主要能力

技能覆盖以下模块:mne.io(原始类与格式读写)、mne.epochs、mne.preprocessing(伪迹检测/校正、ICA、滤波辅助)、mne.time_frequency(PSD/TFR/CSD 估计)、mne.viz(传感器/源绘图)、mne.report,以及基本的正/逆问题设置。

明确不覆盖:所有格式专用读取器的完整覆盖、每一个数据集辅助函数、全部高级波束形成/最小范数变体,以及 mne._fiff / mne.commands 下的底层内部实现。

快速参考中列出的常见接口包括:

函数 / 类 用途
mne.create_info() 构建所有核心容器使用的通道元数据
mne.io.RawArray() 将内存中的连续数据包装为 Raw
mne.make_fixed_length_events() 创建用于分窗的规则事件标记
mne.Epochs() 将连续原始数据切分为事件锁定试次
mne.compute_covariance() 从 epochs 估计噪声/数据协方差
mne.preprocessing.ICA() 配置用于伪迹处理的 ICA 分解
mne.time_frequency.psd_array_welch() 用 Welch 方法从数组计算 PSD
mne.make_sphere_model() 构建简单的头部电导模型
mne.Report() 生成 HTML 质控/报告产物

使用方式

安装

pip install mne

# optional but commonly needed for decoding / ICA workflows
pip install scikit-learn

数据容器与 I/O

import numpy as np
import mne

# tested against mne==1.11.0
info = mne.create_info(["Fz", "Cz"], sfreq=100.0, ch_types="eeg")
raw = mne.io.RawArray(np.random.randn(2, 300), info)
print(raw.get_data().shape)

事件、Epochs 与 Evoked

import numpy as np
import mne

# tested against mne==1.11.0
info = mne.create_info(["EEG 001"], sfreq=100.0, ch_types="eeg")
raw = mne.io.RawArray(np.random.randn(1, 1000), info)
events = mne.make_fixed_length_events(raw, duration=0.5)
epochs = mne.Epochs(raw, events, event_id={"stim": 1}, tmin=0.0, tmax=0.2, baseline=None, preload=True, verbose=False)
print(len(epochs))

预处理与伪迹

import mne

# tested against mne==1.11.0
ica = mne.preprocessing.ICA(n_components=2, method="fastica", random_state=0)
print(ica.method)

频谱与时频分析

import numpy as np
import mne

# tested against mne==1.11.0
sfreq = 200.0
t = np.arange(0, 2, 1 / sfreq)
signal = np.sin(2 * np.pi * 10 * t)
psd, freqs = mne.time_frequency.psd_array_welch(signal, sfreq=sfreq, fmin=1, fmax=40)
print(psd.shape[0], round(float(freqs[psd.argmax()]), 1))

正向、逆向与源基础

import mne

# tested against mne==1.11.0
sphere = mne.make_sphere_model(head_radius=0.09)
print(type(sphere).__name__)

可视化与报告

import mne

# tested against mne==1.11.0
report = mne.Report(title="Synthetic QC")
report.add_html("<p>ok</p>", title="status")
print(len(report))

验证(Medium+)

python .opencode/skills/opensci-skill/scripts/verify-snippets.py --root .opencode/skills/mne-python --fail-fast

覆盖模式与 API 字典

覆盖模式为 hybrid:工作流覆盖体现为 references/*.md 中精选的日常分析路径;字典覆盖提供广泛的符号查找资产,便于在打开源文件前先进行 API 发现。字典资产包括 assets/symbol-index.md(模块级符号导航)、assets/symbol-index.jsonl(机器可读的符号查找记录)与 assets/symbol-cards/(按模块划分、含签名与锚点的符号卡片)。

模块映射:mne.io 为原始类与格式读写器(核心导入路径);mne.preprocessing 为伪迹检测/校正、ICA、滤波辅助(高使用率预处理 API);mne.time_frequency 为 PSD/TFR/CSD 估计器(频谱工作流);mne.viz 为传感器/源绘图后端;mne._fiff.meas_info 为元数据内部实现(Info,标记为 [LARGE],超过 500 行)。导入方式为惰性 __getattr__ 配合由 stub 驱动的 __all__(通过 lazy_loader.attach_stub())。

参考资料文件:references/data-containers-and-io.md(元数据创建、内存 Raw 对象与形状契约)、references/events-epochs-and-evoked.md(事件生成、试次分段与 evoked 平均基础)、references/preprocessing-and-artifacts.md(协方差估计与 ICA 伪迹工作流设置)、references/spectral-and-time-frequency.md(Welch PSD 与常见频谱工作流模式)、references/forward-inverse-and-source.md(球模型、临时协方差与源管道入口)、references/visualization-and-reporting.md(报告生成与快速可视化产物)。

适用场景

适用于 MEG/EEG/iEEG/fNIRS 的日常分析流程:加载原始信号、分段、预处理、时频分析、逆建模、传感器/源空间工作流、报告生成与电生理质量控制。

限制

该技能不覆盖所有格式专用读取器、全部数据集辅助函数、所有高级波束形成/最小范数变体以及底层内部实现;版本不同时 API 可能存在差异,需查阅版本变更文档。关于收费、价格与具体平台信息,资料中暂未提供。