2011-12-29 92 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