我是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'
。我已经尝试过了。
答案 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