2011-12-29 91 views
0

我是FSL的新手,使用4.1.8版。我试图运行一个脚本来读取并生成*.nii文件,FSL通常支持这种格式。我从Matlab内调用FSL功能probtrackx。不过,我得到以下错误消息看似无法产生或识别*.nii文件:在Linux环境中运行FSL命令的问题

** 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

一些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

+0

感谢评论和建议的解决方案。 SETENV( 'FSLDIR', '在/ usr /本地/ FSL')已经在ENV,我也试过系统( '$ {} FSLDIR /etc/fslconf/fsl.sh')无济于事。有趣的是,同样的脚本似乎在我的同事的电脑上工作得很好。 感谢建议系统( 'fslhd〜/文档/ fMRI_data /../ DTI/fsl_dti /口罩/ target_mask_001'), 它工作得很好,我假设表明,这些文件不会被损坏。我将在另一台计算机上尝试脚本。 新年快乐! – 2011-12-31 19:08:32