FreeSurfer重建一个被试的数据大概需要6小时,但是这个过程只会占用一个cpu。如果有几十个被试的数据,那么采用并行处理可以节约大量时间,使用parellel命令分配多个cpu同时进行多个被试的预处理,具体的用法在下面:
#!/bin/bash
mkdir ./recon #创建储存预处理结果的文件夹(.代表当前目录)
export SUBJECTS_DIR=./recon #设定freesurfer预处理后结果输出文件夹(.代表当前目录)
ls *.nii | parallel -j 10 recon-all -s {.} -i {} -all -qcache
#ls将所有nii文件通过pipeline送给parallel
#参数-j 10指定分配10个核进行预处理
#参数-s{.}将每个被试nii文件的扩展名nii移除,只保留名字
#参数-i{}使用ls命令的输出作为输入,并运行parallel命令