2

我正在尝试在 Python 中创建一个 Mesh 对象。我正在使用从以下网页安装的 python 绑定。就c++代码而言,我们可以这样做

      MeshType::Pointer mesh = MeshType::New();

我什至是使用 ITK 的新手。不知道如何创建它。在 c++ 文档中的 Mesh 构造函数中,它说一个必要的参数是 TPixelType。也找不到那个。

任何人都可以帮我解决这个问题。

谢谢

4

1 回答 1

3

如果我是你,我会看看 ITK 4.0 附带的 Python 绑定。您可以通过在 cmake 中打开选项 WRAP_ITK_PYTHON 来访问它们。

一次,您在打开 python 绑定的情况下编译 ITK,您可以创建 2 种开箱即用的网格类型:

import itk
meshType2D = itk.Mesh.D2Q.New()
meshType3D = itk.Mesh.D3Q.New()

或者,您可以显式实例化您的类,如下所示:

import itk
meshType2D = itk.Mesh[itk.D, 2, itk.QuadEdgeMeshTraits.D2BBFF]
meshType3D = itk.Mesh[itk.D, 3, itk.QuadEdgeMeshTraits.D3BBFF]

这将为您提供具有默认网格特征的双类型像素值的 2 维和 3 维网格。就 ITK 中的像素类型而言,这些相当于基本的 C++ 变量类型:double、float、unsigned int 等。这些基本类型封装在 python 中,可以在 ITK 命名空间中找到:itk.D、itk.F , itk.UI 等

于 2011-09-28T15:52:55.797 回答