Python vtk.vtkWindowToImageFilter() Examples
The following are 6
code examples of vtk.vtkWindowToImageFilter().
You can vote up the ones you like or vote down the ones you don't like,
and go to the original project or source file by following the links above each example.
You may also want to check out all available functions/classes of the module
vtk
, or try the search function
.
Example #1
Source File: graphics.py From robopy with MIT License | 6 votes |
def screenshot(self, filename=None): w2if = vtk.vtkWindowToImageFilter() w2if.SetInput(self.ren_win) w2if.Update() if filename is None: filename = 'screenshot' filename = filename + '%d.png' % self.screenshot_count writer = vtk.vtkPNGWriter() writer.SetFileName(filename) self.screenshot_count += 1 writer.SetInputData(w2if.GetOutput()) writer.Write()
Example #2
Source File: plotting.py From pyvista with MIT License | 6 votes |
def image(self): """Return an image array of current render window. To retrieve an image after the render window has been closed, set: `plotter.store_image = True` """ if not hasattr(self, 'ren_win') and hasattr(self, 'last_image'): return self.last_image ifilter = vtk.vtkWindowToImageFilter() ifilter.SetInput(self.ren_win) ifilter.ReadFrontBufferOff() if self.image_transparent_background: ifilter.SetInputBufferTypeToRGBA() else: ifilter.SetInputBufferTypeToRGB() return self._run_image_filter(ifilter) #### Everything else ####
Example #3
Source File: plotting.py From pyvista with MIT License | 5 votes |
def get_image_depth(self, fill_value=np.nan, reset_camera_clipping_range=True): """Return a depth image representing current render window. Parameters ---------- fill_value : float Fill value for points in image that don't include objects in scene. To not use a fill value, pass ``None``. reset_camera_clipping_range : bool Reset the camera clipping range to include data in view? Return ------ image_depth : numpy.ndarray Image of depth values from camera orthogonal to image plane Notes ----- Values in image_depth are negative to adhere to a right-handed coordinate system. """ if not hasattr(self, 'ren_win') and hasattr(self, 'last_image_depth'): zval = self.last_image_depth.copy() if fill_value is not None: zval[self._image_depth_null] = fill_value return zval # Ensure points in view are within clipping range of renderer? if reset_camera_clipping_range: self.renderer.ResetCameraClippingRange() # Get the z-buffer image ifilter = vtk.vtkWindowToImageFilter() ifilter.SetInput(self.ren_win) ifilter.ReadFrontBufferOff() ifilter.SetInputBufferTypeToZBuffer() zbuff = self._run_image_filter(ifilter)[:, :, 0] # Convert z-buffer values to depth from camera with warnings.catch_warnings(): warnings.filterwarnings('ignore') near, far = self.camera.GetClippingRange() if self.camera.GetParallelProjection(): zval = (zbuff - near) / (far - near) else: zval = 2 * near * far / ((zbuff - 0.5) * 2 * (far - near) - near - far) # Consider image values outside clipping range as nans args = np.logical_or(zval < -far, np.isclose(zval, -far)) self._image_depth_null = args if fill_value is not None: zval[args] = fill_value return zval
Example #4
Source File: visualizercontrol.py From Det3D with Apache License 2.0 | 5 votes |
def ScreenShot(self, filename): "Create a screenshot of the visualizer in BMP format" win2img = vtk.vtkWindowToImageFilter() win2img.SetInput(self.renderWindow) win2img.Update() bmpWriter = vtk.vtkBMPWriter() bmpWriter.SetInput(win2img.GetOutput()) bmpWriter.SetFileName(filename) bmpWriter.Write()
Example #5
Source File: utility.py From ILCC with BSD 2-Clause "Simplified" License | 4 votes |
def vis_with_renderer(renderer): # Renderer # renderer.SetBackground(.2, .3, .4) renderer.SetBackground(1, 1, 1) renderer.ResetCamera() transform = vtk.vtkTransform() transform.Translate(1.0, 0.0, 0.0) axes = vtk.vtkAxesActor() renderer.AddActor(axes) # Render Window renderWindow = vtk.vtkRenderWindow() renderWindow.AddRenderer(renderer) # Interactor renderWindowInteractor = vtk.vtkRenderWindowInteractor() renderWindowInteractor.SetRenderWindow(renderWindow) def get_camera_info(obj, ev): if renderWindowInteractor.GetKeyCode() == "s": w2if = vtk.vtkWindowToImageFilter() w2if.SetInput(renderWindow) w2if.Update() writer = vtk.vtkPNGWriter() writer.SetFileName("screenshot.png") if vtk.VTK_MAJOR_VERSION == 5: writer.SetInput(w2if.GetOutput()) else: writer.SetInputData(w2if.GetOutput()) writer.Write() print "screenshot saved" style = vtk.vtkInteractorStyleSwitch() renderWindowInteractor.SetInteractorStyle(style) # style.SetCurrentStyleToTrackballActor() style.SetCurrentStyleToTrackballCamera() # Begin Interaction renderWindowInteractor.AddObserver(vtk.vtkCommand.KeyPressEvent, get_camera_info, 1) renderWindow.Render() renderWindowInteractor.Start()
Example #6
Source File: volumerendering.py From Medical-Image-Analysis-IPython-Tutorials with Apache License 2.0 | 4 votes |
def vtk_basic( actors, embed=False, magnification=1.0 ): """ Create a window, renderer, interactor, add the actors and start the thing Parameters ---------- actors : list of vtkActors Returns ------- nothing """ # create a rendering window and renderer ren = vtk.vtkRenderer() renWin = vtk.vtkRenderWindow() renWin.AddRenderer(ren) renWin.SetSize(600,600) # ren.SetBackground( 1, 1, 1) # create a renderwindowinteractor iren = vtk.vtkRenderWindowInteractor() iren.SetRenderWindow(renWin) for a in actors: move( a, np.dot(Ry(-180),Rx(-180)) ) # assign actor to the renderer ren.AddActor(a ) # render renWin.Render() if embed: renWin.SetSize(300,300) grabber = vtk.vtkWindowToImageFilter() grabber.SetInput( renWin ) grabber.SetMagnification( magnification ) grabber.Update() writer = vtk.vtkPNGWriter() writer.SetInput( grabber.GetOutput() ) writer.SetFileName( "screenshot.png" ) writer.Write() return display.Image("screenshot.png") else: # enable user interface interactor iren.Initialize() iren.Start()