基于Python的fMRI数据分析pipeline

项目成员:朱珊珊(南京师范大学)、王金琪(北京语言大学)、陈婉婷(浙江理工大学)、何丹妮(华东师范大学)、葛铠诚(浙江理工大学)、闫石(北京师范大学)、王文常(安徽医科大学)

需要安装以下工具/软件包

0.怎么建立运行环境

为什么要选择使用docker镜像?

环境设置:

python -m pip install --user --upgrade fmriprep-docker

1.数据转换

HeuDiconv (推荐用这个)

2.质量控制

MRIQC package

工作流程设计(Workflow Design)

3.预处理

推荐使用:

fMRIPrep package(示例代码,具体命令行的参数、github链接)

参考论文:
fMRIPrep: a robust preprocessing pipeline for functional MRI | Nature Methods

pAEyek6.png pAEyPl4.png

MRIPrep输出符合BIDS Derivatives 规范(参见BIDS Derivatives以及即将推出的BEP 011BEP 012)。fMRIPrep产生三类结果:

pAEyCpF.png pAEypfU.png

可以参考的代码脚本:
https://github.com/nipreps/fmriprep/blob/master/docs/workflows.rst

pAEyE01.png

结构像预处理

1.INU校正 (INU correction): 校正不均匀性 (Inhomogeneity) 引起的信号强度变化。

2.融合和一致性 (Fuse and Conform): 使数据在空间和分辨率上与模板相匹配。

3.头颅去除 (Skull-stripping): 去除非脑组织部分,只保留脑组织。

原因:减少对配准算法的干扰,优化配准结果;保证在segment中只对脑组织进行,减少伪影和噪声对分割结果的影响,提高分析精准性。

(1)over-stripping;(2)under-stripping

问题可能来源:不同扫描仪不同分辨率的数据,脑内肿瘤等。

可应对策略:多算法结合:结合多种 Skull-stripping 方法或使用集成算法,以提高准确性和鲁棒性。手动校正:在自动化处理后进行必要的人工校正,确保去骨效果。数据预处理:提升原始图像质量,如去噪、校正运动伪影等,以辅助 Skull-stripping 的准确性

4.空间归一化 (Spatial normalization): 将个体大脑映射到标准空间(如MNI空间)。

fmriPrep中脚本设置:

fmriprep /path/to/BIDS_dataset /path/to/output_dir participant --participant-label sub-01 --fs-license-file /path/to/license.txt --output-spaces MNI152NLin2009cAsym

/path/to/BIDS_dataset: 你的数据集所在的目录,遵循 BIDS 格式。/path/to/output_dir: 输出目录,用于存放处理后的数据。
participant: 指定处理级别(在个体层面进行处理);该参数为默认值,可省略;
--participant-label sub-01: 指定处理的受试者编号,例如 sub-01。
--fs-license-file /path/to/license.txt: FreeSurfer 许可文件的路径。
--output-spaces MNI152NLin2009cAsym: 指定空间归一化的目标空间,这里选择了 MNI152 非线性标准空间(2009c非对称版)。

fmriPrep中空间归一化的 --output-spaces 对齐空间的参数调节:

可使用':'对模板进行调节,如'MNI152NLin6Asym:res-2'表明基于resolution 2x2x2mm的标准模板MNI152NLin6Asym进行配准;'fsaverage:den-10k'表明基于网格密度为1w个顶点的 FreeSurfer 的 fsaverage 表面空间进行配准。

MNI空间:

个体空间:

其他标准空间:

 线性配准公式:pAEyi6J.png

a. x是原始图像中的坐标,x′是变换后的坐标,A 是 3×3 的变换矩阵,包含旋转、缩放和剪切参数,b 是平移向量。

b.一般分为刚性变换(rigid transformation) 和 仿射变换(affine transformation);刚性变换是一种特殊的仿射变换,区别在于是否限制A矩阵的正交性(只为正交矩阵即为刚性变换);这些变换允许图像在三维空间中进行旋转、平移、缩放和剪切;

 非线性配准公式:pAEyFX9.png

c.Symmetric Normalization (SyN) 算法(ANTs工具包):以其高精度和对称性著称,能够有效处理复杂的形变。这种算法计算开销较大且处理时间较长;与SPM 使用的非线性配准算法比较,SPM中使用了统一分割与归一化(Unified Segmentation and Normalization)配准算法,结合了解剖先验和灰度信息,特别适合脑解剖结构的标准化;处理时间较短,对极端个体差异的处理可能不够灵活;

d. 其中,T(Imoving,ϕ)是应用变换 ϕ 后的移动图像,Ifixed是固定图像,Metric 是评估配准质量的度量函数(例如互信息、相关系数)

e. 通过更复杂的变形场来捕捉个体脑部解剖结构与标准模板之间的细微差异。基于对称性和正则化的非线性配准算法,其核心思想是通过最小化目标图像和参考图像之间的某种相似性度量来找到最佳的非线性变换;

a. 检查*T1w_preproc.nii.gz

i.是否有非脑组织的残留/是否有部分大脑结构丢失----确认*T1w_brainmask.nii.gz图像中脑部遮盖是否准确覆盖了大脑结构而不包含非脑组织,若有影响需要手动调整或重新生成脑部遮盖(brain mask)。

ii.伪影----确认输入数据是否存在质量问题,如运动伪影或信号不均匀。

b. 检查*T1w2MNI.svg

i.是否有异常的拉伸或压缩现象----需要检查配准参数,重新确定适当的变换模型

5.脑组织分割 (Brain tissue segmentation): 将大脑分割成灰质、白质和脑脊液等区域。

目的:将结构像配到功能像里,就需要进行结构像分割,一般分为灰质、白质、脑脊液。

6.皮层重建 (Surface reconstruction): 使用FreeSurfer或其他工具生成脑皮层的表面模型。

皮层重建的输入:

皮层重建的输出:

皮层重建的工具:

descript

功能像预处理:

在完成结构像的预处理后,接下来的步骤是将功能像与结构像对齐。

  1. 头动校正

Note:功能像是4D的图像,运动校正可以消除假阴性和假阳性,尤其是散乱的、集中在边缘的激活很有可能是伪影;运动校正参数输出:相对运动和绝对运动,较大的跳跃比较慢的漂移更严重,尤其是在相对运动图中。

  1. 层级时间校正

  2. 失真(B0场)校正

  3. 对齐至T1w参考图像

4.功能磁共振分析方法汇总

整理不同包可以做的分析,然后横向对比,各自的优势、局限

分析方法 python包 适用的数据类型 备注
GLM Nilearn, Nipype, fMRIflows 任务态
RSA NeuroRA, PyMVPA,

Nilearn, brainspace
任务态
IS-RSA Nilearn, Brainiak, Pyrsa, PyMVPA, Nipype 任务态
FC Nilearn, Nipype, fMRIflows 任务态、静息态
ISC brainiak 任务态
ISFC brainiak 任务态
PPI/gPPI PyPPI 任务态
GCA PyGranger, MNE-Python 任务态
MVPA nilearn, PyMVPA,brainiak,nipype+sklearn 任务态
Gradient brainspace, sklearn 静息态

注:

1.      generalized form of context dependent psychophysiological interaction method (gPPI)
2.      Granger causality analysis(GCA)
3.      RSA (Representational Similarity Analysis)被试内
4.      IS-RSA (Inter-subject Representational Similarity Analysis)被试间
5.      ISC (Inter-subject correlation)
6.      ISFC (Inter-subject functional connectivity)
7.      MVPA (multi-voxel pattern analysis)

Note.

可视化:nilearn、pysurfer、MRICron、MRICronGL
Spm、fsl(常用于glm分析)
Ica分析 ( (Group ICA of fMRI Toolbox,gift)
Freesurfer
弥散图像 dsistudio mrtrixv
弥散图像 (Diffusion Imaging in Python, Dipy)
amico (Accelerated Microstructure Imaging via Convex Optimization)
机器学习ski-learn
Dpabi