sLORETA 溯源实战:ERP 与静息态
没有个体 MRI、没有 Matlab 许可证,也能做规范化的溯源与统计。 这一课用 sLORETA 打通 ERP 与静息态两条路,并给三条路线立一张选择指南。
🎯 本节学习目标
- 理解 sLORETA 的标准化思想:将逆解除以自身的期望方差,让不同深度的源可比
- 说清"零误差定位"的含义与局限:峰值不偏 ≠ 空间分辨率高
- 会安装运行 sLORETA 软件包,理解它与 FieldTrip 生态的差异(模板空间、独立 GUI)
- 完成 ERP 溯源全流程:数据格式准备、时间窗与电极选择、计算与玻璃脑查看
- 完成静息态溯源:δ/θ/α/β/γ 频段功率的源定位,理解与 ERP 输入的区别
- 掌握内置非参数统计(配对/独立、log-F、置换/自举校正),并能按研究问题在三条路线中做出选择
一、sLORETA:给逆解装上"标准化标尺"
7.2 末尾我们抱怨过 MNE 的深度偏置:深部源被低估、浅部被高估,不同深度的激活值根本不可比。 sLORETA(standardized Low Resolution brain Electromagnetic Tomography)的解法聪明而直接: 在 MNE 类逆解之上再加一层统计标准化——把每个体素的估计值除以"假如这个体素是真源时, 估计值本身应该有多大的波动"。
类比很日常:把原始分换算成标准分(z 分数)。语文卷面 90 分和数学卷面 85 分不可比, 但各自班级的 z 分数可比。sLORETA 做的就是给每个脑区一个"z 分数"——深的源天然"难考高分", 那就把它的分母也加大。深度偏置因此大幅缓解(不是完全消除,注意措辞)。
一类对逆解做统计标准化的方法统称:解除以自身方差的理论值(或其平方根)。sLORETA(2002)是鼻祖,后续 eLORETA 进一步优化了权重。FieldTrip 里也有对应实现(cfg.method = 'sloreta' / 'eloreta')。
零误差定位(zero localization error)是 sLORETA 的招牌性质:Pascual-Marqui 在 2002 年证明, 在无噪声条件下,sLORETA 图的峰值恰好落在真源位置。注意它说的是"峰值不偏", 不是说分辨率高——sLORETA 依然是低分辨率方法,峰值周围照样抹开一大片。 论文里既不能拿这句话吹精度,也不能因为它"分辨率低"而不敢用:它换来的是对深度更公平的统计推断。
二、sLORETA 软件包:一个独立于 Matlab 的世界
sLORETA 有一条与前两节课完全不同的实现路线:苏黎世大学 KEY 脑智研究所(Pascual-Marqui 团队)开发的 独立软件包。它的特点决定了你什么时候会选它:
- 独立 GUI,不占 Matlab 许可证:在 Windows 上直接运行——要么是完全独立的可执行版, 要么基于可免费下载的 Matlab Compiler Runtime,总之无需购买 Matlab;
- 固定在模板空间:解空间取 MNI152 标准脑的皮层灰质 + 海马(约 6239 个体素、5mm 分辨率)。 你不能导入个体 MRI——这不是缺陷而是设计:所有被试都在同一副标准脑上, 天然免去了 7.2 第七节"归一化对齐"的整段工作,组级统计开箱即用;
- 代价:头模型与真实头形的偏差、电极配准误差都会进入结果。适合"没有个体 MRI、 想快速得到可复现的组级统计"的场景;有个体 MRI 且要精细定位时,FieldTrip 路线更合适。
从 KEY 研究所官网(uzh.ch/keyinst/loreta)免费下载,按版本说明安装(Windows 环境)。第一次运行先别急着算:先用它自带示例数据走一遍 ERP 溯源流程,确认软件与显卡/系统兼容,再上自己的数据。
三、ERP 溯源实战:从数据准备到玻璃脑
sLORETA 不直接读取 .set / .edf 这类你熟悉的格式,它有自己支持的一批输入格式(常见如 Neuroscan 的 .dat/.avg、BESA 的 .swf 等,随版本略有差异)。所以数据准备是这一课的第一个硬功夫:
- 在 EEGLAB 里把该做的都做完:预处理、分段、必要的平均(导出平均还是分段,取决于你要做单被试定位还是让 sLORETA 内部处理试次);
- 导出:经 EEGLAB 的
File > Export > Data to EDF/BDF/GDF file菜单写成通用格式, 或由采集软件/转换工具直接导出 sLORETA 支持的 .dat / .swf 等格式; - 跨平台转换的三查:电极名是否标准、通道顺序是否一致、参考是否统一(sLORETA 家族默认平均参考)——跨软件转换的头号事故全在这三件事上。
% ---- 导出前的三项自检(在 EEGLAB 命令行运行)----
disp(unique({EEG.chanlocs.labels}')); % 1. 电极名应为标准名(Fp1、Cz、O2……)
disp(EEG.ref); % 2. 当前参考:sLORETA 家族按平均参考设计
disp(EEG.srate); % 3. 采样率:必要时先降采样,导出文件更小
% 三项确认后经 File > Export 菜单导出,或由转换工具写成 .dat / .swf
进入 sLORETA 后,ERP 溯源的流程是四步:
- 导入数据并核对电极:选择与你采集系统匹配的电极配置(通道数与命名要一一对应);
- 指定时间窗:只对感兴趣的窗口求解,例如 P300 就取峰值附近 ±50ms——一窗一成分, 不要整段从头算到尾(时间窗不同,答案不同,这也是要在方法部分报告的参数);
- 计算:等待几秒到几分钟,得到每个体素的电流密度; 查看结果
结果查看器是 sLORETA 的招牌:3D 玻璃脑——半透明的标准脑上叠加热力图, 配合矢状/冠状/横断三个正交切片和一个数值表(体素坐标 + 激活强度 + 对应的解剖区域)。 峰值体素的 MNI 坐标要抄进论文,别只截一张图。
四、静息态溯源:频段功率的源定位
静息态数据的溯源逻辑与 ERP 完全不同:没有事件可锁时,"按时间窗切"变成"按频段切"。 sLORETA 对静息态的标准做法是先计算交叉谱(cross-spectrum)—— 即各频段上电极两两之间的谱关系——再把每个频段的功率投到源空间。
| 频段 | 频率范围 | 静息态溯源常关注的问题 |
|---|---|---|
| δ(delta) | 1–4 Hz | 深部中线结构功率、睡眠状态、病理指标 |
| θ(theta) | 4–8 Hz | 额中线/颞叶功率,与记忆编码相关 |
| α(alpha) | 8–13 Hz | 枕顶功率与抑制、个体差异最大的频段 |
| β(beta) | 13–30 Hz | 中央区功率,与运动/认知控制相关 |
| γ(gamma) | 30 Hz 以上 | 局部绑定假说;对肌电伪迹极敏感(见下方提醒) |
与 ERP 输入的关键区别:
- 输入是分段或连续的静息数据,不需要平均,反而要保留分段以便估计谱;
- 数据量要求更高:功率谱要稳定,通常需要分钟级净数据;
- 更怕伪迹:没有事件可对齐,眨眼、肌电会直接污染频段功率——γ 频段的"激活"里有相当一部分其实是颈部肌电。静息态分析的预处理要从严(模块 2 的功课在这升值)。
头皮肌电的能量从 20Hz 起持续上升,恰好覆盖 γ 频段。报告 γ 频段溯源结果前,务必确认:ICA 已处理肌电成分、目测残余肌电水平、最好报告排除标准。审稿人对这一条几乎必问。
五、内置统计:log-F、置换与自举
sLORETA 最大的工程优势是统计内置:不需要你把结果导出再写代码, 软件直接完成组间/条件间的比较与校正。理解它的三件套:
- 检验类型:配对样本或独立样本 t 检验——对应"被试内两条件比较"与"两组被试比较"两种最常见的设计。 对频段功率这类明显非正态、量纲又不齐的量,谱域比较用 log-F 比值:
- 校正方式:非参数置换(randomization)或自举(bootstrap), 配合全脑最大值法校正多重比较——用"整个脑里最极端的统计量"作为显著性门槛, 既不用假设体素独立(逐体素 Bonferroni 会过分保守),又控制住了整体假阳性。
- 输出:阈值化后的显著差异图(标注校正后 p 值)+ 显著体素清单。
两组(或两条件)谱功率之比的对数。取对数一是让比值近似对称可加,二是让乘性差异变加性,更接近 t 检验的假设。频域统计的标准操作,不是 sLORETA 独有。
这套思路(置换 + 全脑最大值校正)与 FieldTrip 的 ft_sourcestatistics(7.2 第七节)一脉相承——
学会一个,另一个也就懂了。区别只在:sLORETA 把它包进了按钮里,FieldTrip 要你自己拼 cfg。
六、结果报告与图件输出
一份合格的 sLORETA 结果报告,图件与参数要配齐:
- 图件清单:3D 玻璃脑截图(附色标与显著阈值)、三个正交切片图、必要时附峰值体素表(MNI 坐标 + 解剖区域 + 统计量);
- 方法必报参数:软件版本、头模型(模板 BEM/MNI152、6239 体素)、频段定义或时间窗、 统计方法(配对/独立、log-F、置换次数、校正方式)、被试数与排除标准。
用模板头模型的文章,结论要写成"在标准脑空间的电流密度估计",而不是"该被试的某脑区激活"。前者是事实,后者超出了方法能力——审稿人区分得清,你也应该。
七、三条路线怎么选:MNE / Beamformer / sLORETA
模块 7 收官,把三条路线放在一张表里。先看表,再看选择口诀:
| 维度 | MNE(FieldTrip) | Beamformer(FieldTrip) | sLORETA(软件包) |
|---|---|---|---|
| 核心思想 | 最小范数全局解 | 逐点空域滤波 | 标准化的最小范数解 |
| 深度偏置 | 明显,可加权缓解 | 存在,可权重归一化缓解 | 标准化后大幅缓解 |
| 相关源 | 可处理 | 易信号抵消 | 可处理 |
| 时频/诱导响应 | 不自然 | 强项(虚拟电极 + DICS) | 支持频段功率(交叉谱) |
| 输入数据 | ERP(timelock) | ERP + 协方差 + 分试次数据 | .dat / .swf 等自有格式 |
| 工作环境 | Matlab + FieldTrip | Matlab + FieldTrip | 独立 GUI,无需 Matlab 许可 |
| 头模型 | 个体 BEM 最佳,可用模板 | 个体 BEM 最佳,可用模板 | 固定 MNI152 模板 |
| 统计生态 | ft_sourcestatistics 自由拼装 | 同左 | 内置置换/自举 + log-F |
| 适合谁 | 要灵活可控、可个体化的研究者 | 做时频、虚拟电极、源空间连接 | 想快速出组级统计、无个体 MRI |
选择口诀(起点建议,不是铁律):
- 做 ERP 成分定位与组间比较、没有个体 MRI → 从 sLORETA 起步,统计省心;
- 有 FieldTrip/EEGLAB 生态与个体 MRI,要精细可控 → MNE 是标准答案;
- 研究时频、诱导响应、虚拟电极或"先源后连" → Beamformer 不可替代;
- 拿不准 → 先用两条路线跑同一份数据交叉验证:峰值位置一致,结论才敢下(这也是审稿人眼里的加分动作)。
至此,模块 7 把"从头皮电位反推脑内活动"的完整工具链交到了你手上:原理(7.1)、 全局解(7.2)、空域滤波(7.3)、标准化与独立软件(7.4)。 模块 8 将把源定位的产物带进更前沿的应用:微状态、解码与预测——先源后用,路就通了。
📌 本节小结
- sLORETA = MNE 类逆解 + 统计标准化(类 z 分数):深度偏置大幅缓解,代价是幅值不再直接可比
- 零误差定位指"无噪声时峰值不偏",不等于空间分辨率高——sLORETA 仍是低分辨率方法
- sLORETA 软件包独立于 Matlab:固定 MNI152 模板(皮层灰质 + 海马约 6239 体素、5mm),组级统计开箱即用
- 静息态溯源走交叉谱:按频段(δ/θ/α/β/γ)而非时间窗切分,数据量与伪迹控制要求更高
- 内置统计 = 配对/独立 t + log-F + 置换/自举 + 全脑最大值校正:与 ft_sourcestatistics 同一思路
- 选路线口诀:ERP 比较选 sLORETA/MNE,时频与虚拟电极选 Beamformer,要连接就先源后连
✏️ 课后练习
- 把一份预处理好的两个条件的 ERP 数据导出为 sLORETA 支持的格式,完成溯源并截图玻璃脑结果,记录峰值体素的 MNI 坐标。
- 用同一段静息态数据分别计算 α 频段与 β 频段的溯源,对比两个频段功率分布的差异,并各写一句神经科学解释。
- 用内置统计做一次配对比较(两组或两条件),记录校正后的 p 值与显著体素数目,并撰写一段 150 字左右的方法学描述。