我写了这段代码,但在输出中,它只显示黑屏。什么东西不见了还是我在什么地方出错了?我使用reader、mapper、actor、render和mathematics。在
用@tomj的提示更改了代码
Python,VTK 6.2
import vtk
reader = vtk.vtkXMLImageDataReader()
reader.SetFileName("aneurysm.vti")
reader.Update()
data=reader.GetOutput()
math=vtk.vtkImageMathematics()
math.SetInputData(data)
math.SetConstantC(1024)
math.SetOperationToAddConstant ()
math.Update()
data=math.GetOutput()
reader.Update()
print data.GetScalarRange()
contFilter=vtk.vtkContourFilter()
contFilter.SetValue(1,1250.0)
contFilter.Update()
data=contFilter.GetOutput()
Mapper = vtk.vtkPolyDataMapper()
Mapper.SetInputData(data)
Actor = vtk.vtkActor()
Actor.SetMapper(Mapper)
renderWindow = vtk.vtkRenderWindow()
renderer = vtk.vtkRenderer()
renderWindow.AddRenderer(renderer)
renderer.AddActor(Actor)
iren = vtk.vtkRenderWindowInteractor()
iren.SetRenderWindow(renderWindow)
iren.Initialize()
renderWindow.Render()
iren.Start()
实际上您没有使用映射器,您的actor没有要显示的数据。您应该将数据分配给映射器(Mapper.SetInputData(data),假设数据是vtkPolyData类型,然后是actor的映射器(Actor.SetMapper(映射器)。在
在添加了previous之后进行编辑:这次看起来您缺少轮廓过滤器的输入(因此contFilter.SetInputData(数据)我想)。在
相关问题 更多 >
编程相关推荐