基于FSL的DTI数据预处理流程
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
基于FSL的DTI数据预处理流程
最近在学习处理DTI数据,总结了一份应用FSL做DTI数据预处理的流程与大家交流交流。
如果有错误的地方欢迎大家指正!
我用的数据是Philips的数据,如果是GE或者西门子的数据可能会有所不同。
原始数据:包括3DT1数据和高分辨率DTI数据,均是dicom格式。
工具:MRICRON和FSL,所有的命令均在Linux的终端中运行。
1.格式转换:将后缀名为dcm的原始数据转换为后缀名为nii.gz格式的数据。
nii.gz格式的数据不损失原始数据信息,并且能节省大量空间。
FSL能够处理的是nii.gz格式的数据。
命令:dcm2nii *.dcm
需处理的文件包括:3D T1数据和DTI数据
输出文件说明:
1)3D结构像生成原文件、o开头、co开头的文件。
其中o开头的文件主要是进行了reorient 的,而co是经过切割了neck的。
一般用于空间normalize都选用co开头的文件。
为了便于说明,此处生存的文件名记为file1。
2)对于DTI数据,Philips的数据选用已x开头的.nii.gz文件。
文件名记为file2.
转换完成后需要检查bvals和bvecs文件。
可以在matlab中查看所有被试的bvlas文件,检查b值是否一致,方向数是否相同;检查bvecs文件,查看不同被试的DTI方向差别是否太大。
2.提取b0图像
需处理的文件为:.nii.gz格式的DTI数据
命令:fslroi file2 b0 0 -1 0 -1 0 -1 0 1
输出文件:b0.nii.gz
3.剥脑
命令:bet2 b0.nii.gz nodif_brain -m -f 0.3
bet2 file1 -m -f 0.3
需处理的文件包括:.nii.gz格式的3DT1数据和DTI数据
输出文件:nodif_brain.nii.gz和nodif_brain_mask.nii.gz
需要检查剥脑效果,后面如果想做TBSS的话,个别被试的剥脑结果不好的话会影响整个骨架的mask。
4.涡流校正
命令:eddy_correct file2 data 0
输入文件:.nii.gz格式的DTI数据
输出文件:data.nii.gz
此处生成的文件data.nii.gz就是包含后面一系列处理需要使用的文件了。
5.计算张量,FA,MD值等
命令:dtifit --data=data.nii.gz --out=data--mask=nodif_brain_mask.nii.gz --bvecs=bvecs --bvals=bvals
输入文件:eddy_currect生成的文件data.nii.gz,nodif_brain_mask.nii.gz,bvlas,bvecs
输出文件:data_FA.nii.gz data_L1.nii.gz data_L2.nii.gz data_L3.nii.gzdata_MD.nii.gz data_MO.nii.gz data_SO.nii.gz data_V1.nii.gzdata_V2.nii.gz data_V3.nii.gz
DTI数据的预处理基本上就包括上面这些内容,此时计算出来的各项数据均是个体空间下的,没有配准到标准空间里,不能直接做组间对比。
后续还可以依据data.nii.gz文件在dtk上做确定性纤维跟踪,也可以继续在FSL上进行概率性纤维跟踪或者TBSS。
基于TBSS的DTI数据处理流程
Linux系统,安装好FSL,DTI数据完成预处理后可进行TBSS处理,比较各组间FA骨架的差异。
1.数据准备:
在研究目录下,创建一个叫’TBSS’,并且把所有被试个体空间下的FA图像(data_FA.nii.gz)拷贝到该目录中。
mkdir TBSS
cd TBSS
ls
AD_N00300_dti_data_FA.nii.gz
AD_N00302_dti_data_FA.nii.gz
MCI_N00499_dti_data_FA.nii.gz
MCI_N00373_dti_data_FA.nii.gz
NC_N00422_dti_data_FA.nii.gz
NC_N03600_dti_data_FA.nii.gz
2.TBSS预处理:scaling the image values、converting them to Analyzeformat,,这两步都是alignment stage必需的
命令:tbss_1_preproc *.nii.gz
这一步生成两个新的目录:‘FA’包含新的转换过的图像;‘origdata’包含原始图片。
origdata 目录下的slicedir文件夹下有各被试预处理后的FA图,可以检查一下是否有数据问题。
3.运用非线性配准将所有被试的FA图像对齐。
命令:tbss_2_reg
1)最准确的方法是把每个被试的图像与其他被试的图像进行一一对齐,然后选出整个数据中最有代表性的图像,其他的图像都与它对齐。
这个方法需要数天的时间(12人数据量)。
最后每个被试的图像会配准到MNI152标准模板上。
选择-n参数。
2)第二种方法就是实现指定一张目标图像,然后把其他的所有的图像都与它对齐,这个方法也能得到很好的结果,并且能够节省很多时间。
作为指定的目标图像,我们可以浏览所有被试的数据,然后选择一张我们认为最有代表性的图像,也可以在fsl提供的模板中选择一张。
将选择的模板拷贝到FA目录下。
选择-t参数。
3)直接使用FSL的FMRIB58模板。
使用-T参数。
比较简单的是直接使用-T参数,如果被试是儿童等特殊群体,那么就不适合用标准模板了,这种情况下建议使用-n参数。
4.创建平均FA图像和FA骨架
命令:tbss_3_postreg
参数:-S :配准到MNI152标准空间(推荐)
-T :配准到FMRIB58标准空间
这一步会在tbss目录下生成一个新的名为stats的目录,里面有一个文件名为‘all_FA.nii.gz’。
这是一个4D图像,包含所有对齐过的FA图像。
创建的平均FA骨架为mean_FA_skeleton.nii.gz 。
为了确定下一步分析所用的FA骨架的阈值,此处需要通过修改FA骨架的-b值做一些尝试。
命令:
cd stats
fslview all_FA -b 0,0.8 mean_FA_skeleton -b 0.2,0.8 -l Green
5.将每个被试的FA值配准到平均FA骨架上。
基于被试的骨架化FA图可以做体素水平的统计分析。
命令:tbss_4_prestats 0.2
此处0.2应该修改为上一步确定的值。
一般情况下0.2就可以了。
这一步会在stas文件夹下生成一个4D图像,文件名为‘all_FA_skeletonised.nii.gz’,里面包含每个被试骨架化的FA图像。
6.基于骨架FA数据的体素水平统计分析,使用工具randomise
需要准备的文件有:一个设计矩阵,命令为design.mat,一个对比文件,命名为design.con。
(两组被试用命令design_ttest2创建,三组及以上用GlmGUI来设计,具体可参照FSL的网站),设计矩阵的行的条目顺序必须与FA图像的顺序相同。
查看方法:
cd FA
imglob *_FA.*
两组情况下创建设计矩阵和对比文件的命令:
cd ../stats
design_ttest2 design 7 11
randomise分析命令:
randomise -i all_FA_skeletonised -o tbss -m mean_FA_skeleton_mask-d design.mat -t design.con -n 500 --T2
其中,7为对照组被试数目,11为病人数目。
组间对比的结果1是对照组>病人,2是病人>对照组。
原始对比结果保存为stats文件夹下的tbss_tstat1和tbss_tstat2文件。
--T2参数表示randomise使用了TFCE(Threshold-Free Cluster Enhancement)
-n参数表示蒙特卡洛模拟次数
校正后的TFCEp-value图像保存在tbss_tfce_corrp_tstat1和tbss_tfce_corrp_tstat2文件中。
此
处给出的1-p的图。
观察结果:
fslview $FSLDIR/data/standard/MNI152_T1_1mm mean_FA_skeleton -lGreen -b 0.2,0.8 tbss_tstat1 -l Red-Yellow -b 3,6 tbss_tstat2 -lBlue-Lightblue -b 3,6
fslview $FSLDIR/data/standard/MNI152_T1_1mm mean_FA_skeleton -lGreen -b 0.2,0.7 tbss_tfce_corrp_tstat1 -l Red-Yellow -b0.95,1
对结果进行填充及显示:
tbss_fill tbss_tfce_corrp_tstat1 0.95 mean_FA tbss_fill1
fslview mean_FA -b 0,0.6 mean_FA_skeleton -l Green -b 0.2,0.7tbss_fill1 -l Red-Yellow
7.使用非FA图像进行tbss分析
1)运行上述1-4步
2)在tbss文件夹下创建一个新的文件夹,如L2,将所有被试的L2图像拷贝到该目录下。
注意L2图像的名称必须与origdata目录下的文件名称一模一样!!!例如,origdata目录下有一个文件名为sub005_FA.nii.gz,那么这个被试的L2图像名必须也是sub005_FA.nii.gz。
3)运行tbss_non_FAL2命令,将被试的L2图像配准到平均FA骨架上,这一步会在stats文件夹下创建两个4D的文件all_L2.nii.gz和all_L2_skeletonised.nii.gz
4)基于体素水平的统计分析方法与第6步相同。
8.tbss结果显示
fslview $FSLDIR/data/standard/MNI152_T1_1mm mean_FA_skeleton -lGreen -b 0.2,0.8 tbss_tstat1 -l Red-Yellow -b 3,6 tbss_tstat2 -lBlue-Lightblue -b 3,6
fslview $FSLDIR/data/standard/MNI152_T1_1mm mean_FA_skeleton -lGreen -b 0.2,0.7 tbss_tfce_corrp_tstat1 -l Red-Yellow -b 0.95,1tbss_tfce_corrp_tstat2 -l Blue-Lightblue -b 0.95,1
对结果进行填充及显示:
tbss_fill tbss_tfce_corrp_tstat1 0.95 mean_FA tbss_fill1
fslview mean_FA -b 0,0.6 mean_FA_skeleton -l Green -b 0.2,0.7tbss_fill1 -l Red-Yellow。