3

我有一个 numpy 数组,想将其转换为 ITK 图像以进行进一步处理。如何在不使用 WrapITK 的 PyBuffer 扩展的情况下做到这一点。我不能使用它,因为我在编译时遇到了一堆错误:

.../ExternalProjects/PyBuffer/itkPyBuffer.txx: In static member function ‘static PyObject* itk::PyBuffer<TImage>::GetArrayFromImage(TImage*) [with TImage = itk::Image<float, 2u>]’:
.../ExternalProjects/PyBuffer/wrap_itkPyBufferPython.cxx:1397:   instantiated from here
.../ExternalProjects/PyBuffer/itkPyBuffer.txx:64: error: cannot convert ‘int*’ to ‘npy_intp*’ in argument passing

我可以使用有关如何修复编译错误或其他方式来转换我的 python 对象的想法。

4

3 回答 3

2

只是改变

int dimensions[ ImageDimension ];

npy_intp dimensions[ ImageDimension ];

并重新编译。

于 2010-10-28T14:55:00.100 回答
1

您可能对最近发生的 SimpleITK 工作非常感兴趣。

www.simpleitk.org 上有很多信息。

可以在http://www.github.com/SimpleITK找到源代码和许多文档。

于 2011-09-23T23:01:48.563 回答
0

在模块/外部的 ITK 源代码树中克隆PyBuffer 存储库。然后在您的 CMake 配置中启用它。

于 2014-08-23T04:15:55.193 回答