如何修复未创建template_4D_GM文件的fslvbm_2_template中的错误

时间:2019-10-11 05:32:56

标签: neuroscience neuro-image

我正在FSL中进行VBM分析。我已经在JISC Mail档案库中搜索了此错误的解决方案,但是没有运气。我的笔记本电脑上有很多可用空间,因此这不是空间问题。我在多个Mac系统上也遇到了这个问题。任何帮助将不胜感激,我已经为此努力了几天。

当我运行代码“ fslvbm_2_template -n”时,我期望创建一个名为template_4D_GM的文件,但会在输出中得到以下错误代码:

Running segmentation: ID=64663
Running initial registration: ID=64926

Image Exception : #63 :: No image files match: 1_002_s_####_struc_GM_to_T
libc++abi.dylib: terminating with uncaught exception of type std::runtime_error: No image files match: 1_002_s_####_struc_GM_to_T
./fslvbm2c: line 13: 68739 Abort trap: 6 
$FSLDIR/bin/fslmerge -t template_4D_GM $mergelist

Image Exception : #63 :: No image files match: template_4D_GM
libc++abi.dylib: terminating with uncaught exception of type std::runtime_error: No image files match: template_4D_GM
./fslvbm2c: line 14: 68740 Abort trap: 6
$FSLDIR/bin/fslmaths template_4D_GM -Tmean template_GM

Image Exception : #63 :: No image files match: template_GM
No image files match: template_GM
/usr/local/fsl/bin/fslswapdim: line 107: [: =: unary operator expected
Image Exception : #63 :: No image files match: template_GM
No image files match: template_GM
/usr/local/fsl/bin/fslswapdim: line 115: [: -gt: unary operator expected

Image Exception : #63 :: No image files match: template_GM
No image files match: template_GM
/usr/local/fsl/bin/fslswapdim: line 117: [: -gt: unary operator expected

Image Exception : #63 :: No image files match: template_GM
libc++abi.dylib: terminating with uncaught exception of type std::runtime_error: No image files match: template_GM
/usr/local/fsl/bin/fslswapdim: line 184: 68769 Abort trap: 6           $comm

Image Exception : #63 :: No image files match: template_GM
libc++abi.dylib: terminating with uncaught exception of type std::runtime_error: No image files match: template_GM
./fslvbm2c: line 16: 68770 Abort trap: 6
$FSLDIR/bin/fslmaths template_GM -add template_GM_flipped -div 2 template_GM_init

Creating first-pass template: ID=
Running registration to first-pass template: ID=The command you have requested cannot be found or is not executable
/usr/local/fsl/bin/fsl_sub: line 514: you: command not found
Creating second-pass template: ID=
Study-specific template will be created, when complete, check results with:
fslview struc/template_4D_GM
and turn on the movie loop to check all subjects, then run:
fslview  /usr/local/fsl/data/standard/tissuepriors/avg152T1_gray  struc/template_GM
to check general alignment of mean GM template vs. original standard space template.

运行“ fslvbm_2_template -n”时,我发现fslvbm2a和fslvbm2b可以正常运行,但是我在fslvbm2c遇到了问题。当我从fslvbm_2_template-FSLVBM模板创建(http://ftp.nmr.mgh.harvard.edu/pub/dist/freesurfer/tutorial_packages/OSX/fsl_501/bin/fslvbm_2_template)运行这段特定的代码时:

MacBook-Pro:struc name$ cat <<stage_tpl3 > fslvbm2c
#!/bin/sh

> if [ -f ../template_list ] ; then

>   template_list=\`cat ../template_list\`

>   template_list=\`\$FSLDIR/bin/remove_ext \$template_list\`

> else

>   template_list=\`echo *_struc.* | sed 's/_struc\./\./g'\`

>   template_list=\`\$FSLDIR/bin/remove_ext \$template_list | sort -u\`

>     echo "WARNING - study-specific template will be created from ALL input data - may not be group-size matched!!!"

> fi

> for g in \$template_list ; do

>     mergelist="\$mergelist \${g}_struc_GM_to_T"

> done

> \$FSLDIR/bin/fslmerge -t template_4D_GM \$mergelist

> \$FSLDIR/bin/fslmaths template_4D_GM -Tmean template_GM

> \$FSLDIR/bin/fslswapdim template_GM -x y z template_GM_flipped

> \$FSLDIR/bin/fslmaths template_GM -add template_GM_flipped -div 2 template_GM_init

> stage_tpl3

MacBook-Pro:struc name$ chmod +x fslvbm2c

MacBook-Pro:struc name$ fslvbm2c_id=`fsl_sub -j $fslvbm2b_id -T 15 -N 
fslvbm2c ./fslvbm2c`

MacBook-Pro:struc name$ echo Creating first-pass template: `ID=$fslvbm2c_id`
Creating first-pass template: ID=The command you have requested cannot be found or is not executable

2 个答案:

答案 0 :(得分:0)

我遇到了同样的问题,在调试时我发现问题出在第94行T=${FSLDIR}/data/standard/tissuepriors/avg152T1_gray(在fslvbm_2_template中)。问题在于该图像(用作模板)是.hdr,但它必须是nii.gz才能被程序读取。因此,解决方案是下载avg152T1_gray.nii.gz并将.hdr映像替换为新映像。我将avg152T1_gray.nii.gz的名称更改为avg152T1_grayNI.nii.gz并将其复制到相同的文件夹(tissueprior)。

#T=${FSLDIR}/data/standard/tissuepriors/avg152T1_gray(注释的.hdr图片无效)

T=${FSLDIR}/data/standard/tissuepriors/avg152T1_grayNI(对我来说效果很好的.nii.gz图片)

答案 1 :(得分:0)

我通过在制作fslreorient2std之前对所有NIFTI图像制作template_list(FSLVBM分析中的步骤1)解决了这个问题。我认为该工具的方向正确,因此fslvbm_2_template可以快速简便地读取每张图像,以便使用avg152T1_gray模板对它们进行平均。