Python 中的 SimpleITK.ImageFileWriter 没有方法 "SetImageIO" 但 C++ 文档说它有

SimpleITK.ImageFileWriter in Python has no method "SetImageIO" but C++ docs say it has

我正在为 Python 使用 SimpleITK,并使用 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"。

谢谢拉尔夫

您安装的是什么版本的SimpleITK?

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

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

然而,

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

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