在一个类“LineLogic”中,我有以下代码部分:
probe = vtk.vtkProbeFilter()
probe.SetInputConnection(line.GetOutputPort())
probe.SetSourceData(volumeNode.GetImageData())
probe.Update()
# return VTK array
return probe.GetOutput().GetPointData().GetArray('ImageScalars')
在另一个类中,我执行以下操作来遍历数组:
logic = LineLogic()
sampleData = logic.probeVolume(volumeNode,rulerNode)
for data in sampleData:
if not (isinstance(data,int) or isinstance(data,float) or isinstance(data,long) or isinstance(data,complex)):
raise ValueError('non numeric data')
当我尝试运行程序时,出现以下错误:
TypeError: 'vtkobject' object is not iterable
在该行:
for data in sampleData:
为什么?我们不是要返回一个数组吗?