祝大家有美好的一天。
我的 HDD (9.7 Gb) 上碰巧有一个非常大的 .mha 文件,它是大脑的 3D 图像。我知道这张图片的形状,并且出于报告的需要,我想提取它的一部分,以获得可以保存为 .png 的 2D 图像。
问题是我的 16 Gb RAM 计算机不允许我加载完整的图像,因此我想知道是否有一种方法可以提取该图像的 2D 切片而不将整个图像加载到 RAM 中。对于较小的图像,我使用sitk.GetArrayFromImage(sitk.ReadImage(fileName))
并输入它,pyplot.imshow()
但这意味着加载我想要避免的整个图像。
我想了一段时间来numpy.memmap
创建一个临时.npy
文件,我可以在其中存储整个数组,然后获取它的一部分,但是我无法使用sitk.GetArrayFromImage(sitk.ReadImage(fileName))
.
有谁知道如何做到这一点?
提前致谢 !