在Linux环境中运行FSL命令的问题

时间:2011-12-29 19:52:27

标签: linux matlab

我是FSL的新手,使用版本4.1.8。我正在尝试运行一个脚本来读取和生成*.nii个文件,这些格式通常由FSL支持。我在probtrackx内调用FSL函数Matlab。但是,我收到以下错误消息,似乎无法生成或识别*.nii文件:

** ERROR (nifti_image_read): failed to find header file for '~/Documents/fMRI_data/../DTI/fsl_dti/masks/target_mask_001'

** ERROR: nifti_image_open(~/Documents/fMRI_data/../DTI/fsl_dti/masks/target_mask_001): bad header info

ERROR: failed to open file ~/Documents/fMRI_data/../DTI/fsl_dti/masks/target_mask_001

ERROR: Could not open image ~/Documents/fMRI_data/../DTI/fsl_dti/masks/target_mask_001

文件确实存在,但FSL无法识别它们。任何关于如何纠正问题并让FSL正常工作的帮助将是非常感激的。我怀疑这是一个Linux设置问题,只是不知道如何解决它。先前发布的相关问题的解决方案建议添加ls='ls --color=auto'。我已经尝试过了。

2 个答案:

答案 0 :(得分:0)

某些FSL工具假设设置了$FSLDIR unix环境变量,这可能不是MATLAB环境中的情况。您可以使用setenv('FSLDIR', '/usr/local/fsl')之类的东西来修复它(当然,如果您的FSL安装位于不同的位置,则会进行修改)。有些人还需要执行常规FSL设置脚本:system('. ${FSLDIR}/etc/fslconf/fsl.sh')。另见:http://www.fmrib.ox.ac.uk/fsl/fsl/downloading.html

而不是更复杂的probtrackx脚本,首先尝试的另一件事就是:

system('fslhd ~/Documents/fMRI_data/../DTI/fsl_dti/masks/target_mask_001')

如果失败并出现相同的错误,则表示您错误地输入了数据路径。例如,你的意思是在那里有..吗?

此外,将来,获得FSL支持的最佳位置在他们的邮件列表中:https://www.jiscmail.ac.uk/cgi-bin/webadmin?A0=fsl

答案 1 :(得分:0)

MATLAB是否有权运行其他fsl命令?如果您能够从命令行而不是通过MATLAB运行命令,则MATLAB用户可能无权运行fsl或正在寻找某些FSL变量。

您可能必须对Linux系统执行equivalent of this