FSLpreprocessingMethods.docx
《FSLpreprocessingMethods.docx》由会员分享,可在线阅读,更多相关《FSLpreprocessingMethods.docx(11页珍藏版)》请在冰豆网上搜索。
![FSLpreprocessingMethods.docx](https://file1.bdocx.com/fileroot1/2022-12/17/5443d24c-8774-4ab2-96bd-c2f0c6f91e2e/5443d24c-8774-4ab2-96bd-c2f0c6f91e2e1.gif)
FSLpreprocessingMethods
第二章 数据转换和预处理
我们要从扫面中心把数据下载下来,然后上传到数据服务器上。
可以用matlab下载和上传。
把数据转换成NifTI格式,这个格式的数据比原数据节省90%的空间,并且不丢失任何信息。
要用到MRIcron中的dcm2nii。
可以先把这些数据变成3d的,看看数据是从几个方向开始收集的。
如果直接转换成4D,则会生成bvecs和bvals文件。
管理和组织数据:
每一个研究需要有一个单独的文件夹,在该文件夹的下面,设置behavior、subject、group、results、masks、scripts等文件夹,分别存放数据。
对于subject而言,需要把性别和组别信息包含在内,如f01,表示男被试01.把静息和功能、结构、DTI数据分别存在f01下的不同目录中。
用tree命令可以查看目录树。
第三章 FSL分析DTI数据
Fsl是一个强大的脑成像分析工具,可以分析功能像、结构像、DTI,并含有不同的数据分析包。
其中TheFMRIB’sDiffusionToolbox(FDT)就是专门分析DTI数据的分析包。
在进行数据分析之前,需要注意的是,DTI的001数据是b0image,不包含DTI,相当于一个结构像。
另外,如果是飞利浦的扫描仪,最后一张图片是traceimage,对于数据分析没有用,西门子的仪器不存在这个问题。
我们可以把001数据文件cp为nodif.nii.gz,最后一个traceimage改为trace.nii.gz(mv命令)。
如果前面数据转换的时候是3D,而不是4D,现在还需要把数据转换成4D。
[meg@dbic-lab_x86-64_04~]$cp001.nii.gznodif.nii.gz
[meg@dbic-lab_x86-64_04~]$mvlast.nii.gztrace.nii.gz
[meg@dbic-lab_x86-64_04DTI]$avwmergedti1dti1_*
然后我们需要bvecs和bvals文件,这两个文件告诉我们DTI的方向信息,在进行格式转换(DCM>NifTI)的时候,这两个文件会自动生成。
利用001图像和fsl中的bet分析包,生成一个mask,具体参数设置详见bet。
[meg@dbic-lab_x86-64_04DTI]$betnodifnodif_brain-f.3-m
目前我们已经有4D的DTI数据,bvecs和bvals文件,以及mask。
下一步需要把4D的图像进行‘Eddycurrentcorrection’stepofFDT。
在terminal终端键入fsl,打开fsl主页面,然后点击“FDTDiffusion’,进入FDT,单击最上面的按钮,选择”Eddycurrentcorrection”.input数据选择4D的图像,而output文件可以直接命名为‘data.nii.gz’,referencevolume选择0。
点击’go’,平均每个被试需要30-45分钟。
下一步就是进行“DTIFitReconstructdiffusiontensors”,点击FDT最上面的按钮,选择“DTIFitReconstructdiffusiontensors”。
Input目录就是包含上面所有文件的被试DTI目录。
这一步只需要几分钟,生成文件‘data_FA.nii.gz’和‘data_V1.nii.gz’。
用fslview查看data_FA.nii.gz。
这个图像就是thefractionalanisotropy(FA)valueateachvoxel.通过‘Add’把图像data_V1.nii.gz叠加上去。
然后点击fslview下方的‘I’,打开‘OverlayInformationDialog’。
把DTIdisplayoptions设置为”RGB”和”data_FA”(如图)。
现在我们能看到下图,Red表示thatthefibersatthatvoxelarerunningintheleft-rightdirection,蓝色表示theinferior-superiordirection(down-up),and绿色表示theyarerunningintheanterior-posteriordirection(front-back).
下一步分析是”BEDPOST”,点击FDT最上面的按钮,选择”BEDPOSTEstimationofdiffusionparameters”,这一步的目的就是为了得到白质束成像图(probabilistictractography)。
Input目录就是包含上面所有文件的被试DTI目录。
然后点击’go’。
这一步每个被试需要8-10hours。
这一步将在被试目录中生成一个叫’DTI.bedpost’的文件夹,这个文件夹用于下面做白质束跟踪。
接下来我们需要把DTI(thediffusionweightedimages)图像对齐到被试高分辨的结构像上(T1像)。
于是需要用bet把T1像进行bet,把头皮剥掉。
[meg@dbic-lab_x86-64_04ANATOMY]$betmpragemprage_brain –f.35–g-.4
把DTI(thediffusionweightedimages)图像对齐到被试高分辨的结构像上(T1像)。
点击点击FDT最上面的按钮,选择’Registration’,Bedpost目录选择被试目录下的‘DTI.bedpost’。
激活‘Mainstructuralimage’,选择被试剥去头皮的高分辨率结构像(mprage_brain),这是Standardspace会自动选择相匹配的标准图像,点击’go’。
上面的分析,如果使用命令行,如下:
[meg@dbic-lab_x86-64_04DTI]$eddy_correctdti1.nii.gzdata.nii.gz0
[meg@dbic-lab_x86-64_04DTI]$dtifit--data=data.nii.gz--out=data--mask=nodif_brain_mask.nii.gz--bvecs=bvecs--bvals=bvals
[meg@dbic-lab_x86-64_04DTI]$fslviewdata_FA.nii.gzdata_V1.nii.gz
[meg@dbic-lab_x86-64_04s01]$bedpostDTI
[meg@dbic-lab_x86-64_04DTI.bedpost]$mkdirxfms
[meg@dbic-lab_x86-64_04DTI.bedpost]$flirt-innodif_brain
-ref../ANATOMY/mprage_brain.nii.gz-omatxfms/diff2str.mat-searchrx-9090
-searchry-9090-searchrz-9090-dof12-costmutualinfo
[meg@dbic-lab_x86-64_04DTI.bedpost]$convert_xfm-omatxfms/str2diff.mat-inverse
xfms/diff2str.mat
[meg@dbic-lab_x86-64_04DTI.bedpost]$flirt-in../ANATOMY/mprage_brain.nii.gz
-ref/afs/dbic.dartmouth.edu/usr/pkg/fsl/etc/standard/avg152T1_brain
-omatxfms/str2standard.mat-searchrx-9090-searchry-9090-searchrz-9090
-dof12-costcorratio
[meg@dbic-lab_x86-64_04DTI.bedpost]$convert_xfm-omatxfms/standard2str.mat
-inversexfms/str2standard.mat
[meg@dbic-lab_x86-64_04DTI.bedpost]$convert_xfm-omatxfms/diff2standard.mat
-concatxfms/str2standard.matxfms/diff2str.mat
[meg@dbic-lab_x86-64_04DTI.bedpost]$convert_xfm-omatxfms/standard2diff.mat
-inversexfms/diff2standard.mat
既然已经知道上面每一步的命令,可以利用scripts,自动运行,在命令端运行‘doDTI’.
第四章ProbabilisticTractographyAnalysiswithFSL
FDT’sProbTrack提供两种主要的方法。
第一种路径分布估计(pathdistributionestimation),计算从一个点开始的白质纤维连接。
第二种方法,基于种子点之间的连接,寻找某一特定脑区与其他脑区的连接。
PathDistributionEstimation
这种方法使我们可以对横断面大脑的白质通路视觉化.
在终端键入’Fdt’,或者在fsl的界面中点击‘FDTDiffusion’。
点击最上面的菜单,选择‘ProbTrackProbabilistictractography’。
默认条件下,采用的是最简单的追踪算法,尽选择了一个voxel。
这种方法适用于从某一个感兴趣的点开始追踪。
最常用的方法是使用一个seedmask,选择感兴趣的脑区开始追踪。
这里我们采用seed mask的方法。
首先,我们选择‘Seedmask’。
事先需要我们用fslview准备好mask。
BEDPOST目录选择在上一章生成的DTI.bedpost文件夹。
Seedspace选择用seedimage即选择准备好的mask,这里选择了包含BrodmannArea18的所有voxel,所以命名为ba18.nii.gz’。
这个mask是在标准空间做好的,所以勾选’seedspaceisnotdiffusion’。
Seedtodiff-spacetransform选择DTI.bedpost/xfms/目录下的standard2diff.mat。
output选择输出目录,然后点击’go’。
这个过程需要大约1-2小时,依赖于mask的大小。
然后在输出目录下生成一个叫做fdt_paths.nii.gz的文件。
在fslview中,打开一个标准空间,然后load新生成的fdt_paths.nii.gz,如下图:
ProbTrack中,有多种方法,像’seedmask’一样,可以从seed开始追踪纤维,‘Seedmaskandwaypointmasks’让我们追踪从seed开始,经过某些特殊点或者区域的纤维束。
这个方法要求提供waypointmasks。
同样需要在fslview中准备好,并且要与seedmask在同样的空间。
‘Twomasks–symmetric’提供可以直接看两个seed之间连接强度的分析方法(robustmethod)。
这种方法首先从一个seed出发进行跟踪,只保留到达另一个seed的纤维束。
然后再反过来,从第二个seed出发进行跟踪,只保留到达第一个seed的纤维束。
程序最后只要在两个方向都存在的结果。
同样,这两个seed需要在同一个空间。
Connectivity-basedSeedClassification
ProbTrack提供的第二种分析方法,可以根据voxel的连接脑区对一个seedmask中的voxel进行分类。
我们可以知道在一个mask中的每一个voxel与我们感兴趣的所有脑区的连接概率,而不知道真实的连接情况。
对于某一脑区的分割,这种方法提供了一个非常完美的解决方案,比手动分割更加精细。
首先,从菜单中选择‘Connectivity-basedseedclassification’.然后选择被试的DTI.bedpost目录。
然后选择seedmask。
这个seedmask脑区将被分割,得到这个seedmask与目标脑区的连接概率。
由于seedmask都是标准空间,需要转化到被试空间,所以勾选’seedspaceisnotdiffusion’。
Seedtodiff-spacetransform选择DTI.bedpost/xfms/目录下的standard2diff.mat。
接下来,我们需要选择目标脑区,这里可以有多个目标脑区,即可以是几个maskimages,但要求目标脑区之间不能有重叠。
然后选择输出目录,点击’go’.这一步将在输出文件夹中生成文件‘seeds_to_targetname.nii.gz’.一个文件告诉我们从seedmask的一个voxel到目标脑区的概率(取样数,howmanysamples)。
下图左边显示从胼胝体到BA6区的连结的voxel,右边把阈值升到5000次取样(5000samples)中至少有50%到达BA6区的胼胝体中的voxel。
FSL提供可以一次把所有’seeds_to_target’文件导入到一张图片中的功能。
但是这个功能只能通过命令行实现,而没有图形界面。
这个命令是’find_the_biggest’.这个命令生成一个压缩图片’cc-parcellation’,但是这个图片比较粗略。
每一个颜色代表一个不同的目标脑区。
[meg@dbic-lab_x86-64_04DTI]$find_the_biggest seeds_to_* cc-parcellation
现在我们来看一下ProbTrack还有什么其他的功能。
‘Numberofsamples’值一般很大(5000),当做第一次初步估计时,最低可以设置1000.‘Curvaturethreshold’默认值相当于卷积角80度。
如果想要减小卷积角,可以把‘Curvaturethreshold’值加大。
其他保持默认就好。
QuantitativeResults
现在我们要从上面的分析中得到定量的指标。
需要用到fsl的另两个简单的程序:
avwstats和avwmaths.利用这两个简单的程序,我们可以得到定量指标。
avwstats,提供我们关于体积的统计信息。
它有很多参数:
[meg@dbic-lab_x86-64_04dilated-non-rl]$avwstats
Usage:
avwstats
[options]
-l
:
setlowerthreshold
-u
:
setupperthreshold
-r
:
output
-R
:
output
-e
:
outputmeanentropy;mean(-i*ln(i))
-v
:
output
-V
:
output(fornonzerovoxels)
-m
:
outputmean
-M
:
outputmean(fornonzerovoxels)
-s
:
outputstandarddeviation
-S
:
outputstandarddeviation(fornonzerovoxels)
-x
:
outputco-ordinatesofmaximumvoxel
大多数时候,我们都是用大写参数,基于nonzero进行计算。
下面这个例子计算seeds到ba六区的最小强度和最大强度,以及nonzero的voxel数和体积。
[meg@dbic-lab_x86-64_04F1-ba-cc-connectivity]$avwstatsseeds_to_ba06.nii.gz-R-V
0.0000005000.0000001351080.000000
avwstats的两个阈值options需要注意.它允许我们在进行统计之前对数据进行阈值限制。
当我们感兴趣的脑区连接概率稍逊时,这个参数对于连接数据非常有用。
下面的例子要求只对50%概率(总的取样是5000,2500就是50%)的连接进行统计分析。
对统计有更高要求的研究者还可以用avwstats++,提供更多高级统计。
[meg@dbic-lab_x86-64_04cc-connectivity]$avwstatsseeds_to_ba06.nii.gz-l2500-R-V
2556.0000005000.00000041328.000000
下面我们看avwmaths.这个程序对图像比较和图像结合非常有用,它提供许多统计操作后的图片。
[meg@dbic-lab_x86-64_04~]$avwmaths
Usage:
avwmaths[operationsandinputs]
Binaryoperations:
someinputscanbeeitheranimageoranumber
"currentimage"mayben_volumes>1andthesecondn_volumes=1
-add :
addfollowinginputtocurrentimage
-sub :
subtractfollowinginputfromcurrentimage
-mul :
multiplycurrentimagebyfollowinginput
-div :
dividecurrentimagebyfollowinginput
-mas :
use(followingimage>0)tomaskcurrentimage
-thr :
usefollowingnumbertothresholdcurrentimage(zeroanythingbelowthenumber)
-uthr:
usefollowingnumbertoupper-thresholdcurrentimage(zeroanythingabovethenumber)
-max :
takemaximumoffollowinginputandcurrentimage
-min :
takeminimumoffollowinginputandcurrentimage
Unaryoperations:
-bin :
use(currentimage>0)tobinarise
(Outputcutforbrevity)
下面的例子我们把两张图叠到一起,生成一张composite图:
[meg@dbic-lab_x86-64_04~]$avwmathsimage1-addimage2composite
下面的例子,把三张图加到一起,然后又除以3,生一个average。
[meg@dbic-lab_x86-64_04~]$avwmathsimage1-addimage2-addimage3-div3average
Avwmaths最常见的用途是进行masking和thresholding操作,从而为研究者提供了很多便捷和灵活性。
下面的例子,我们首先把从一个功能研究中得到的zstat1图,生成阈值为2.5的二进制激活图(high-mask)。
然后利用这个high-mask对FA图进行mask。
[meg@dbic-lab_x86-64_04~]$avwmathszstat1-thr2.5-binhigh-mask
[meg@dbic-lab_x86-64_04~]$avwmathsfaimage-mashigh-maskhigh-fa
CombiningIndividualsintoaGroup
最后一步,我们对个体分析结果进行组间分析。
这是基于概率进行纤维束追踪的一个优点之一,其他的方法不能进行组间比较。
我们要生成证明组间连接概率差异的图像。
我们需要用avwmaths对图像设置一个较低的阈值(-thr1250),高于这个值都认为是一样的有效连接,生成seeds到目标脑区的连接图像。
然后根据被试分组,对各组被试的连接图像进行组估计,用于组间比较。
下面我们以胼胝体到布罗德曼脑区的连接为例,一步一步进行示范。
首先我们确定一个较低的阈值,在这个例子中,我们取样5000,在1250上的我们就认为是有效连接(25%的概率连接),并生成一个二进制的图像:
[meg@dbic-lab_x86-64_04~]$avwstatsseeds_to_ba01-thr1250-bin
seeds_to_ba01_thr_1250_bin
对所有被试的所有seedstotarget图像进行同样的处理,然后我们把上面得到的不同被试的同样的seedtotarget二进制图像加起来(分为被试组和控制组)。
[meg@dbic-lab_x86-64_04~]$avwmathsm01/seeds_to_ba01_thr_1250_bin-add
m02/seeds_to_ba01_thr_1250_bin-addm03/seeds_to_ba01_thr_1250_bin-add
m04/seeds_to_ba01_thr_1250_bin-addm05/seeds_to_ba01_thr_1250_bin
group/subjects_for_ba01
通常,我们会把只有少数被试才显著的区域剔除掉。
于是运行find_the_biggest.
第五章FARegressionAnalysiswithTBSSandSPM
当得到FA后,我们想要看看是否某些脑区的FA值是否和某一行为或测量指标相关。
这就要求被试间的图像空间可以比较,即需要被试间对齐。
Fsl提供了TBSS进行被试间对齐。
UsingTBSSforRegistration
在研究(study)目录下,创建一个叫’TBSS’,并且把所有被试的FA图像(data_FA.nii.gz)拷贝到该目录中。
在这个目录中,现在包含12个被试的FA数据:
接下来利用tbss中的预处理模块进行预处理,包括scalingtheimagevalues、convertingthemtoAnalyzeformat,,这两步都是alignmentstage必需的.运行下面的命令:
[meg@dbic-lab_x86-64_04tbss]$tbss_1_preproc
Usingmultiplicativefactorof10000
processings01fa
processings02fa
(Outputremovedforlength)
processings12fa
这一步生成两个新的目录:
‘FAi’包含新的转换过的图像;‘