Python中的SimpleITK.ImageFileWriter没有方法“ SetImageIO”,但C ++文档说它具有

时间:2019-04-24 08:21:43

标签: python-3.x simpleitk

我正在使用适用于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”。

谢谢拉尔夫

2 个答案:

答案 0 :(得分:2)

您安装了哪个版本的SimpleITK?

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

答案 1 :(得分:0)

严重缺乏SimpleITK文档,并且python软件包中并非所有C ++库函数都可用,这使其他事情变得更加复杂。

但是,

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

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