SimpleITK 读取 io.ByteIO

SimpleITK read io.ByteIO

我有一个 io.ByteIO 对象代表上传的图像 (.nii),有没有办法从中获取 simpleITK 对象? 一个糟糕的解决方法是写入文件然后使用 simpleITK

读取它

不幸的是,SimpleITK 的图像 IO 不适用于流。它只会从文件中读取。

看来您可以使用 nibabel 从流中读取图像。然后将其转换为numpy数组,再将numpy转换为SimpleITK。它很难看,但至少你不会回到磁盘。

这里是 post 在 nibabel 中读取流: https://mail.python.org/pipermail/neuroimaging/2017-February/001345.html

以下是从 nibabel 到 numpy 的方法:

然后使用 numpy 数组,您将调用 SimpleITK.GetImageFromArray 来创建 SimpleITK 图像。

这些步骤不会保留任何图像元信息,因此您必须复制图像间距、原点和方向等所有内容。