Source code for director.imageview

from director import vtkAll as vtk
import PythonQt

[docs]class ImageView(object): def __init__(self): self.view = PythonQt.dd.ddQVTKWidgetView() self.view.setWindowTitle('Image View') self.imageActor = vtk.vtkImageActor() self.setImage(vtk.vtkImageData()) self.view.renderer().AddActor(self.imageActor) self.view.orientationMarkerWidget().Off() self.view.renderer().SetBackground([0,0,0]) self.view.renderer().SetBackground2([0,0,0]) self.view.installImageInteractor()
[docs] def setImage(self, image): self.imageActor.SetInput(image)
[docs] def getImage(self): return self.imageActor.GetInput()
[docs] def resetCamera(self): camera = self.view.camera() camera.ParallelProjectionOn() camera.SetFocalPoint(0,0,0) camera.SetPosition(0,0,1) camera.SetViewUp(0,1,0) self.view.resetCamera() self.fitImageToView() self.view.render()
[docs] def fitImageToView(self): camera = self.view.camera() image = self.getImage() imageWidth, imageHeight, _ = image.GetDimensions() viewWidth, viewHeight = self.view.renderWindow().GetSize() aspectRatio = float(viewWidth)/viewHeight parallelScale = max(imageWidth/aspectRatio, imageHeight) / 2.0 camera.SetParallelScale(parallelScale)