2017-02-10 33 views
0

我在我的MacOS上有這個問題:我用gzip格式(大的512x512x200文件)寫了一個nrrd文件(https://it.mathworks.com/matlabcentral/fileexchange/48621-nrrdwriter-filename--matrix--pixelspacing--origin--encoding-),現在我想用nrrdread函數讀取它(https://it.mathworks.com/matlabcentral/fileexchange/34653-nrrd-format-file-reader )。 當我這樣做,這是我得到的錯誤:試圖用gunzip文件 「/私有的/ tmp/tp9eb78b24_4ead_4567_b911_db756a8f8444」當matlab nrrd讀取gzip錯誤

錯誤使用gunzip解> gunzipwrite(線227) 輸入流意外結束。 (k).file,outputDir,baseName,streamCopier);}};} {

gunzip中的錯誤(第89行) names = gunzipEntries(entries,outputDir);

在nrrdread> READDATA(線156) gunzip解誤差(TMPFILE)

錯誤nrrdread(線86) 數據= READDATA(FID,間,數據類型);

我讀過這篇文章(https://www.nitrc.org/forum/forum.php?thread_id=5972&forum_id=4073),它是一個與gzip函數有關的Java問題。有沒有人有任何想法如何解決這個問題,以便我可以閱讀我的圖像矩陣?

非常感謝您

+0

你有一個示例文件的鏈接? –

+0

嗨,謝謝你的評論。您可以通過以下鏈接找到該文件:https://drive.google.com/open?id=0BzllnM3z4XEtWHdtN3dQaEvieTg – David

+0

請幫我解決這個問題。謝謝 – David

回答

0

示例文件有244個字節的ASCII頭,後跟一個gzip流與失蹤八字節拖車。 (gzip流以0x1f 0x8b 0x08開始)gzip流中的數據可以解壓縮,但是無論是誰弄亂了這個文件,也沒有正確終止gzip流。

+0

好吧,你知道如何解決這個問題嗎?我用這個函數寫了nrrd文件:https://it.mathworks.com/matlabcentral/fileexchange/48621-nrrdwriter-filename--matrix--pixelspacing--origin--encoding- 這就是調用在Matlab中:nrrdWriter('CT.nrrd',CT,pixelDimension,origin,'gzip'); 其中pixelDimension是這個矢量:[0.8066; 0.8066; 3]和原點是CT上的中心。你知道如何改變功能以使其工作,或者如何改變CT.nrrd以使其工作? – David

+0

不,我沒有matlab,它看起來像我需要能夠下載鏈接的源代碼。 –