vtkImageAppend似乎没有产生有效的vtkImageData

时间:2019-08-19 18:23:58

标签: python vtk dicom

我的手中有几个用于不同骨骼的DICOM堆栈,我想对整个手进行3D渲染。到目前为止,我只能渲染一根骨头。

我正在使用python vtk和vtkplotter库。

到目前为止,我已经尝试为每个DICOM图像创建一个vtkImageData对象,并使用vtkImageAppend.AddInputData()将它们全部馈入vtkImageAppend对象。

代码是我用来附加所有图像的函数,这些图像作为称为vtkList的列表传递给函数。

var p = document.createElement("p");
var node = document.createTextNode("This is new");
p.appendChild(node);
var parent = document.body;
parent.appendChild(p);

CombineVTKs()函数的输出是一个'(vtkCommonDataModelPython.vtkImageData)'对象,但是当我尝试创建一个vtkplotter.Volume()对象并显示它时,一切都崩溃了,这让我非常难过。这是代码和以下错误:

def CombineVTKs(vtkList):
    "Returns a Single VTKImageData given a list of individual ones"
    a = vtk.vtkImageAppend()
    a.SetAppendAxis(2)
    for l in vtkList:
        a.AddInputData(l)
    return a.GetOutput()

产生的错误是:

a = CombineVTKs(myVtkList)
vol = vtkplotter.Volume(a)
vtkplotter.show(vol, bg='white')

有人使用过vtk && / || vtkplotter做类似的事情,还是有人建议另一种方法来完成此工作?

0 个答案:

没有答案