Python 从vtkimagedata中的体素获取坐标

Python 从vtkimagedata中的体素获取坐标,python,vtk,Python,Vtk,我试图获取vtkImageData的坐标,但找不到任何方法来实现它。例如,给定一个名为image的vtkImageData对象,我知道我可以得到如下体素值: image = vtk.vtkImageData() voxels = image.GetPointData().GetScalars() 是否有一种方法可以返回特定体素的坐标或所有体素的坐标?例如,考虑3D图像,如果在体素中有3个体素值,我将获得这些体素的坐标,如列表中所示,例如: [[12,120,3],[14,20,3][119,

我试图获取
vtkImageData
的坐标,但找不到任何方法来实现它。例如,给定一个名为
image
vtkImageData
对象,我知道我可以得到如下体素值:

image = vtk.vtkImageData()
voxels = image.GetPointData().GetScalars()
是否有一种方法可以返回特定体素的坐标或所有体素的坐标?例如,考虑3D图像,如果在
体素中有3个体素值,我将获得这些体素的坐标,如列表中所示,例如:

[[12,120,3],[14,20,3][119, 34, 3]]

有什么提示吗?

下面的代码将循环遍历3D卷中的所有值并提取这些值,请查看文档中的ScalarPointer和GetScalarComponent以获取进一步帮助

x_dim, y_dim, z_dim = image.GetDimensions()

for x in xrange(x_dim):
    for y in xrange(x_dim):
        for z in xrange(x_dim):
            val = image.GetScalarComponentAsFloat(x,y,z)

下面的代码将遍历3D卷中的所有值并提取这些值,请查看文档中的ScalarPointer和GetScalarComponent以获取进一步帮助

x_dim, y_dim, z_dim = image.GetDimensions()

for x in xrange(x_dim):
    for y in xrange(x_dim):
        for z in xrange(x_dim):
            val = image.GetScalarComponentAsFloat(x,y,z)

函数
ComputeStructuredCoordinates
可以满足您的dem

函数
ComputeStructuredCoordinates
可以满足您的dem