【问题标题】:matlab nrrd read gzip errormatlab nrrd读取gzip错误
【发布时间】:2017-02-10 16:28:11
【问题描述】:

我在 MacOS 上遇到了这个问题:我使用 matlab 以 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 时出错>gunzipwrite(第 227 行) 尝试 GUNZIP 文件时输入流意外结束 “/private/tmp/tp9eb78b24_4ead_4567_b911_db756a8f8444”。

gunzip 中的错误>gunzipEntries(第 147 行) 名称{k} = gunzipwrite(entries(k).file, outputDir, baseName, streamCopier);

gunzip 中的错误(第 89 行) 名称 = gunzipEntries(entries, outputDir);

nrrdread 中的错误>readData(第 156 行) gunzip(tmpFile)

nrrdread 中的错误(第 86 行) data = readData(fid, meta, datatype);

我在这篇文章 (https://www.nitrc.org/forum/forum.php?thread_id=5972&forum_id=4073) 中读到这是一个与 gzip 函数相关的 Java 问题。有没有人知道如何解决这个问题以便我可以读取我的图像矩阵?

非常感谢

【问题讨论】:

标签: java image matlab gzip


【解决方案1】:

示例文件有一个 244 字节的 ASCII 标头,后跟一个 gzip 流,其中缺少 8 字节的尾部。 (gzip流以0x1f 0x8b 0x08开头)gzip流中的数据可以解压,但是谁弄乱了文件,并没有正确终止gzip流。

【讨论】:

  • 好的,你知道如何解决这个问题吗?我已经使用这个函数来编写 nrrd 文件:it.mathworks.com/matlabcentral/fileexchange/… 这是 Matlab 中的调用:nrrdWriter('CT.nrrd', CT, pixelDimension, origin, 'gzip');其中 pixelDimension 是这个向量:[0.8066;0.8066;3],origin 是 CT 上的中心。您知道如何更改功能以使其正常工作或如何更改 CT.nrrd 以使其正常工作吗?
  • 不,我没有 matlab,看来我需要能够下载链接的源代码。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2016-04-30
  • 1970-01-01
  • 2016-12-26
  • 2016-09-15
  • 1970-01-01
  • 2019-01-20
  • 1970-01-01
相关资源
最近更新 更多