《PLOS Computational Biology》:EEG-Pype: An accessible MNE-Python pipeline with graphical user interface for preprocessing and analysis of resting-state electroencephalography data
编辑推荐:
语
本软件工具旨在降低静息态脑电图(EEG)分析的技术门槛。它提供了一个集成图形用户界面(GUI),无缝衔接了基于MNE-Python的数据预处理(如带通滤波、独立成分分析ICA)与源级(atlas-based beamforming)分析管道,并包含计算量化EEG指标(如功能连接性functional connectivity、网络拓扑network topology)的模块。该工具通过引导式工作流、交互式手动数据选择(bad channel, epoch selection)及保存配置与日志,旨在促进标准化、可重复的神经科学研究,尤其适合无编程背景的临床医生和学生使用。
静息态脑电图(EEG)是一种在神经科学研究和临床实践中广泛应用的技术,能够以毫秒级分辨率测量大脑的动态活动。然而,原始的EEG数据不可避免地会受到多种伪迹的污染,例如肌电活动、眼动、心电伪迹和工频噪声等。为了提取出感兴趣的神经信号,需要进行细致的数据预处理。这一过程通常需要研究者具备信号分析知识、对EEG伪迹特性的了解以及一定的编程经验,构成了一个显著的技术障碍。
现有的强大EEG处理工具箱各具特点,但也存在不同的准入壁垒。例如,EEGLAB和Brainstorm等工具基于MATLAB平台,而MATLAB是商业软件,并非免费可用。MNE-Python是一个功能强大的开源Python包,适用于EEG和脑磁图(MEG)分析,但其主要通过命令行和编写Python脚本进行操作,对许多缺乏编程经验的研究者、学生和临床医生而言仍是一大挑战。早期如BrainWave等工具虽致力于为临床研究者提供友好的EEG分析界面,但其基于预编译的Java代码,在开源开发和可修改性方面面临限制。因此,神经科学领域亟需一个既易于使用,又基于现代、开源和社区驱动平台的新工具。
为此,研究者开发了EEG-Pype。这是一个基于MNE-Python功能构建的、开源(Apache-2.0许可证)的图形用户界面(GUI)应用程序。它专门为静息态EEG数据的预处理和分析设计,旨在通过直观的引导式工作流,降低标准化EEG分析的门槛,促进可重复的研究实践,且不要求用户具备编程知识。
设计理念与工作流程
EEG-Pype的设计哲学源于对静息态EEG分析价值的认识。静息态EEG记录了大脑在无特定任务时的自发活动,对于研究大脑内在功能网络至关重要。虽然不存在“一刀切”的EEG分析方法,但静息态EEG的预处理依赖于相当标准化的步骤,这使得构建一个通用的预处理管道成为可能,从而让研究者能够轻松、可重复地进行EEG预处理。
在预处理策略上,自动化方法(如独立成分分析ICA)和人工检查各有优劣。ICA能有效识别和移除连续记录中的伪迹,并在一定程度上减少预处理的主观性。但其效果可能受到非平稳信号或复杂瞬态伪迹的影响。完全依赖自动技术可能存在伪迹去除不完全或神经信号失真的风险。而人工检查虽然更耗时,但在识别更广泛、更细微或不典型的伪迹方面具有更高的精度。因此,EEG-Pype将核心重点放在提高静息态EEG人工数据选择的效率上。
EEG-Pype通过其图形用户界面引导用户完成一个顺序的预处理工作流。其核心功能是包装MNE-Python函数,主要脚本定义了核心功能,而独立的设置脚本允许高级用户更改默认参数。整个管道支持批量处理,可导入任意数量的原始EEG文件,并利用MNE-Python的通用I/O接口自动检测和导入多种标准电生理格式(如BDF, EDF, FIF, BrainVision等),还包括一个用于处理纯文本(*.txt)文件的自定义解析器。
预处理流程始于初始数据检查。用户首先可以查看未经过滤的功率谱密度图,以评估整体数据质量并识别明显的伪迹(如工频噪声)。接着,软件会自动对数据应用一个宽带有限脉冲响应滤波器,以移除低频漂移和高频噪声。
在运行独立成分分析之前,用户需要识别并删除非EEG通道或空通道。随后,用户可以通过滚动查看滤波后的EEG信号,手动选择噪声过大或信号平坦的通道,这些通道将在后续步骤中被插值。ICA计算基于一个带通滤波后的EEG信号副本进行,并在计算中排除标记为待插值的通道,以提高分解效果并避免违反源独立性假设。ICA分解后,结果会通过MNE-Python的交互式图表显示,包括每个成分在整个测量期间的时间序列图、显示成分空间分布的头皮拓扑图,以及可选的、基于MNE-Python的ICALabel功能自动生成的成分标签和置信度百分比,以辅助用户识别和选择伪迹成分进行去除。
选定待插值的通道会通过球面样条插值法进行处理。之后,用户将看到一个基于用户设定的时长分割出的连续、清洁后的数据段。EEG-Pype在一个交互式窗口中呈现这些数据段用于人工剔除。
用户可以通过点击信号,轻松地从当前高质量数据段的选择中取消选择那些包含瞬态伪迹(如肌肉活动)的数据段,从而在几分钟内快速完成人工数据段选择。在最终以ASCII文本格式导出信号之前,数据可以在可调整的(规范)频带内进行滤波。此外,还可以应用自定义的下采样以减少导出文件的大小。EEG-Pype也可以在不进行数据段选择的情况下运行,此时连续的EEG信号会以ASCII格式保存。
除了处理后的文件,软件还会创建日志和批处理文件。日志文件包含每个设置和步骤的详细信息,便于追溯数据分析步骤。批处理文件允许用户在之后重新运行整个批次,并自动加载之前选择的通道和数据段。
定量分析模块
在预处理并保存数据后,EEG-Pype可以用于计算多种定量EEG指标。该功能利用并行处理能力来提高吞吐量,并通过一个单独的图形用户界面方便地选择要计算的EEG指标和数据。
可计算的指标包括:
- 1.
功率谱密度:可以使用多锥法、Welch法或快速傅里叶变换法计算。基于计算出的功率谱密度,可以计算规范频带内的绝对功率和相对功率。还可以在用户定义的范围内计算峰值频率。
- 2.
熵值:可以计算排列熵、样本熵和近似熵,作为信号复杂性的度量。
- 3.
功能连接性:可以使用三种指标进行评估,包括相位滞后指数、幅度包络相关性(可选择应用正交化以减轻容积传导引起的虚假相关性)以及联合排列熵。
- 4.
网络拓扑学:可以基于从相位滞后指数或(校正后的)幅度包络相关性连接矩阵构建的最小生成树方法,计算各种表征网络组织和效率的指标。
计算结果会跨数据段为每个受试者和条件进行汇总,并保存到Excel文件中。该文件包含全脑(或源区域)平均值、每个条件平均的数据段数量以及所用分析参数的日志。用户还可以选择保存按通道/区域级别平均的结果、平均连接矩阵和/或导出的最小生成树邻接矩阵,以供进一步研究或可视化。
软件应用示例与结果
为展示EEG-Pype的功能和输出,研究者使用软件附带的示例64通道静息态EEG测量数据进行了处理。整个预处理流程(约十分钟的样本记录)耗时约两分钟。
处理过程严格遵循上述工作流。初始检查中,未滤波的功率谱显示出一个明显的50 Hz峰值,对应工频干扰。应用宽带滤波器后,该峰值被完全移除。在进行ICA前,移除了九个非EEG通道。基于滤波后的数据,没有标记出噪声过大的坏通道。随后计算ICA分解,并识别出两个具有明显前部拓扑结构且时间过程特征为眼眨的成分进行去除。清洁后的连续数据被分割成八秒长的数据段,在交互式窗口中,从初始的84个数据段中剔除了29个,最终得到55个高质量数据段用于后续分析。预处理完成后,EEG-Pype保存了处理后的数据,对于样本文件,最终为六个频带保存了330个文件。
使用这55个清洁的、预滤波后的数据段,研究者计算了多种定量指标。结果显示,计算出了规范频带内的绝对和相对功率、θ-α频带内的峰值频率、作为信号复杂性度量的多种熵值、作为功能连接性度量的指标,以及基于连接矩阵计算的最小生成树指标。
讨论与总结
EEG-Pype的开发旨在促进对MNE-Python中EEG预处理方法的访问以及便捷的定量EEG分析。通过提供图形用户界面驱动的工作流,EEG-Pype旨在降低静息态EEG分析的门槛,特别是对临床医生或学生而言。此外,使用标准化管道通过减少方法学变异促进了研究的一致性和可重复性。该工具还通过记录处理步骤和允许可重复的分析,促进了研究数据的FAIR(可查找、可访问、可互操作、可重用)使用。
与基于MATLAB的替代方案相比,EEG-Pype更侧重于易用性,同时仍提供了从原始静息态EEG到可直接分析的预处理数据及常用定量指标的完整功能管道。与另外两个基于MNE-Python的图形用户界面包相比,EEG-Pype的不同之处在于提供了一个无需额外软件的完整EEG预处理管道,其以人工数据段选择为核心的特点是另一个显著区别。EEG-Pype还从早期软件中汲取了概念灵感,强调通过引导式工作流和人工检查来使复杂的EEG分析更易获得。
EEG-Pype的优势在于可以提高EEG预处理和分析的效率与可重复性,同时降低执行这些分析所需的知识量。由于其开源性质,也允许外部贡献和透明的持续开发。其局限性在于管道是半刚性的,允许的定制化程度低于其他EEG预处理解决方案,但这可以看作是易用性和可定制性之间的权衡。另一个局限性涉及当前的波束成形方法,其中使用的噪声协方差估计和基于模板的波束成形是简化方案,虽然这样做是为了易于访问和实施,但相比使用个体MRI数据和专用噪声记录的最佳实践,精度有所降低。
总而言之,EEG-Pype为一个完整的静息态EEG分析管道提供了一个易于访问的开源解决方案,在预处理和定量分析方面具有广泛的功能。软件及其安装使用说明、视频教程和测试数据均可在GitHub仓库获取,并欢迎外部贡献。未来的开发方向可能包括添加更先进的源重建方法以及扩展定量分析模块的功能。