- 18
- 0
- 约4.43千字
- 约 3页
- 2023-12-29 发布于上海
- 举报
freesurfer
freesurfer是一个处理大脑3D结构像数据,进行自动皮层和皮下核团分割的工具,用起来非常方便。freesurferwiki上的教程也非常详细,但是有一点,freesurfer的命令很复杂,很难准确地记住每个参数该怎么设置。本人比较懒,不愿记,也记不住,每次都需要打开wiki进行对照。由于wiki非常详尽,每次都是在一大篇英文中搜索命令。在这里弄一个简洁版,只把分析流程所用到的命令贴在这里,以便查阅。
一、数据处理
freesurfer分析3D,最好是原始的dcm数据,不要进行数据转格式转换和坐标变化,原始数据就可以。所以把数据放在sub1,sub2,sub3…….,这样我们就可以用循环来做了。我们的计算机中心用的是PBS的系统,进行并行运算:
#!/bin/bash
#SUBJECTS_DIRiswhereyouwanttoputyourresultSUBJECTS_DIR=your_subjects_path
imge=`lsyour_subjects_path/sub1/*.IMA|head-n 1`recon-all -s sub1 -i${imge}
recon-all-all-s$sub1
这就是分析一个被试的代码,然后用前面介绍过的sed命令,把sub1替换成其他被试编号,就生成了其他被试代码。然后在端口敲入命令:sh代码文件。数据就开始分析了。
二、数据检查
数据检查主要tkregister2、tkmedit、tksurfer三个命令结合起来。但是在这种视觉检查以前,应该先看前面recon-all.log文件是否报错。可是recon-all.log文件好大了,怎么办呢,用grep命令,查找一下文件里面有没有”error”,并输出含有“error”的行数:
grep -n “error”recon-all.log
如果都没有错误,那就OK.另外还有一个命令也很有意思,会自动帮我们察看是否存在top
错误:
mris_euler_numbersub1/surf/lh.origmris_euler_numbersub1/surf/lh.whitemris_euler_numbersub1/surf/lh.pial
如果这三个命令生成的数字完全一样,就没有top结构问题,然后我们再进行视觉检查,首先检查register:
tkregister2--mgz--ssub1--fstal--surforig
然后检查tkmedit和tksurfer检查白质、灰质分割问题。
tkmeditsub1brainmask.mgzrh.white-auxwm.mgz-aux-surfacelh.whitetksurfersub1rhinflated
检查的时候,一般在c130-170这部分slices问题比较严重,总是有脑膜被看成是灰质了,需要编辑brainmask.mgz,把它删掉。具体检查参看freesurferwiki.检查完毕后,根据编辑过的地方重新跑一下数据。根据recon-all的步骤,先register,然后是-autorecon2-cp,然后是
-autorecon2-wm,-autorecon2-pial,-autorecon3。当register出现问题时,几乎需要完全重新算数据,其他的就从编辑过的最早步骤开始。例如,一个被试修改过cp、wm,那么就从cp开
始重新算。
recon-all -subjid sub1
recon-all-autorecon2-cp-autorecon3-subjidsub2recon-all-aurorecon2-wm -autorecon3-subjidsub3recon-all-autorecon2-pial-autorecon3-subjidsub4
数据重新算后,还要一个一个地进行视觉检查一下,才能进行下一步数据统计分析.三、数据统计分析
开始进行数据分析了。首先把数据对齐到freesurfer自带的fsaverage空间上。数据跑完后,会自动出现在被试目录中。先把每个被试的数据叠加成一个4D的文件,而叠加顺序事先要设计好,把其他相关的变量也放进去。这里举一个简单例子:三组被试,每组两个被试:AA型、AB型、BB型,另外还有被试年龄数据,那么这个文件内容如下:GroupDescriptorFile 1
Titleg3v1ClassAAClassABClassBBVari
原创力文档

文档评论(0)