Freesurfer_T1_组分析-01(完美版)

        组分析就是对两组数据的对比分析(对比体积和皮质表面总体水平的差异),本文采用的是TI模态的NC(健康HC)、MCI、AD、SCD几组数据,每两种数据的组分析都是一样的,下面以NC vs MCI为例:

1. T1数据预处理

所有subjects的T1数据需要用recon-all命令处理:

recon-all -s sub-101 -i sub-101_ses-BL_T1w.nii.gz -all -qcache

注意:这里建议加上-qcache命令,它将平滑不同级别的数据并将它们存储在subjects的输出目录中,这对于组分析很有用。

加上-qcache会得到下面这些,在生成的文件夹subjects/surf 下: 

加上并行处理就是这样:

ls *.nii | parallel --jobs 8 recon-all -s {.} -i {} -all -qcache

如果你已经做了recon-all但是忘记添加了-qcache,可以使用下面这个命令再处理一遍(一个数据大概只需要十分钟):

recon-all -s <subjectName> -qcache 

2. FSGD文件

我们的目标:FSGD文件是freesurfer的一种文件格式,他长这样:

把他放到一个名称为FSGD的文件夹中,像这样(当然啦,所有的命名都可以按照你的心情命名,但是要注意后面脚本代码内容要跟随改变):

如何得到这个FSGD文件 :

首先我们的数据长这样,他可能是xlsx格式或者csv或者tsv都不重要:

把他保存成txt格式:

然后再转换成fsgd格式:

tr '\r' '\n' < CannabisStudy.txt > CannabisStudy.fsgd

上述这种从xlsx/csv/tsv格式——> txt格式 ——> fsgd格式的过程可能其实并不需要这么麻烦,大家可以尝试其他方法。

3. contrasts文件

同样,创建两个对比矩阵文件放到Contrasts文件夹中,像这样: 

每个文件内容如下图所示:

命令行创建:

mkdir Contrasts  #创建文件夹并命名为Contrasts
echo "1 -1" > NC-MCI.mtx  #创建对比矩阵文件NC-MCI.mtx,并在文件里写入1 -1
echo "-1 1" > MCI-NC.mtx

 你没看错,就是这样,只有一个1和-1,所代表的含义是为模型中每个回归量设定对比权重; 

 4. fsaverage文件夹

fsaverage是freesurfer的标准空间,用来把每个subjects配准到标准模板上再进行对比分析,这个文件夹在安装包中有,路径:$FREESURFER_HOME/subjects/fsaverage。

命令行复制过来:

cp -R $FREESURFER_HOME/subjects/fsaverage .

5. 脚本代码

需要以下两个脚本:

 先运行runMrisPreproc.sh文件:

命令:tcsh runMrisPreproc.sh CannabisStudy

注意:上面的CannabisStudy是你fsgd文件的名称;

#!/bin/tcsh

setenv study $argv[1]

foreach hemi (lh rh)
        foreach smoothing (10)
                foreach meas (volume thickness)
                        mris_preproc --fsgd FSGD/{$study}.fsgd \
                                --target fsaverage \
                                --cache-in {$meas}.fwhm{$smoothing}.fsaverage \
                                --hemi {$hemi} \
                                --out {$hemi}.{$meas}.{$study}.{$smoothing}.mgh
                end
        end
end

再运行runGLMs.sh文件:

命令:tcsh runGLMs.sh CannabisStudy

#!/bin/tcsh

set study = $argv[1]

foreach hemi (lh rh)
   foreach smoothness (10)
      foreach meas (volume thickness)
         mri_glmfit \
         --y {$hemi}.{$meas}.{$study}.{$smoothness}.mgh \
         --fsgd FSGD/{$study}.fsgd \
         --C Contrasts/NC-MCI.mtx \
         --C Contrasts/MCI-NC.mtx \
         --surf fsaverage {$hemi} \
         --cortex \
         --glmdir {$hemi}.{$meas}.{$study}.{$smoothness}.glmdir
      end
   end
end

运行结束你会得到:

 OK!

参考:FreeSurfer Short Course — Andy's Brain Book 1.0 documentation

以及他的youtub视频:https://www.youtube.com/watch?v=hdSkEPG-G8s&list=PLIQIswOrUH6_DWy5mJlSfj6AWY0y9iUce&index=9

glm是一个开源的C++数学库,用于进行线性代数和向量计算。如果想要下载glm库,可以按照以下步骤进行操作。 首先,打开一个可用的网络浏览器,例如Google Chrome或Mozilla Firefox。 然后,通过在搜索引擎中输入“glm库下载”来搜索glm的官方网站或其它可信任的下载源。 从搜索结果中选择一个可靠的下载源,并点击进入它的官方网站。 在网站主页上寻找与glm库相关的下载链接或按钮,然后点击进入下载页面。 在下载页面上,选择适合您操作系统和编程环境的glm版本。通常,您可以在页面上找到各种操作系统的选项,例如Windows、Linux或Mac。 点击相应的下载链接,等待下载完成。根据您的互联网连接速度和glm库文件的大小,下载时间可能会有所不同。 下载完成后,将glm库文件保存到适当的目录中,例如您的项目文件夹或C++编译器的库文件夹。 接下来,根据您使用的编程环境,设置您的编译器以使用glm库。可以通过添加适当的包含路径或链接选项来实现。具体的步骤可能因您使用的编程环境而有所不同。 最后,您现在可以在您的C++项目中使用glm库了。在您的源代码文件中,包含glm头文件,并使用其中的函数和类来进行需要的数学计算。 总之,下载glm库是一个相对简单的过程,您只需通过搜索引擎找到官方网站或可靠的下载源,然后按照相应的步骤下载和配置即可开始使用。
评论 17
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值