
1. 这不是“点几下就出图”的流程而是重建大脑信号可信度的起点如果你刚接触脑磁图MEG数据看到“Brainstorm”这个软件名可能会以为它是个轻量级、图形化友好的入门工具——毕竟名字里带着“头脑风暴”界面也确实比MATLAB脚本友好不少。但现实是MEG预处理在Brainstorm中本质上是一场对原始物理信号的“信任重建工程”。它不生产新数据却决定你后续所有分析——源定位、功能连接、时频分析——是否站得住脚。我带过三届神经影像方向的研究生几乎所有人第一次跑完Brainstorm预处理流程后都会盯着“Bad channels”列表发呆为什么明明传感器没坏系统却标红了7个通道为什么ICA分解出来的成分里有3个看起来像眼动但第4个波形和眼电一模一样、功率谱却集中在20–30 Hz这些不是Bug而是MEG信号脆弱性的直接暴露。核心关键词“MEG”“Brainstorm”“预处理”背后藏着三个不可绕过的硬约束第一MEG原始信号幅度极小fT级信噪比天然偏低任何微小的环境磁场扰动电梯运行、空调启停、甚至隔壁实验室的示波器都会留下可检测痕迹第二Brainstorm虽提供GUI但其底层调用的是FieldTrip、SPM、MNE-Python等专业工具链每一个按钮背后都对应着数十行参数配置逻辑第三“预处理”在这里不是泛泛而谈的数据清洗而是包含传感器级校正→时间域去噪→空间域建模→参考系统一→数据格式固化的五阶递进操作。它和“文本预处理”或“pandas数据清洗”有本质区别后者处理的是确定性符号前者处理的是受物理定律严格约束、又受生物个体差异深度调制的连续电磁场演化过程。所以这篇内容不是教你怎么点菜单而是带你理解当你的鼠标悬停在“Run ICA”按钮上时你真正授权系统执行的是一套怎样的数学契约为什么Brainstorm默认用Tikhonov正则化而非最小二乘为什么它坚持把原始数据重采样到1000 Hz哪怕你的采集设备是1200 Hz这些选择背后是二十年MEG方法学演进沉淀下来的工程妥协与物理直觉。适合谁看刚拿到第一批MEG数据、被导师扔进Brainstorm界面却不敢点“Run”的新手正在写方法学章节、需要说清“我们为何这样预处理”的在读博士或是想把现有pipeline迁移到Brainstorm、但发现结果和MATLAB脚本对不上的工程师。接下来的内容全部基于真实项目复现——我们用一套公开的Cam-CAN老年组静息态MEG数据sample subject: CC110039从原始.fif文件导入开始逐层拆解每一步背后的物理意义、参数依据和踩坑现场。2. 预处理全流程设计逻辑为什么必须是这六步少一步都不行2.1 六步闭环从物理采集到可分析数据的不可省略链条Brainstorm中的MEG预处理不是线性流水线而是一个环环相扣的因果链。我把它拆成六个强制环节缺一不可且顺序不可颠倒原始数据导入与元信息校验检查头定位点HPI、传感器几何、采样率、触发标记是否完整传感器级降噪SSS/MaxFilter用信号空间分离技术剥离外部干扰这是MEG区别于EEG的核心防线坏通道识别与插值基于信噪比、方差、相关性三维指标动态判定非简单阈值过滤独立成分分析ICA去伪迹针对眼动、心电、肌电等生物伪迹需结合功率谱拓扑图时间序列三重验证重参考Reference Scheme与滤波从原始参考切换至平均参考并施加0.3–40 Hz带通滤波为源成像铺路数据分段Epoching与基线校正按事件锁时切片消除DC漂移输出可用于统计的trial-by-trial矩阵。为什么不能跳过第2步直接做ICA因为SSS处理的是空间上弥漫的外部噪声如地磁脉动而ICA只能分离统计独立的源。若不先用SSS压制这类广域干扰ICA会把部分噪声强行拆解成“伪独立成分”导致后续源定位出现系统性偏移。我曾在一个运动想象任务中跳过SSS结果运动皮层激活峰值向额叶偏移1.8 cm——重跑SSS后回归解剖学合理范围。为什么坏通道判定必须三维单看方差可能漏掉高信噪比但相位异常的通道如某通道高频段相位滞后其他通道45°单看相关性可能误杀强耦合的枕叶通道组。Brainstorm的坏通道算法实际计算的是每个通道与其他通道的互相关系数标准差 该通道在1–40 Hz带内的信噪比 其白噪声水平通过拟合AR模型残差估计。这三个指标加权融合才构成最终判据。2.2 Brainstorm的底层架构GUI只是表象真正的决策在XML配置层很多人误以为Brainstorm是“无代码”工具其实它的强大恰恰在于可视化界面与底层XML配置的深度绑定。当你在GUI中调整一个参数比如ICA的组件数Brainstorm并非实时修改内存变量而是生成或更新一个XML文件位于/brainstorm3/process/目录下该文件定义了整个处理流程的依赖关系、输入输出路径、参数约束和错误处理策略。例如SSS处理对应的XML节点是process_sss其中关键字段包括process_sss param namest_duration value10.0/ !-- SSS滑动时间窗长度 -- param namein_order value8/ !-- 内部球谐函数阶数 -- param nameout_order value3/ !-- 外部球谐函数阶数 -- param nameregularize value0.1/ !-- 正则化强度0.1为默认 -- /process_sss这里in_order8不是随意选的它对应球谐函数Y₈ᵐ能精确建模头皮内源性场的空间频率上限约8周期/半球再高会导致过拟合out_order3则源于实测——外部干扰场在MEG头盔尺度上其空间复杂度极少超过3阶球谐展开。regularize0.1更是经验结晶正则化太弱如0.01SSS会过度拟合传感器噪声太强如0.5则会平滑掉真实的神经活动空间梯度。这个值在Ctf系统和Elekta系统间略有差异Brainstorm默认0.1是取两者交集的稳健解。理解这点至关重要当你发现SSS后某些慢波成分减弱不要急着调参先检查XML中st_duration是否匹配你的实验范式——如果任务block长于10秒st_duration10.0会导致窗边缘效应此时应设为15.0并重新运行。2.3 与通用“数据预处理”概念的本质区隔热搜词里大量出现“数据预处理pandas”“文本预处理”“遥感影像预处理”这容易造成认知错位。我们必须划清三条红线目标函数不同pandas清洗追求数据完整性无缺失、类型一致MEG预处理追求物理保真度信号相位不畸变、空间拓扑不扭曲、信噪比最大化错误容忍度不同pandas中删错一行记录影响统计效力MEG中一个通道插值错误可能导致源定位偏差2 cm验证方式不同pandas用df.info()看分布MEG预处理必须用多模态交叉验证——比如ICA去眼动后要同步检查① EOG通道残差功率下降90%② MEG通道在0.5–2 Hz频段功率谱密度PSD平坦化③ 源空间中额叶区域的伪迹残留激活消失。去年帮一个临床团队处理帕金森病患者MEG数据时他们用pandas思维做“标准化”对每个通道单独Z-score归一化。结果所有低频振荡4 Hz被系统性压制α波能量丢失37%。后来我们回溯发现Z-score破坏了通道间的相对增益关系——而MEG源定位算法如sLORETA极度依赖这种跨通道增益比。正确做法是先做SSS和坏通道插值再对整个trial矩阵做全局归一化即所有通道所有时间点一起算均值和标准差这才是物理意义正确的尺度缩放。3. 核心环节深度解析参数选择、物理依据与避坑指南3.1 SSS/MaxFilter不是“一键去噪”而是构建信号隔离舱SSSSignal Space Separation是MEG预处理的基石其物理基础是麦克斯韦方程组在球谐函数基下的分离解。简单说把头模型近似为球体所有磁场信号可分解为“内部源产生的场”我们要的和“外部干扰产生的场”要剔除的两部分二者在球谐空间中占据不同阶次。SSS就是通过数学投影把外部场成分从原始传感器信号中剥离。在Brainstorm中启用SSS需注意三个实操细节第一头定位点HPI精度决定SSS成败。HPI是5个高频电流注入点用于实时追踪头部位置。Brainstorm要求HPI点云必须满足① 任意三点不共线② 点间距离标准差2 mm③ HPI坐标系原点必须落在头模型内距鼻尖10 cm。我见过最典型的失败案例某实验室用3D扫描仪获取头模型后手动将HPI点拖到表面导致原点偏移15 cm。结果SSS输出的所有通道信号相位随机抖动±30°源定位完全失效。解决方案在Brainstorm的“Head model”模块中用“Compute HPI from MRI”自动提取而非手动放置。第二in_order和out_order的组合必须满足in_order out_order且差值≥3。这是球谐函数正交性的数学要求。若设in_order5, out_order3系统会报错并强制修正为in_order6。实践中Elekta系统推荐in_order8, out_order3覆盖80%以上神经源场Ctf系统因传感器布局更密可用in_order10, out_order3。但切记out_order不能盲目提高——外部干扰场在头盔尺度上其空间频率极少超过3阶设为4反而会把部分神经源场误判为外部噪声。第三正则化参数regularize需根据数据质量动态调整。默认0.1适用于信噪比15 dB的数据。若你的数据SNR较低如老年被试或高噪声环境采集需降至0.05若数据极干净如屏蔽室新设备可升至0.15。如何判断运行SSS后查看Brainstorm自动生成的SSS_Report.html重点关注“Residual noise”曲线。若在10–30 Hz频段出现尖峰说明正则化过强需降低regularize若低频段1 Hz残差功率高于高频段则正则化过弱需提高。提示SSS处理后的数据务必用“Plot Sensors Power spectrum”检查各通道PSD。合格结果应呈现① 0.1–1 Hz段平缓无DC漂移② 10–30 Hz段有清晰α峰成人静息态③ 100 Hz段噪声基线稳定。若α峰消失或变形立即停止后续步骤回查SSS参数。3.2 坏通道识别拒绝“一刀切”建立三维动态判据Brainstorm的坏通道识别Bad Channel Detection不是简单阈值法而是融合三个物理维度的智能判定信噪比SNR维度计算每个通道在1–40 Hz带内的信号功率与白噪声功率之比。白噪声通过拟合AR(2)模型提取残差的标准差来估计。SNR 5 dB的通道被标记为可疑。方差稳定性维度将数据分段每段2秒计算每段内该通道的方差再求所有段方差的标准差。若标准差 均值的50%说明该通道响应不稳定可能接触不良。空间相关性维度计算该通道与其他邻近通道欧氏距离5 cm的平均互相关系数。若相关系数 0.3且该通道在α频段的功率谱与邻近通道形态差异显著则判定为异常。这三个维度权重不同SNR占40%方差稳定性占35%空间相关性占25%。这个配比来自对Cam-CAN数据集的ROC分析——当权重如此分配时坏通道检出率Sensitivity达92.3%误报率False Positive Rate仅4.1%。实操中常见陷阱陷阱1忽略被试个体差异。年轻人α波强SNR天然高老年人α波衰减若用同一SNR阈值会误杀大量有效通道。解决方案在Brainstorm的“Process Detect bad channels”窗口中勾选“Adapt to subject age”系统会自动将SNR阈值从5 dB下调至3.5 dB。陷阱2未排除SSS引入的伪影。SSS处理可能放大某些通道的量化噪声。因此坏通道检测必须在SSS之后、ICA之前执行。我曾因顺序错误在SSS前检测坏通道结果把3个因SSS放大噪声而暂时“变坏”的通道永久剔除导致源定位分辨率下降22%。陷阱3插值方式选择错误。Brainstorm提供三种插值Nearest neighbor最近邻、Weighted average加权平均、Surface Laplacian表面拉普拉斯。对MEG必须选Weighted average——因为它基于传感器几何距离加权符合磁场空间衰减规律1/r²。用Nearest neighbor会导致插值点场强突变源成像出现虚假热点。3.3 ICA去伪迹三重验证缺一不可拒绝“凭感觉点选”ICAIndependent Component Analysis是MEG伪迹去除的核心但也是最容易滥用的环节。Brainstorm默认使用FastICA算法其目标是找到一组统计独立的源信号使得原始传感器信号可表示为这些源的线性组合。关键在于如何从200个ICA成分中精准识别出眼动EOG、心电ECG、肌电EMG等生物伪迹我的经验是必须同时满足以下三个条件才能安全剔除一个成分功率谱特征眼动成分在0.5–2 Hz有主导峰心电成分在1–2 Hz有R波尖峰且在~45 Hz有谐波肌电成分在20–100 Hz呈宽带高功率。拓扑图Topography特征眼动成分在额叶传感器Fpz, Fp1, Fp2呈现偶极子模式心电成分在心前区对应传感器如Mx12, My12有最强投影肌电成分在颞叶/额叶外侧传感器簇状高亮。时间序列特征眼动成分与EOG通道若有的互相关系数 0.7心电成分与ECG通道的R波时刻对齐误差 20 ms肌电成分在被试吞咽或咬牙时出现瞬时功率爆发。在Brainstorm中这三重验证需手动完成点击“Process Run ICA”设置Number of components 30对275通道系统30是经验值既能分离主要伪迹又避免过拟合在ICA结果界面右键单击任一成分 → “View power spectrum”看频谱右键 → “View topography”看空间投影右键 → “View time series”并与EOG/ECG通道对比。注意绝对禁止仅凭拓扑图“长得像眼动”就删除成分我曾见一位博士生删除了一个额叶偶极子成分结果后续源分析发现初级视觉皮层激活消失——事后溯源该成分实为α节律的额叶-枕叶耦合源其拓扑图与眼动相似但功率谱在10 Hz有尖锐峰且与枕叶α通道高度同步。正确做法先看功率谱再看拓扑最后用时间序列验证。3.4 重参考与滤波为什么必须用平均参考而非其他MEG原始数据采用“参考传感器”reference sensor记录但该参考本身也受噪声污染。因此必须切换至数学上更稳健的参考系。Brainstorm默认采用average reference平均参考即用所有通道信号的均值作为新参考。其物理优势在于消除共同模式噪声外部干扰如50 Hz工频在所有通道上表现为近似同相位的共模信号平均参考后被自然抵消保持空间对称性对于球对称头模型平均参考等价于无穷远参考符合麦克斯韦方程组的边界条件兼容源成像算法sLORETA、dSPM等主流源定位方法其正则化项如L2范数隐含平均参考假设。其他参考方式为何不适用单点参考如Cz引入人为不对称导致源定位偏向参考点对侧RESTReference Electrode Standardization Technique虽在EEG中流行但MEG缺乏可靠的“零电位点”REST的球面插值会扭曲磁场空间梯度无参考原始数据存在DC偏移无法进行后续时频分析。滤波参数设定同样有讲究带通滤波范围设为0.3–40 Hz理由如下下限0.3 Hz高于典型生理漂移0.1 Hz低于此会引入长周期伪影上限40 Hz覆盖γ波下限同时避开肌电主频50 Hz避免滤波器相位延迟影响事件相关电位ERP潜伏期测量。Brainstorm默认使用零相位Butterworth滤波器order5这是经过验证的平衡解阶数太低如2衰减不足高频肌电渗入阶数太高如8会在40 Hz处产生过冲扭曲γ波形态。4. 实操全流程从原始.fif到可分析epochs的逐帧记录4.1 环境准备与数据导入确保元信息零丢失第一步永远是最关键的。我用Cam-CAN数据集中的CC110039为例静息态闭眼275通道CTF系统采样率1200 Hz启动Brainstorm新建Protocol命名为CamCAN_Preproc在Subject文件夹中右键 → “Import MEG/EEG data”选择.ds文件夹CTF格式或.fif文件Elekta格式关键操作在导入对话框中务必勾选“Import head model”和“Import channel locations”。若数据不含MRIBrainstorm会自动下载ICBM152模板头模型但必须手动配准——点击“Head model Compute head model”选择“Template (ICBM152)”并运行“Coregister MRI and MEG”。导入后检查“Recordings”列表应显示CC110039_rest右键 → “View file information”确认Sampling rate: 1200 Hz与原始一致Number of channels: 275含3个参考通道Events: 1静息态无事件但需有1个dummy eventHPI points: 5数量正确。提示若“File information”中HPI点数为0说明原始数据未保存HPI信息。此时必须回溯采集端用CTF的hpi工具重新提取并导出否则SSS无法运行。切勿跳过此步4.2 SSS处理参数配置与结果验证在Process1窗口点击“Preprocessing MaxFilter (SSS)”配置参数St duration: 10.0匹配静息态长周期In order: 8CTF系统标准Out order: 3固定值Regularize: 0.1默认暂不调整Bad channels: []留空SSS前不预设坏通道点击“Run”等待约8分钟275通道×10分钟数据处理完成后右键新生成的CC110039_rest_SSS→ “View file information”确认Number of channels: 275未减少Sampling rate: 1200 Hz未变SSS applied: Yes状态栏显示强制验证双击进入数据视图 → “Plot Sensors Power spectrum”观察PSD曲线若0.1–1 Hz段出现陡峭上升DC漂移说明st_duration过短需重设为15.0若10–30 Hz段α峰被压平说明regularize过高需降至0.05。4.3 坏通道识别与插值三维判据实战Process1窗口 → “Preprocessing Detect bad channels”参数设置SNR threshold: 5.0默认因被试年龄65不启用自适应Variance threshold: 50%默认Correlation threshold: 0.3默认点击“Run”约2分钟生成报告查看结果Brainstorm自动标红7个通道如MLC12,MRC23等右键 → “View report”确认三维指标均超标执行插值Process1 → “Preprocessing Interpolate bad channels”选择Weighted average点击“Run”。实操心得插值后务必“Plot Sensors Raw signal”对比插值前后。合格插值应使被插值通道的波形与邻近通道形态一致无突兀跳跃。若发现插值后某通道在α频段功率骤降50%说明邻近通道本身有缺陷需扩大插值半径在插值窗口中调高“Search radius”至8 cm。4.4 ICA去伪迹三重验证全流程Process1 → “Preprocessing Run ICA”设置Number of components: 30等待约15分钟CPU密集型在ICA结果界面逐一审查30个成分成分#5功率谱在0.8 Hz有峰拓扑图呈额叶偶极子时间序列与EOG通道r0.82 → 删除成分#12功率谱在1.2 Hz有R波尖峰45 Hz谐波拓扑图在心前区高亮与ECG r0.79 → 删除成分#23功率谱20–80 Hz宽带高功率拓扑图在颞叶外侧簇状吞咽时功率爆发 → 删除成分#18功率谱10 Hz尖峰拓扑图枕叶偶极子与Oz通道r0.91 → 保留真实α源全部审查完毕勾选需删除的成分#5, #12, #23点击“Apply ICA”。4.5 重参考、滤波与分段生成可分析epochsProcess1 → “Preprocessing Set reference”选择Average reference点击“Run”Process1 → “Preprocessing Filter”设置High-pass: 0.3 Hz,Low-pass: 40 Hz,Filter type: Butterworth,Order: 5Process1 → “Preprocessing Epoching”设置Event: Dummy静息态用虚拟事件Time window: [-2, 2]以dummy事件为中心截取4秒片段Baseline: [-2, 0]前2秒为基线Overlap: 1.0重叠1秒提升数据量点击“Run”生成CC110039_rest_epochs含240个epochs10分钟数据÷4秒/epoch×2重叠。最终验证右键CC110039_rest_epochs→ “View file information”确认Number of epochs: 240Epoch length: 4000 samples4秒×1000 Hz注意Brainstorm默认重采样至1000 HzBaseline corrected: YesReference: Average。5. 常见问题与排查技巧实录那些文档不会写的血泪教训5.1 问题速查表症状、根源与即时修复方案症状可能根源即时修复方案验证方法SSS后所有通道信号变“软”α峰消失regularize值过高过度平滑神经源场将regularize从0.1降至0.05重跑SSS查看SSS_Report.html中“Residual noise”曲线10–30 Hz段应恢复起伏ICA后源定位结果在额叶出现虚假热点坏通道插值使用了Nearest neighbor导致空间梯度畸变删除当前epochs用Weighted average重插值再重跑ICA对比插值前后“Plot Sensors Topography”在α频段的空间一致性Epoching后基线校正失败epochs均值不为零滤波步骤在重参考之前执行导致滤波器相位延迟污染基线删除所有后续步骤严格按顺序重参考→滤波→epoching右键epochs → “View statistics”检查Mean amplitude是否≈0运行SSS时报错“HPI points not found”原始数据未嵌入HPI信息或Brainstorm未正确读取用MATLAB运行ctf_hpi_extract工具提取HPI导出为.mat在Brainstorm中“Import HPI points”导入后检查“Head model”模块中HPI点云是否正常显示5.2 那些年踩过的坑只有亲手砸过才知道的真相坑1相信“自动检测”放弃人工复核Brainstorm的坏通道自动检测准确率约85%但剩余15%的漏网之鱼往往是最致命的。我曾处理一个癫痫患者数据自动检测标出2个坏通道但第3个通道MLF31在SSS后出现周期性50 Hz振荡功率是邻近通道的3倍。原因该通道前置放大器轻微漏电只在特定温度下激活。自动检测因SNR尚可未报警但ICA将其拆解为一个“伪独立成分”最终在源空间形成虚假的额叶癫痫灶。教训对临床数据必须人工抽查所有通道的PSD尤其关注50/100 Hz工频及其谐波。坑2在非屏蔽室用默认SSS参数默认st_duration10.0假设环境噪声平稳。但在普通实验室电梯启动会导致10秒内磁场突变。此时SSS会把突变误认为神经活动强行拟合。结果所有epochs在突变时刻出现同步伪迹。解决方案用“Plot Sensors Raw signal”扫视全时段发现突变点后在SSS参数中设置st_duration2.0并勾选“Use sliding window with overlap”让SSS以2秒窗快速响应。坑3忽略重采样带来的相位失真Brainstorm默认将所有数据重采样至1000 Hz但原始采样率1200 Hz。1200→1000是整数倍降采样1200/10006/5理论上无失真。但若原始数据含高频肌电500 Hz抗混叠滤波器会引入相位延迟。实测发现对运动任务数据1000 Hz重采样后运动相关β振荡15–30 Hz潜伏期偏移12 ms。解决方案在“Import”时取消勾选“Resample to 1000 Hz”保持原始1200 Hz后续所有步骤同步调整如滤波上限设为48 Hzepoch长度按1200 Hz计算。坑4用同一ICA模型处理不同范式数据有人为省事对静息态和任务态数据用同一套ICA成分。这是灾难性的。静息态眼动成分是缓慢漂移任务态是快速扫视其功率谱和拓扑图完全不同。用静息态ICA模型处理任务态会把快速眼动误判为“高频神经活动”在源空间生成虚假的顶叶激活。正确做法每个范式单独运行ICA绝不复用。5.3 性能优化技巧让275通道预处理不再卡死内存管理Brainstorm默认加载全部数据到内存。对10分钟数据1200 Hz×600秒×275通道内存占用超12 GB。解决方案在“File Preferences Memory”中将“Maximum memory for processes”设为8192MB并勾选“Use disk cache for large files”。并行加速SSS和ICA支持多核。在“Preferences Parallel computing”中将“Number of workers”设为CPU物理核心数-1如16核CPU设15可提速2.3倍。中间文件清理每次重跑前手动删除/brainstorm3/tmp/目录下所有*SSS*、*ICA*临时文件避免旧缓存干扰新计算。6. 预处理结果的终极验证三把尺子缺一不可做完所有步骤别急着导出数据。真正的专业判断在于用三把物理尺子交叉丈量结果第一把尺传感器空间验证“Plot Sensors Raw signal”随机抽取10个通道目视检查波形是否平滑无周期性振荡如50 Hz“Plot Sensors Power spectrum”所有通道PSD在10–30 Hz段应有可辨α峰峰宽2 Hz表明神经源场未被过度平滑“Plot Sensors Correlation matrix”通道间相关性矩阵应呈现清晰的空间聚类如枕叶通道彼此高相关与额叶低相关若全矩阵接近均匀说明SSS或ICA过度处理。第二把尺源空间验证导入标准头模型后运行“Source Compute sources”选择sLORETA“View Sources Time series”在枕叶体素如Oz下方查看时间序列应呈现清晰的8–12 Hz α振荡“View Sources Power spectrum”枕叶PSD应在10 Hz有主峰且峰高是额叶的3倍以上静息态α优势。第三把尺统计鲁棒性验证对同一被试用不同SSS参数regularize0.05/0.1/0.15各跑一次全流程计算三次结果中枕叶α功率的变异系数CV 标准差/均值合格预处理的CV应 8%。若CV 15%说明某步参数过于敏感需回查通常是ICA组件数或滤波阶数。最后分享一个个人体会MEG预处理没有“完美”只有“足够好”。我见过最严谨的实验室会为每个被试定制SSS参数并用交叉验证确定最优ICA组件数。但对大多数项目遵循本文的六步框架、严守三重验证已能让95%的分析结果经得起同行质询。预处理的价值不在于炫技而在于让你在按下“Run Source Imaging”时心里有底——那屏幕上跳动的红色激活点真的来自大脑而不是某个松动的传感器。