简介
free surfer这一软件要解决的问题是,在3D体素空间,有些体素同时包含了两个或者两个以上的成分。例如同时包含灰质和白质,我们无法确定哪一个成分的贡献更大。
为了解决这一问题,freesurfer采取的解决方案是将3D空间转化为2D表面积空间,划分灰质和白质的边界。
freesurfer的核心命令是recon-all,今天我们来详细了解一下这一命令实现了哪些操作
recon-all过程介绍
-----recon-all是一个重建表面积的过程,包含了freesurfer的全部预处理过程。
-----我们的输入只需要一个高质量的T1图像
-----首先得到一个去颅骨的大脑mask(右上角为文件名,下同)
-----大脑mask范围内的的大脑被分割
-----估计两个半球的白质和灰质之间的界面位置,这些表面估计值存储在名为 ?h.orig 的文件中。然后更精确的估计为?h.white(白质边界)。然后继续往外拓展得到?h.pial(灰质边界)。
-----进一步膨胀成?h.inflated文件
-----进一步膨胀成球体,被归一化为称为 fsaverage 的模板图像。然后就可以使用图谱将皮层划分为解剖学上不同的区域。然后重新塑造成可视化的膨胀的表面或软脑膜表面。
recon-all结果可视化
freeview是freesurfer附带的结果可视化软件。
-----------volume呈现
freeview -v \打开volume图像命令
subjID/mri/T1.mgz \T1原始图像
subjID/mri/aseg.mgz:colormap=lut:opacity=0.2 \定义了colormap和透明度
freeview -f \打开surface图像
subjID/surf/lh.white:edgecolor=blue \左侧白质分割,定义颜色
subjID/surf/lh.pial:edgecolor=red \左侧灰质外表面
----------------surface空间
freeview -f \
subjID/surf/lh.pial:annot=aparc.annot:name=pial_aparc:visible=0 \
加载左半球的脑皮质表面,并应用 aparc.annot 注释文件。在查看器中,此表面被命名为 "pial_aparc",但初始设置为不可见
subjID/surf/lh.pial:annot=aparc.a2009s.annot:name=pial_aparc_des:visible=0 \
subjID/surf/lh.inflated:overlay=lh.thickness:overlay_threshold=0.1,3::name=inflated_thickness:visible=0 \
加载左半球膨胀表面,并覆盖皮层厚度数据(lh.thickness)。它设置了一个覆盖阈值在0.1到3之间,将此配置命名为 "inflated_thickness",并将其设置为初始时不可见
subjID/surf/lh.inflated:visible=0 \
subjID/surf/lh.white:visible=0 \
subjID/surf/lh.pial \
--viewport 3d
将 Freeview 的初始视口设置为3D模式,适合查看三维大脑模型。
逐顶点组间比较
- 首先,将 fsaverage 模板复制到当前目录中
- 其次,创建 FreeSurfer 组描述符 (FSGD) 文件
-
- 创建excel/csv/tsv文件
- 以txt格式保存
- tr '\r' '\n' < glm.txt > glm.fsgd
GroupDescriptorFile 1
Title post_compane
Class G1
Class G2
RescaleFlag 1//重新标准化,混淆变量尺度统一
DemeanFlag 1//去均值,混淆变量尺度统一
Variables age
Input HBNUP001 G1 5
Input HBNUP004 G1 6
Input HBNUP006 G1 7
Input HBNUHT002 G2 8
Input HBNUHT003 G2 9
Input HBNUHT007 G2 10
- 下一步,创建一个contrast文件,用于指定模型中每个回归变量的对比权重
-
- echo "1 -1 0 0" > glm.mtx
1 -1 0 0
- 下一步,使用 mris_preproc 创建组文件
该命令需要以下参数:
-
- FSGD 文件(由选项指示);--fsgd
- 要重新采样到的模板 (--target);
- 指示要重新采样的半球 (--hemi);
- 输出文件的标签。--out
mris_preproc --fsgd glmtmp.fsgd --target fsaverage --hemi lh --meas thickness --out lh_tmp.mgh
- 下一步,用 mri_glmfit拟合一般线性模型
使用以下输入:mri_glmfit
-
- 包含所有受试者结构图(--y);
- FSGD 文件 (--fsgd);
- 对比度列表(每个对比度由包含以下内容的不同行指定--C);
- 指定参考表面和半球 (--surface);
- 对输入文件进行平滑(--fwhm);
- 包含结果的目录的输出标签。--glmdir
- 保存每个体素或顶点的残差。--eres-save
mri_glmfit --y rh_tmp.mgh --fsgd glmtmp.fsgd --C glmtmp.mtx --glmdir group1838.rh --fwhm 10 --surface fsaverage rh --eres-save
- 下一步进行多重比较矫正(蒙特卡洛模拟和多重比较矫正)
-
- 要针对多重比较进行更正的目录 (--glmdir);
- 集群方面的 p 阈值 ,通常设置为 0.05;--cwp
- 分析两个半球的校正(--2spaces)
- --perm 1000 2 abs:指定进行1000次随机排列测试,顶点聚类阈值( -log10(P)),双尾检验
mri_glmfit-sim --glmdir group1838.lh --2spaces --cwp 0.05 --perm 1000 2 abs
- 结果文件
group1838.lh/glmtmp/
---perm.th20.abs.pdf.dat//群集校正的概率分布函数(PDF),提供了校正后群集大小的分布信息。
---perm.th20.abs.sig.cluster.mgh// 经过群集校正后的显著性map,可作为叠加层在脑部图像上可视化。
---perm.th20.abs.sig.cluster.summary //群集的摘要信息,以文本格式提供,包含了每个显著群集的统计数据和位置信息。
---perm.th20.abs.sig.masked.mgh//未经校正的显著性值,仅限于通过群集校正存活下来的群集区域。
---perm.th20.abs.sig.ocn.annot //输出群集编号的注释文件,用于标注每个显著群集。
---perm.th20.abs.sig.ocn.mgh //输出群集编号的分割图,显示每个编号群集的位置。
---perm.th20.abs.sig.voxel.max.dat//最大体素级显著性,提供了整个分析中体素显著性的最大值。
---perm.th20.abs.sig.voxel.mgh//体素级经过多重比较校正的显著性地图,与群集校正相比,这是在体素级别进行的校正。
---perm.th20.abs.y.ocn.dat//每个群集中每个受试者的平均值,提供了群集内个体数据的概览。
参考资料
FreeSurfer Short Course — Andy's Brain Book 1.0 documentation