第7章:从菜单到脚本:历史面板¶
承接第6章 — ERP 分析。这是 MNELAB 配套指南的最后一章。
到目前为止,你已经通过点击完成了主 MNE-Python 教程以代码形式讲授的"加载 → 预处理 → ICA → 分段 → 平均"这套工作流程。这最后一章要展示把两者直接联系起来的那个功能:MNELAB 的历史面板。
打开历史面板¶
View → History(或按 Ctrl+Y)会打开一个面板,它一直在悄悄记录着自 MNELAB 启动以来你执行的每一个操作——而且记录的不是含糊的描述,而是该操作实际执行的那行 MNE-Python 代码本身。这是 MNELAB 的核心特性之一:用作者自己的话说,它的存在正是为了帮助你"发现之前的操作对应哪个函数",以及"用代码复现你的分析"(Brunner, 2022, Journal of Open Source Software)。
一个实例¶
在示例记录数据上完成本指南第2至5章的操作后,历史面板里大致会留下这样的内容:
data = read_raw("sample_audvis_raw.fif", preload=True)
data.filter(1.0, 40.0)
data.set_eeg_reference("average")
ica.apply(inst=data, exclude=[0, 3])
events, _ = mne.events_from_annotations(data)
data = mne.Epochs(data, events[np.isin(events[:, 2], [1, 2, 3])],
tmin=-0.2, tmax=0.5, baseline=(None, 0), preload=True)
这里的每一行都正是主 MNE-Python 教程第3至7章所讲授的 API——filter()、set_eeg_reference()、ica.apply()、events_from_annotations(),以及 mne.Epochs()。没有任何一行是被转译或近似出来的;历史面板就是一份直接的记录文本。
为什么这里没有格式衔接的章节¶
Brainstorm 和 EEGLAB & ERPLAB 这两条教程都以一章讲述如何跨越一道真实的文件格式边界回到 MNE-Python——比如读取一个 .set 文件,或导出为兼容 FieldTrip 的 .mat 文件。MNELAB 不需要这样的章节:它本身就是 MNE-Python,所以没有什么需要"导入"的东西。历史面板里的内容可以直接粘贴进一个 .py 文件或笔记本的代码单元格并原样运行——不需要任何读取函数,因为数据从一开始就从未真正离开过 MNE-Python 自身的对象模型。
接下来去哪里¶
从这里开始,继续处理你自己的记录数据,正是 MNE-Python 教程应用到你自己的数据这个模板要做的事。许多读者发现,最简单的方式是先在 MNELAB 中探索一份新的数据集,从它的历史面板中复制出相关的代码行,把它们作为那个模板的起点,而不是凭记忆把每一次调用都重新写一遍。
MNELAB 配套指南到此结束——感谢阅读。