2017-02-10 31 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,它看起来像我需要能够下载链接的源代码。 –