茗创科技专注于脑科学数据处理,涵盖(EEG/ERP, fMRI,结构像,DTI,ASL, ,FNIRS)等,欢迎留言讨论及转发推荐,也欢迎了解茗创科技的课程,数据处理服务及脑科学工作站销售业务,可搜索我们的微信公众号(茗创科技)咨询。
主流fNIRS数据分析工具箱有:Homer2,NIRS-SPM,FC-NIRS,NIRS_KIT。
Homer2:可以用来处理 .nirs格式 的近红外数据,如信号预处理(伪影检测、基线校正、滤波等)、血氧浓度变化、添加mark,观测信号功率谱等。该软件的优点是:用户界面友好和整合的process stream函数。缺点是仅支持.nirs的格式,而且每次处理完数据原始数据会被覆盖。关于更多Homer的知识可以去查看手册或查看这个网址:https://homer-fnirs.org/documentation/#v23
软件下载:
https://www.nitrc.org/projects/homer2
软件引用:
Huppert, T.J., Diamond, S.G., Franceschini, M.A. and Boas, D.A. (2009). “HomER: a review of time-series analysis methods for near-infrared spectroscopy of the brain.” Appl Opt 48(10): D280-98
NIRS-SPM:由韩国生物成像信号处理(BISP)实验室开发,NIRS-SPM继承了SPM软件的风格。在早期的近红外分析,NIRS-SPM受众范围宽广。主界面如下图所示,该软件主要包括四个功能组块:
1.数据转化(data conversion)与空间配准(spatial registration);
2.GLM 模型确定与参数估计(model specification and estimation);
3.统计推断(Inference)与结果显示;
4.时间序列分析(temporal processing)等功能。
我们之前推过一期关于NIRS_SPM个体水平的激活过程。
近红外干货 | NIRS_SPM单被试激活分析过程
软件下载:
https://www.nitrc.org/frs/?group_id=621
软件引用:
Ye, J. C., Tak, S., Jang, K. E., Jung, J., & Jang, J. (2009). NIRS-SPM: statistical parametric mapping for near-infrared spectroscopy. Neuroimage, 44(2), 428-447
FC-NIRS: 功能如其名,主要用于分析近红外数据的功能连接。这个包也是基于MATLAB下开发的,有独立版和code版,适用于多平台。可以查看文献了解更多关于他的功能。
软件下载:
https://www.nitrc.org/frs/?group_id=883
软件引用:
Xu, J., Liu, X., Zhang, J., Li, Z., Wang, X., Fang, F., & Niu, H. (2015). FC-NIRS: a functional connectivity analysis tool for near-infrared spectroscopy data. BioMed research international, 2015.
NIRS_KIT: NIRS-KIT是朱朝喆老师研究团队,于2019年发布的一款同时支持任务态和静息态 fNIRS 数据分析的图形化界面软件。该工具箱涵盖了近红外数据整个分析流程,包括数据准备、质量检查、预处理、个体水平分析、组水平统计和结果可视化。对于任务 fNIRS 数据,基于 GLM 进行个体层面的分析以检测与任务相关的神经激活。对于静息状态 fNIRS 数据,可以计算个体水平的功能连接 (FC)、ALFF/fALFF 和网络指标。对于组水平分析,NIRS-KIT 提供了几种流行的参数模型和多重比较校正方法。NIRS-KIT 提供多种可视化功能,将统计结果可视化。今年7月,NIRS-ICA集成到 NIRS-KIT,NIRS-ICA用于去除 fNIRS 噪声和提取神经活动相关源,进一步丰富了NIRS-KIT数据处理的功能。
软件下载:
https://www.nitrc.org/frs/?group_id=1423
软件引用:
Hou, X., Zhang, Z., Zhao, C., Duan, L., Gong, Y., Li, Z., & Zhu, C. (2021). NIRS-KIT: a MATLAB toolbox for both resting-state and task fNIRS data analysis. Neurophotonics, 8(1), 010802
对比前面的这几个数据处理软件,NIRS_KIT是我认为最为好用的nirs数据处理软件。该软件的主界面如下,几乎具备了NIRS_SPM、Homer,FC-NIRS的功能。
下面具体介绍该软件的使用。
(一)软件下载与安装
1)支持操作系统:Windows7(或windows10)、Linux 和 Mac OS 系统。
2)软件依赖:
1、MATLAB R2012 及以上版本;
2、SPM8 或 SPM12 工具包。
3)软件安装:首先下载NIRS-KIT和SPM安装包,解压后分别添加到 MATLAB的搜索路径。然后,在MATLAB的命令窗口输入“NIRS—KIT”即可打开软件主界面。
(二)功能概览
NIRS-KIT同时支持静息态 fNIRS和任务态fNIRS数据分析。
按照常规的分析流程,静息态 fNIRS 和任务态 fNIRS 数据分析主要包括以下几个步骤: 数据准备、数据检查、预处理、个体水平分析、群组水平分析和结果可视化。
(三)静息态fNIRS 数据分析
1.数据准备
fNIRS研究者借助放置在被试头壳的光源-探测头可探测被试大脑皮层特定位置的神经活动。实验过程除了要记录被试ID、fNIRS设备型号、数据采样率等基本信息外,还要记录包含脑功能相关的时间序列信息,以及测量位置相关的空间信息。
不同的采集设备采集到的数据致格式往往不同,无法直接在NIRS_KIT中进行分析。在数据分析之前,需要利用NIRS_KIT 的数据准备模块(data preparation module),将不同fNIRS设备采集的光强/血氧数据、不同放置位置与排布的光极数据转化整合为统一的NIRS_KIT 数据格式(以 MATLAB 的.mat 格式进行存储)。
(1)脑功能相关的时间序列数据准备
首先,不同fNIRS 的设备采集到的原始数据类型和存储格式有很大的差异。对于数据类型来说,有些NIRS信号采集设备输出原始的光强数据(例如日立的 ETG4000/7000,NIRX 的采集设备),而有些设备可以直接输出经过解算后的血红蛋白数据(例如日立的ETG4000/7000和岛津的 LABNIRS 设备),而且每种采集设备都有各自的存储规范和格式,例如岛津设备输出的原始的时间序列的数据存储格式为 .txt,日立机器输出的原始数据格式为 .csv,NIRX的设备输出的原始数据格式为 .w11和 .w12。我们需要对这些数据类型不同、存储格式各异的原始数据进行格式转换,以便于数据分析时统一读取和写入。
具体的数据格式可从下载的工具包中的样例数据预览
NIRS_KIT软件提供将这些常用设备(岛津、日立和NIRX)不同格式的原始时间序列数据整理成一个统一的易读写的 .mat 格式数据的功能。对于数据类型为光强的原始数据,NIRS_KIT会在数据读入后,采用修正的比尔-朗伯定律进行解算,从而获得血氧浓度数据;对于数据类型已经为血红蛋白浓度变化的原始数据,NIRS_KIT 将其读入并存储为成NIRS_KIT 规定的数据结构。
对于其他一些尚未支持的设备,NIRS_KIT 提供了手动编辑输入的功能(图6),用户可以将原始的光强数据或血氧数据整理成固定格式的 .txt或 .excel文件后输入,并提供一些必要的参数(如DPF 值),然后软件将自动把该数据转换成NIRS-KIT 所支持的血红蛋白数据格式。
除此之外,NIRS_KIT还支持两种常用fNIRS数据分析软件的原始或预处理后的数据(NIRS SPM .mat 和 Homer2 .nirs),可将原有数据格式转换并存储为NIRS-KIT格式。另外,SNIRF 格式是fNIRS 领域最新推出的一个标注的数据共享格式,NIRS-KIT也支持该格式的光强数据作为输入。
(2)空间信息数据准备
1)光极/测量通道的拓扑信息准备(Topo-maker按钮)。fNIRS 研究中,光极板由发射极及接收极组成。一对发射-接收光极形成一个测量通道。发射极、接收极与测量通道的空间拓扑信息在信号质量检查、结果可视化、结果解释中均具有重要意义。NIRS-KIT提供了一些常用光极板配置文件(包括3x3、3x5、3x5x2、3x1及4x4形状的光极板配置文件),用户可以直接选择合适的配置文件,将其整合到NIRS-KIT 的 .mat 文件中。
如果在软件的实例文件中没有与用户要求对应的光极板信息,NIRS-KIT 提供了一个简单且灵活的 Topo-maker模块,支持用户根据自己的要求定制任意形状的光极配置文件(图9)。
2)光极/测量通道在标准脑空间的三维位置信息。fNIRS实验中,光极和测量通道在标准的三维脑空间的位置信息对于结果可视化和对结果进行理论解释十分重要,在文章中通常也要求报告各通道所对应的 MNI 坐标及解剖分区。NIRS-KIT提供了一个配置的模块,支持用户加载从三维定位仪获取的含有被试个体空间发射极、接收极、测量通道及头壳标点与10-20 系统参考点的坐标文件,然后该模块通过调用NFRI工具包实现个体空间坐标到标准脑空间的概率配准,最终输出光极/测量通道在标准脑空间对应的MNI坐标,并将其整合到NIRS-KIT数据文件中。除此之外,该模块还支持输出某一光极/测量通道在几种常用脑图谱(AAL、Brodmann area 和 LPBA40)中对应的解剖分区标号。
2.数据预览与质量检查
在数据准备结束后,我们已经获取了信息丰富且易于读写的NIRS-KIT格式的原始数据文件。血氧数据需要经过数据检查和质量控制后才能进入后续正式的静息态数据分析。NIRS-KIT的数据查看(Data Viewer)模块(图 10)提供了强大的、丰富的可视化功能,以便研究者分别从时域和频域来对fNIRS 数据进行预览和检查,进而全面了解数据的噪声分布特征,帮助确定后续的预处理参数。该模块的主要功能包括:
1.显示测量通道的空间拓扑分布,可以通过手动输入通道的编号,或者点击光极板配置板块中通道对应的编号来便捷地选择要显示的通道时间序列;
2.同时显示所选通道时间序列和对应频谱;
3.用户可以根据自己需要选择显示HbO2、HbR、HbT中的某种或者同时显示多种信号类型;
4.多个选中通道的信号同时显示;
5.对原始信号进行预处理,预处理后信号和原始信号可同时显示,方便看到预处理的效果,以帮助确定最终预处理步骤与参数;
6.其他的辅助功能,例如缩放、剪切、颜色配置等。
3.预处理
在检查完数据,并剔除了质量过差的受试者数据之后,需对数据进行数据预处理,以减少与神经活动无关的噪声对血氧信号的影响。NIRS-KIT 数据预处理模块(preprocessingmodule)提供了一些常用的数据预处理功能,包括时间点剪切(time point trimming)、去漂移(detrending)、头动矫正(motion correction)、滤波(filtering)、噪声回归(noise regression)和重采样(resampling)。用户可以根据自己需要自由选择和组合这些预处理的参数并自定义预处理步骤的顺序。每个预处理功能前面有多个选项,其中数字代表预处理的顺序,当选择“None”代表跳过该预处理。
时间点剪切:在fNIRS静息态扫描开始阶段,由于被试心理状态还未平复,最开始采集的一些数据往往需要被剔除。另外,在有些情况下,当实验结束时并未停止 fNIRS 机器,数据尾部一些数据也需要被删除。在 NIRS-KIT 的预处理(preprocessing)模块中,用户可以根据自己的需要通过该功能对数据“头”和“尾”进行裁剪。
去漂移:在某些情况下,fNIRS的信号随时间会产生慢性漂移。为消除这些系统性的趋势变化,NIRS-KIT采用多项式拟合的算法,估计出一条线性或者非性的变化趋势,并把它从原始的血氧信号中移除。其中,Order(阶数)为多项式的阶数,默认参数为一阶。
头动矫正:某些实验范式中被试需要做一些头部动作(例如言语交流、转头等),或者受试者为婴幼儿和儿童时,如果佩戴的光极帽松散,被试的头部动作可能会导致光极探头与头皮发生相对位移。fNIRS信号中典型的运动伪迹在时间序列上是明显的跳变,且HbO2与HbR会向同向跳变;空间分布上,如果是刚性光极板,头动可能造成整个光极板与头皮发生相对位移,跳变会同时反映在多个测量通道。目前软件提供了两种头动矫正方法来减小头动对信号的影响。其中一种为基于相关信号的改善方法(correlation-based signal improvement,CBSI),该方法假设正常状态下HbO和HbR两种信号成分的波动方向相反,而头动会引起两种信号同向变化。另一种头动矫正方法(temporal derivative distribution repair, TDDR)可以有效地去除各种跳变噪声(spike artifacts)和基线漂移(baseline shifts)除了事后去除头动影响之外,我们还可以事先预防或减小其影响。比如对实验范式进行优化,尽量避免过多或过大的头部动作,例如摇头、抬眉等;实验时间不宜过长,光极帽要有较好的包裹性(泳帽)与舒适性(海绵垫片),以缓解被试因不适感造成的头部动作。
滤波:采集到的fNIRS信号中,除了我们感兴趣区的信号之外,还会有一些生理的噪声(例如呼吸、心跳等),可以通过滤波的方式尽量减小其影响。NIRS-KIT 支持高通(high-pass)、低通(low-pass)和带通(band-pass)三种滤波模式。用户可以根据自己要求选择对应滤波模型,设置高频/低频截止频率。滤波范围需要用户根据自己的目的和噪声信号的分布特征来定。例如,对于静息态脑功能数据来说,在0.01-0.08Hz的低频震荡具有重要的信息意义,可以反映静息状态下大脑自发的神经活动模式。NIRS-KIT 提供了三种常用的滤波器类型来完成上面的滤波功能,分别是有限脉冲响应滤波器(finite impulse response filter, FIR filter)、无限脉冲响应滤波器(infinite impulse response filter, IIR filter)和快速傅里叶变换滤波器(fast Fourier transform filter,FFT filter)。另外需要注意的是,在进行比率低频振幅(fALFF)计算前,应该进行带通滤波以去除无关信号并保留整个神经活动所在的频段,频段的选择可以参考静息态功能磁共振(resting-state fMRI)的 fAlFF分析时的频率(一般是0-0.25Hz)。
噪声回归:fNIRS信号采集过程中,近红外光在到达大脑皮层前,需穿过头皮、颅骨、脑膜与脑脊液等浅层组织。而这些浅层组织中也有血管,其中的血流变化对光子的吸收和散射也会反映到NIRS信号中。为应对这一问题,有研究者在实验中配置短间隔导(1.5cm左右)同步记录浅层噪声,然后通过回归的方法去除其影响。NIRS-KIT的预处理模块提供了相应的功能,如果研究者在实验过程中配置了短导,可以借助该模块去掉浅层噪声。
重采样:实验数据是受试者在不同的机器上以不同的时间采样率获取到的时候,我们需要把所有被试的数据转成相同的采样频率以便后续分析。另外,有时需要对过高时间采样率下获取的数据进行降采样以便减少处理时间和所占用的内存。这里提供了相应的功能,使用户可以根据自己的需要对原有数据进行重采样。自定义的处理方法:在进行fNIRS信号预处理的时候,除了以上几种预处理方法外,用户可能有一些特异的处理需求。为此,NIRS-KIT 在预处理模块,提供了一个更加灵活的自定义接口。用户可以参考软件提供的实例文件来制作自定义的函数,然后通过添加自定义的预处理接口,来完成其特定信号处理目标。
ICA(独立成分分析): 将信号分解成多个源,去除 fNIRS 噪声后,提取神经活动相关源。ICA模块提供了时间序列,频域,空间域这三种可供选择的显示方案。通过设置Singal Type,Source Num Specify,ICA-Settings,可将源信号分成多个子成分。再通过Mode功能自动将噪声源识别出来并剔除,达到ICA去伪影的效果。
4.个体水平分析
在完成静息态fNIRS 数据预处理之后,用户可以通过静息态 fNIRS 个体水平分析模块(图18)进行个体水平分析,例如计算个体水平的功能连接(functional connectivity,FC)、脑网络指标(network metrics)和低频振幅(ALFF/fALFF)。
功能连接:静息功能连接主要测量不同脑区之间的时间序列的相关性。NIRS-KIT 静息态个体水平分析模块支持感兴趣区到感兴趣区(ROI2ROI)、感兴趣区到全脑(ROI2Whole- brain)及脑区通道水平(whole brain channel-wise)的功能连接分析。
网络指标:网络图论指标主要刻画脑网络复杂的拓扑属性,例如局部的和全脑的有效性和模块化指标等。用户可以在“Network Metrics”界面定义感兴趣的网络,然后NIRS- KIT会计算出对应功能连接矩阵(functional connectivity matrix),作为后续分析的输入。然后调用现在广泛使用的脑网络计算工具包 GRETNA加载生成的功能连接矩阵来计算网络的图论指标。
低频振幅:ALFF和 fALFF 是静息态功能分析时的两个重要指标,反映局部自发脑活动的强度。我们将这两个静息态功能指标添加进 NIRS-KIT中。另外,NIRS-KIT 提供 ALFF 和 fALFF 的标准化指标输出:mALFF、ZALFF、mfALFF和zfALFF(图19)。
5.群组水平分析
群体水平分析主要是为了基于多个个体进行比较或相关分析,并作出群体水平的推断。NIRS-KIT 的 Group-level Statistics 模块中提供了常用的统计参数模型来实现群体水平分析(图20),主要包括:单样本t检验(one-sample t- test)、双样本(独立)t检验(two-sample ttest)、配对样本t检验(paired t- test)、相关分析(correlation analysis)、方差分析(包括独立测量和重复测量 ANOVA),和群组水平的平均(average)。由于功能连接矩阵(functional connectivity matrix)的个体分析指标为导与导之间的连接强度值,其数据组织方式与其他指标不同,因此在进行群体水平分析时,需要事先勾选主界面左上角的“FC Matrix”选框进行后续分析。
对于研究不关心的但有可能对分析结果产生影响的无关变量(例如,性别、年龄和训练时间),可以作为协变量添加到这些统计模型中回归掉这些因素对统计结果的影响(图21)。NIRS-KIT在群体水平分析时提供了两种常用的多重比较矫正方法,为FDR矫正和Bonferroni矫正(图21)。此外,用户还可以通过定义一个 mask 在感兴趣的通道范围内进行多重比较矫正(图21)。
6. 结果可视化
在最后的结果可视化阶段,NIRS-KIT 的结果可视化模块(图22)提供了丰富的群组水平(同样也适用于个体水平)的结果可视化功能。对于静息态fNIRS 的ROI2全脑功能连接、低频振幅的结果可视化,可以使用2D 和 3D 两种可视化功能来分析结果。
2D结果可视化(2D Visualization):在2D结果可视化中,光极板配置文件是必需的(附图22)。如果在数据准备中,光极板配置信息被整合进了转换后的数据中,最终生成的个体水平或群体水平的分析结果文件中自带光极板配置信息,这里只需要在输入文件框中选择分析结果文件,NIRS_KIT 会自动读取光极板配置信息。如果在数据准备模块未整合光极板信息,用户可以在2D结果可视化“Add probe set”选框处选择添加对应的光极板配置文件(光极板配置文件的获取请参看数据准备部分)。当NIRS_KIT 读取到分析结果文件和光极板配置信息后,会首先根据光极板配置信息生成一个空白的画板,然后把统计量对应的颜色值投射到该空白画布上。有插值和不插值两种显示模式。
3D 结果可视化(3D Visualization):在3D 结果可视化中(图24),每个测量通道在标准脑空间的MNI坐标信息是必须的(如何获取该信息可参考数据准备部分)。NIRS-KIT 提供了三种 3D 可视化的选项:一种是将每个测量通道分析结果直接投射到一个标准的皮层模板上(例如,ICBM152),然后设置显示参数并导出结果图片;第二种显示方式是使用提供的 NFRI工具包中的nfri_mni_plot 函数将每个测量导的统计值画在三维的玻璃脑上(图24)。另外,NIRS-KIT 的结果可视化模块还提供一种更加灵活的显示方式,将输入的统计分析经过计算后,输入一个广泛使用的 NIFTI格式的文件。然后用户可以将该 NIFTI 文件加载进某些脑影像可视化工具中进行显示,例如MRIcroGL9或者 Surfice。用户可以根据自己的需要来自由选择某一种三维结果显示方式,这里仅以用nfri_mni_plot 函数所生成的结果图作为示例来展示静息态 zfALFF的组水平分析结果,其他的 3D 脑空间的结果显示将在任务态 fNIRS 结果可视化部分进行展示。
对于channel-wise 的功能连接矩阵的结果可视化,NIRS-KIT 的 Matrix Visualization模块同样支持2D和3D 的可视化功能。用户可以通过设置显著性阈值来只显示某些显著的边,还可以定义子网络,或者对测量通道的显示顺序进行重新排列,生成2D效果。对于channel wise的功能连接矩阵的3D可视化,用户可以通过加载含有分析结果的 .mat文件,并且添加含有每个通道 MNI 坐标信息的 excel 文件,然后 NIRS-KIT 通过计算会输出一个节点(node)文件和一个边(edge)的文件。最后,用户可以把 node 和 edge 文件输入到外部的脑连接可视化的软件中进行显示和输出合适的结果文件,例如BrainNet Viewer,生成效果图如图26。
(四)任务态 fNIRS 数据分析
在NIRS-KIT 中任务态NIRS数据分析与静息态数据分析有许多相似之处,以下内容将略过重叠的部分,着重讲解任务态数据处理独特的部分。
1.数据准备
数据准备阶段与静息态 fNIRS 无异,请参考静息态 fNIRS 数据准备模块。
2.数据预览与质量检查
NIRS-KIT 为任务态fNIRS 数据信息预览专门提供了一个界面,用户可以在左下侧通过手动输入或导入事先准备好的任务设计信息来获得任务参考波和任务频率(图27,其中虚线为任务参考波的时间序列和对应的频谱分布信息)。实验设计信息的定义请参考任务态 fNIRS 个体水平分析部分。
3.预处理
任务态fNIRS数据的预处理与静息态fNIRS数据的预处理过程基本无异,请参考以上静息态 fNIRS预处理部分。值得注意的是,在进行任务态数据预处理的时候,需要特别注意滤波时要保留任务频段的信号。
4.个体水平分析
任务态 fNIRS 个体水平的分析流程主要包括:
1、GLM模型定义;
2、GLM参数估计产生每个实验条件对应的β值;
3、计算感兴趣的效应值。
NIRS-KIT Task Individual Analysis 模块(图28)支持以简单快捷的方式完成以上任务态个体水平分析。首先,在添加预处理的数据之后,需要定义 GLM 模型。Task Individual Analysis 模块支持有两种方式输入实验设计信息来构建GLM模型:如果每个被试的设计信息是一样的,用户可以在界面中“Design Type”(设计类型)选择“Same”(相同)进行手动输入每个条件的 condition name(条件名称)、onset time(起始时间)和duration(持续时间)来构建GLM模型(图28);当被试的设计信息不一样,手动输入费事费力且易出错,这里我们提供了一种简洁快速的模型构建方式。用户需事先按照要求(参照示例文件)构建好一个含有每个被试的设计信息的.mat文件,然后将界面“Design Type”类型选择为“Different”(不同),加载该.mat 文件即可快速实现 GLM模型的构建(图28)。在模型创建过程中,NIRS-KIT 还支持将一些无关变量(如浅层噪声的时间序列)作为协变量加入到GLM 中(图28,Add covariate)。当模型构建完成之后,用户可在左侧“Sub list”(子表)选框点击对应的受试者编号在右侧“Design Matrix”(设计矩阵)栏看到该被试对应的设计矩阵。
当模型构建完成后点击“Run”(运行)即可快速完成模型估计,并产生每个被试所有通道在每个条件下对应的β值。
最后,用户可以在“Contrast Manager”板块定义需要的 Contrast Vector(对比矢量)来估计单个条件的激活强度、多个条件的平均强度值、或者两条件之间的差异值。
值得注意的是,用户可以分别去运行任务态个体水平分析的不同分析步骤,也可以在该界面一站式定义好所有设置,把个体水平分析的所有步骤一次运行完毕。
5.群组水平分析
任务态 fNIRS 的组水平分析与静息态 fNIRS 的组水平分析无异,请参考前面静息态 fNIRS 组水平分析部分。
6.结果可视化
静息态fNIRS 的低频振幅(ALFF)结果可视化可同样用于任务态 INIRS结果。
基于matlab的fNIRS工具箱为数据分析提供了很大的方便。但是在使用这些工具箱之前,我们首先需要掌握fNIRS相关的生物学意义及信号的特征,同时我们也要掌握近红外研究实验设计的要求以及实验注意事项。可以细读朱朝喆《近红外光谱脑功能成像》,了解近红外脑功能成像实验设计和数据处理细节。软件包下载有困难的朋友可邮件:[email protected]寻求支援~~
参考资料:朱朝喆《近红外光谱脑功能成像》