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")
将自动从字符串推断文件类型。
我正在为 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")
将自动从字符串推断文件类型。