我有一个代表上传图片(.nii)的io.ByteIO对象,有没有办法从它获取simpleITK对象?一种糟糕的解决方法是先写入文件,然后使用simpleITK读取它
发布于 2020-06-26 00:23:28
不幸的是,SimpleITK的Image IO不能在流上工作。它将只从文件中读取。
看起来你可以使用nibabel从你的流中读取图像。然后将其转换为numpy数组,然后将numpy转换为SimpleITK。它很难看,但至少你不会回到磁盘上。
这里有一篇关于阅读nibabel中的流的帖子:https://mail.python.org/pipermail/neuroimaging/2017-February/001345.html
以下是如何从nibabel到numpy的方法:How to convert Nifti file to Numpy array?
然后使用SimpleITK数组,调用SimpleITK.GetImageFromArray来创建numpy映像。
这些步骤不会保留任何图像元信息,因此您必须复制所有内容,如图像间距、原点和方向。
https://stackoverflow.com/questions/62579425
复制相似问题