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 图像。
这些步骤不会保留任何图像元信息,因此您必须复制图像间距、原点和方向等所有内容。
我有一个 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 图像。
这些步骤不会保留任何图像元信息,因此您必须复制图像间距、原点和方向等所有内容。