2017-05-10 13 views
0

이 코드를 작성했지만 출력 결과에 검은 색 화면 만 표시됩니다. 뭔가 빠졌거나 어딘가에서 실수를 했나요? 나는 독자, 매퍼, 배우, 렌더링 및 수학을 사용합니다.VTK가 출력을 표시하지 않습니다. 렌더링

파이썬, 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() 

답변

0

당신은 실제로 매퍼를 사용하지 않는 @tomj에서 힌트

변경된 코드는, 당신의 배우 표시 할 데이터가 없습니다. 데이터가 매퍼 (Mapper.SetInputData (data), 데이터가 vtkPolyData 유형이라고 가정)에 할당 한 다음 매퍼를 액터 (Actor.SetMapper (Mapper))에 할당해야합니다.

이번에 편집하기 전에 : 이번에는 컨투어 필터 입력이 누락되었습니다 (contFilter.SetInputData (data) I think).

+0

힌트로 코드가 변경되었지만 여전히 작동하지 않습니다. 게시물에 코드를 붙여 넣었습니다. –

+0

'vtkImageMathematics'에는 다소 불만이있는 것으로 보입니다. 나는 그것을 사용하는 C++ 코드를 가지고있다. 작동하지 않는다. 입력 데이터를 변경하거나 잡음이없는 값을 산출한다. 나는 또한 잘 작동하는'vtkImageFourierFilter' (다른 이미지 필터)를 사용합니다. –