1

我正在使用 SimpleITK for Python,并使用 NumPy 创建了一个空图像,如下所示:

import SimpleITK as sitk
import numpy as np

pixels = np.zeros((64, 64))
image = sitk.GetImageFromArray(pixels)

然后,当我尝试将图像写入 NIFTI 格式的文件时,它抱怨它在 ImageFileWriter 对象上找不到方法“SetImageIO”。

write = sitk.ImageFileWriter()
write.SetFileName('hello.nii.gz')
write.SetImageIO('NiftiImageIO')
write.Execute(image)

错误:

AttributeError: 'ImageFileWriter' object has no attribute 'SetImageIO'

有人知道这是为什么吗?C++ 文档清楚地提到了 ImageFileWriter 的方法“SetImageIO”。

谢谢,拉尔夫

4

2 回答 2

3

您安装了哪个版本的 SimpleITK?

这是 1.2 的新功能,因此如果您有旧版本,则该方法将不可用。

于 2019-04-24T14:29:01.793 回答
1

严重缺乏 SimpleITK 文档,并且并非所有 C++ 库函数都在 python 包中可用,这使一些事情变得复杂。

然而,

sitk.WriteImage(image, "hello.nii.gz")

将自动从字符串推断文件类型。

于 2019-05-25T23:26:06.467 回答