Freesurfer recon-all命令详解及使用示例
一、一些名词解释
atlas 模板,带标签的地图
CA Canonical 典型的,规范的(CA Normalize, CA Register)
GCA Gaussian Classifier Atlas 高斯分类模板
Aseg =CA Label 图像皮层下分割后的标签
二、recon-all所有处理步骤详解
-all
该参数包括了 -autorecon1 -autorecon2 -autorecon3 的所有步骤
-autorecon1
这一部分为基本的图像预处理步骤
- Motion Correction and Conform 头动校正
-<no>motioncor
如果同一个被试有多个影像,将这些影像进行运动校正,修复它们的小运动,将这些影像取平均得到一个校正后的影像。结果输出到mri/orig.mgz文件。- NU(Non-Uniform intensity normalization) 非均匀强度标准化
-<no>nuintensitycor
非参数非均匀强度标准化,校正MR数据中的强度非均匀性,对数据作出相对较少的假设。生成mri/nu.mgz文件。- Talairach transform computation Talairach 变换计算
-<no>talairach
将通过名为talairach的脚本,使用MINC程序计算从原始体积到MNI305 atlas的仿射变换。生成文件mri/transform/talairach.auto.xfm 和 talairach.xfm.- Intensity Normalization 1 强度标准化1
-<no>normalization
执行原始图像的强度标准化,并将结果放置在mri/T1.mgz中。试图纠正强度波动,否则会使基于强度的分割更加困难。缩放所有体素的强度,使白质的平均强度为110。- Skull Strip 去头骨
-<no>skullstrip
从mri/T1.mgz文件中去头骨,结果存储在mri/brainmask.auto.mgz 和 mri/brainmask.mgz。去头骨失败的话可以设置种子点和阈值。
-autorecon2
这一步主要是对T1图像进行分割,生成带有标记的结构区域分割图像。并且创造一个大脑球面。
前6步为自动皮层下结构分割
- EM(GCA) Register (linear volumetric registration) 线性体积配准
-<no>gcareg
将/mri/nu.mgz图像线性配准到GCA atlas。生成文件 mri/transforms/talairach.lta- CA Intensity Normalization CA强度标准化
-<no>canorm
基于GCA模型进一步标准化,生成mri/norm.mgz。- CA Non-linear Volumetric Registration CA非线性体积配准
-<no>careg
将图像再次用非线性配准到 GCA atlas。生成mri/transform/talairach.m3z.- Remove Neck 去除脖子
-<no>rmneck
移除大脑结构图像中的脖子部分。- LTA(EM Registration) with Skull 带头骨进行配准
-<no>skull-lta
配准对齐到mri/nu_noneck.mgz,带有GCA图像处理头骨。生成文件mri/transforms/talairach_with_skull.lta。- CA Label (Volumetric Labeling, ie Aseg) and Statistics CA标签和统计
-<no>calabel
根据GCA模型标记皮质下结构。结果文件为mri/aseg.auto.mgz 和 mri/aseg.mgz.
统计步骤为ASeg Stats (-<no>segstats
) 生成文件stats/aseg.stats.
- Intensity Normalization 2 (start here for control points) 强度归一化
-<no>normalization
使用大脑图像执行第二次(主要)强度校正(因此必须在头骨剥离后进行)。移除颅骨后,强度归一化效果更好。生成brain.mgz文件。- White matter segmentation 白质分割
-<no>segmentation
将白质从其他物质中分离出来。输入mri/brain.mgz,输出mri/wm.mgz。之后调用mri_segment, mri_edit_wm_with_aseg, 和 mri_pretess。- Edit WM With ASeg 用ASeg编辑白质
被上一步调用,输入wm.seg.mgz,brain.mgz,aseg.mgz输出wm.asegedit.mgz。- Fill/cut (start here for wm edits) 填充和剪切
-<no>fill
这将创建皮质下肿块,从中创建原始曲面。中脑是从大脑上切下来的,而大脑的两个半球是相互切下来的。左半球被二值化为255。右半球被二值化为127。输入为mri/wm.mgz,输出为mri/fill.mgz- Tessellation (begins per-hemisphere operations) 曲面细分
-<no>tessellate
这是创建原始曲面的步骤,曲面是通过用三角形覆盖填充的半球来创建的。三角形的点相交的地方称为顶点。创建文件surf/?h.orig.nofix- Orig Surface Smoothing 原始曲面平滑 Smooth1 平滑1
-<no>smooth1
细分后,原始曲面非常锯齿状,因为每个三角形位于体素面的边缘,因此彼此成直角。此处稍微调整顶点位置以减小角度。这仅适用于通货膨胀过程。Smooth1是曲面细分之后的步骤。生成文件surf/?h.smoothwm(.nofix)- Inflate1 膨胀1
-<no>inflate1
膨胀试图最小化度量失真,以便保持距离和面积(即曲面不拉伸)。从这个意义上讲,这就像是给纸袋充气,而不是给气球充气。
Inflate1是曲面细分之后的步骤。 生成surf/?h.inflated, ?h.sulc, ?h.curv, 和 ?h.area文件。- QSphere 准同胚球面
-<no>qsphere
这是自动拓扑修复的初始步骤。它是膨胀曲面的准同胚球面变换,用于定位拓扑缺陷,以便后续自动拓扑修复程序。创建surf/?h.qsphere.nofix文件。- Automatic Topology Fixer 自动拓扑修复s
-<no>fix
使用surf/?h.qsphere.nofix文件来更改原始表面(surf/?h.orig.nofix)以移除缺陷,更改顶点数,所有缺陷都将被清除,但用户应检查体积中的原始表面,以确保其看起来合适。生成surf/?h.orig 文件。- Final Surfs (start here for brain edits for pial surf) 最终表面
-<no>finalsurfs
创建白色曲面(?h.white)和软膜曲面(?h.pial)。同时创建厚度文件(?h.thickness)和曲率文件(?h.curv)。白色曲面是通过“轻推”原始曲面来创建的,以便它密切遵循T1体积中的白灰色强度梯度。软脑膜表面是通过扩展白色表面来创建的,因此它与T1体积中的灰色CSF强度梯度密切相关。- Smooth2 平滑2
-<no>smooth2
smooth2是拓扑修复之后的步骤。- Inflate2 膨胀2
-<no>inflate2
inflate2是拓扑修复之后的步骤。
-autorecon3
这一步主要是大脑曲面映射和自动皮质分割。
- Spherical Mapping 球体映射
未在官网找到相应信息,只在官网有一步为Spherical Inflation-<no>sphere
。球体膨胀将原始曲面膨胀为球体,同时最小化公制失真。为了将曲面配准到球形模板altas,必须执行此步骤。创建surf/?h.sphere文件。- Spherical Registration 球体配准 Ipsilateral Surface Registation (Spherical Morph) 同侧曲面配准(
-<no>surfreg
)
通过surf/?h.sphere文件将原始曲面配准到球形模板上。 曲面先粗糙配准通过对齐在?h.sulc中发现的大尺度折叠模式,然后使用在?h.curv中的小尺度模式精细调整。生成surf/?h.sphere.reg。- Spherical Registration, Contralateral hemisphere 半球配准 Contralateral Surface Registation (Spherical Morph) 对侧曲面配准(
-<no>contasurfreg
)
与同侧相同,但配准到对侧图谱。创建lh.rh.sphere.reg and rh.lh.sphere.reg。- Map average curvature to subject 将平均曲率映射到被试
-<no>avgcurv
将图集中的平均曲率重采样为主体的平均曲率。允许用户使用组的折叠模式(即解剖学)在个人表面显示活动。生成surf/?h.avg_curv。- Cortical Parcellation - Desikan_Killiany and Christophe (Labeling) 皮质分区
-<no>cortparc
为皮质表面的每个位置指定神经解剖学标签。结合来自皮质模型(沟回和曲率)的几何信息和神经解剖学惯例。生成 creates label/?h.aparc.annot。- Cortical Parcellation Statistics 皮质分区统计
-<no>parcstats
创建每个结构的皮质分区统计表。包括1. 结构名称 2. 顶点数量 3. 总曲面面积 4. 总灰质体积 5. 平均皮质厚度 6. 皮质厚度标准误差 7. 积分校正平均曲率 8. 积分校正高斯曲率 9. 折叠指数 10. 固有曲率指数。使用-parcstats
文件保存在stats/?h.aparc.stats。使用-parcstats2
, 文件保存在stats/?h.aparc.a2005s.stats。- Cortical Ribbon Mask 皮质带掩模
-<no>cortribbon
创建皮质带的二进制掩膜,即每个体素要么是1要么是0,取决于是否落在带上。生成?h.ribbon.mgz。 官网描述这一步是-autorecon2步骤的结束,感觉有点问题。- Cortical Parcellation mapping to Aseg 皮质分区映射到Aseg
-<no>cortparc2
同28,生成/label/?h.aparc.a2005s.annot.
三、代码示例
1、执行工作流
使用-all
、-autorecon1
、-autorecon2
、-autorecon3
参数自动执行相应工作流的所有步骤,-i
为原图像路径,-s
为自定义项目名称或被试编号。例:
recon-all -i /home/my/data/T1Img/sub-10056.nii.gz -s 10056 -autorecon1
2、执行自定义步骤
可以不使用提前写好的工作流的-all
、-autorecon1
、-autorecon2
、-autorecon3
步骤,如果想要执行自定义的一些步骤可以按顺序添加步骤的对应命令。在上文中的-<no>cmd
。<>
表示可选。例如-motioncor
表示执行头动校正,-nomotioncor
表示不执行头动校正。例:
recon-all -i /home/my/data/T1Img/sub-10056.nii.gz -s 10056 -motioncor -nuintensitycor -talairach -normalization -gcareg -canorm -careg -rmneck -skull-lta -calabel -normalization2 -segmentation
也可以使用-nomotioncor
自定义去除一些操作
recon-all -i /home/my/data/T1Img/sub-10056.nii.gz -s 10056 -all -nomotioncor
使用时要注意其他步骤的输入和输出文件,有些步骤生成的文件是其他步骤所需要的,因此必须按照相应顺序执行。
3、其他一些补充
如过使用多线程加 -parallel
recon-all -parallel -i /home/my/data/T1Img/sub-10056.nii.gz -s 10056 -all
如果要挂后台执行加 nohup
nohup recon-all -parallel -i /home/my/data/T1Img/sub-10056.nii.gz -s 10056 -all > /home/my/data/log/sun-10056.log 2>&1 &
文章内容主要来自官网,如有错误欢迎指正。
freesurfer官网地址