Example #1
0
    def get_camera_info(obj, ev):

        if iren.GetKeyCode() == "s":
            w2if = vtk.vtkWindowToImageFilter()
            w2if.SetInput(renWin)
            w2if.Update()

            writer = vtk.vtkPNGWriter()
            writer.SetFileName("screenshot.png")
            writer.SetInputData(w2if.GetOutput())
            writer.Write()
            print("screenshot saved")

        # save to pdf
        if iren.GetKeyCode() == "s":
            exp = vtk.vtkGL2PSExporter()
            exp.SetRenderWindow(renWin)
            exp.SetFilePrefix("screenpdf")
            exp.SetFileFormat(2)
            exp.SetCompress(False)
            exp.SetLandscape(False)
            exp.SetSortToBSP()
            # exp.SetSortToSimple()  # less expensive sort algorithm
            exp.DrawBackgroundOn()
            exp.SetWrite3DPropsAsRasterImage(False)
Example #2
0
def SavePDF():
	pdf_number=__main__.pdf_number
	option_verbose=__main__.option_verbose
	option_prefix=__main__.option_prefix
	renwin=__main__.renwin

	rtTimer=vtk.vtkTimerLog

        my_print(option_verbose,'----------------------------')
        my_print(option_verbose,'Saving PDF')
	rtStartCPU=rtTimer.GetCPUTime()

        filepdf=option_prefix+'_%03d' %pdf_number
        my_print(option_verbose,'Start writing PDF file', filepdf+'.pdf')
        psw = vtk.vtkGL2PSExporter()
        psw.SetInput(renwin)
        #psw.SetFileFormatToPS()
        psw.SetFileFormatToPDF()
        #psw.SetFileFormatToEPS()
	psw.SetSortToOff()
	if __main__.option_projection == 'linear' : 
        	psw.LandscapeOff()
        psw.SetFilePrefix(filepdf)
        psw.Write()
	
	rtEndCPU=rtTimer.GetCPUTime()
        my_print(option_verbose,'End writing PDF file')
	my_print(option_verbose,'CPU time:', rtEndCPU-rtStartCPU)

        __main__.pdf_number=pdf_number+1
Example #3
0
def SavePDF():
    pdf_number = __main__.pdf_number
    option_verbose = __main__.option_verbose
    option_prefix = __main__.option_prefix
    renwin = __main__.renwin

    rtTimer = vtk.vtkTimerLog

    my_print(option_verbose, '----------------------------')
    my_print(option_verbose, 'Saving PDF')
    rtStartCPU = rtTimer.GetCPUTime()

    filepdf = option_prefix + '_%03d' % pdf_number
    my_print(option_verbose, 'Start writing PDF file', filepdf + '.pdf')
    psw = vtk.vtkGL2PSExporter()
    psw.SetInput(renwin)
    #psw.SetFileFormatToPS()
    psw.SetFileFormatToPDF()
    #psw.SetFileFormatToEPS()
    psw.SetSortToOff()
    if __main__.option_projection == 'linear':
        psw.LandscapeOff()
    psw.SetFilePrefix(filepdf)
    psw.Write()

    rtEndCPU = rtTimer.GetCPUTime()
    my_print(option_verbose, 'End writing PDF file')
    my_print(option_verbose, 'CPU time:', rtEndCPU - rtStartCPU)

    __main__.pdf_number = pdf_number + 1
Example #4
0
def savefig3d(plt3d, file_prefix):
    expo = vtk.vtkGL2PSExporter()
    expo.SetFilePrefix(file_prefix)
    expo.SetFileFormatToPDF()
    expo.SetRenderWindow(plt3d.ren_win)
    expo.Write()
    return
Example #5
0
def screenshot(filename="screenshot.png"):
    """
    Save a screenshot of the current rendering window.
    """
    if not settings.plotter_instance or not settings.plotter_instance.window:
        colors.printc(
            '~bomb screenshot(): Rendering window is not present, skip.', c=1)
        return
    w2if = vtk.vtkWindowToImageFilter()
    w2if.SetInput(settings.plotter_instance.window)
    s = settings.screeshotScale
    w2if.SetScale(s, s)
    if settings.screenshotTransparentBackground:
        w2if.SetInputBufferTypeToRGBA()
    w2if.ReadFrontBufferOff()  # read from the back buffer
    w2if.Update()
    if filename.endswith('.png'):
        writer = vtk.vtkPNGWriter()
        writer.SetFileName(filename)
        writer.SetInputConnection(w2if.GetOutputPort())
        writer.Write()
    elif filename.endswith('.jpg'):
        writer = vtk.vtkJPEGWriter()
        writer.SetFileName(filename)
        writer.SetInputConnection(w2if.GetOutputPort())
        writer.Write()
    elif filename.endswith('.svg'):
        writer = vtk.vtkGL2PSExporter()
        #writer.SetFileFormatToPDF()
        #writer.SetFileFormatToTeX()
        writer.SetFileFormatToSVG()
        writer.CompressOff()
        writer.SetInput(settings.plotter_instance.window)
        writer.SetFilePrefix(filename.split('.')[0])
        writer.Write()
Example #6
0
 def save_screenshot(self, fn, ext):
     if ext.lower() == '.eps':
         exporter = vtk.vtkGL2PSExporter()
         exporter.SetFileFormatToEPS()
         #exporter.CompressOn()
         exporter.SetFilePrefix(fn)
         exporter.SetRenderWindow(self.frame.ren_win)
         exporter.Write()
Example #7
0
def save_exporter(renderwindow, base, extension):
    base = base.encode(sys.getfilesystemencoding())
    print 'save_exporter', base, '+', extension

    try:
        exporter = vtk.vtkGL2PSExporter()
    except AttributeError, e:
        return 'Can\'t export image: ' + unicode(e)
Example #8
0
def screenshot(filename="screenshot.png", scale=None, returnNumpy=False):
    """
    Save a screenshot of the current rendering window.

    :param int scale: set image magnification
    :param bool returnNumpy: return a numpy array of the image
    """
    if not settings.plotter_instance or not settings.plotter_instance.window:
        colors.printc('~bomb screenshot(): Rendering window is not present, skip.', c=1)
        return

    if scale is None:
        scale = settings.screeshotScale

    if settings.screeshotLargeImage:
       w2if = vtk.vtkRenderLargeImage()
       w2if.SetInput(settings.plotter_instance.renderer)
       w2if.SetMagnification(scale)
    else:
        w2if = vtk.vtkWindowToImageFilter()
        w2if.SetInput(settings.plotter_instance.window)
        if hasattr(w2if, 'SetScale'):
            w2if.SetScale(scale, scale)
        if settings.screenshotTransparentBackground:
            w2if.SetInputBufferTypeToRGBA()
        w2if.ReadFrontBufferOff()  # read from the back buffer
    w2if.Update()

    if returnNumpy:
        w2ifout = w2if.GetOutput()
        npdata = vtk_to_numpy(w2ifout.GetPointData().GetArray("ImageScalars"))
        npdata = npdata[:,[0,1,2]]
        ydim, xdim, _ = w2ifout.GetDimensions()
        npdata = npdata.reshape([xdim, ydim, -1])
        npdata = np.flip(npdata, axis=0)
        return npdata

    if filename.endswith('.png'):
        writer = vtk.vtkPNGWriter()
        writer.SetFileName(filename)
        writer.SetInputConnection(w2if.GetOutputPort())
        writer.Write()
    elif filename.endswith('.jpg'):
        writer = vtk.vtkJPEGWriter()
        writer.SetFileName(filename)
        writer.SetInputConnection(w2if.GetOutputPort())
        writer.Write()
    elif filename.endswith('.svg'):
        writer = vtk.vtkGL2PSExporter()
        #writer.SetFileFormatToPDF()
        #writer.SetFileFormatToTeX()
        writer.SetFileFormatToSVG()
        writer.CompressOff()
        writer.SetInput(settings.plotter_instance.window)
        writer.SetFilePrefix(filename.split('.')[0])
        writer.Write()
Example #9
0
def ExportAsPDF(reportName, renWin):

    vtkGL2PSExporter = vtk.vtkGL2PSExporter()
    vtkGL2PSExporter.SetRenderWindow(renWin)

    vtkGL2PSExporter.SetFileFormatToPDF()
    filenameForPdf = reportName
    vtkGL2PSExporter.DrawBackgroundOn()
    vtkGL2PSExporter.SetFilePrefix(filenameForPdf)
    vtkGL2PSExporter.SetFileFormatToPDF()
    vtkGL2PSExporter.SetCompress(0)
    vtkGL2PSExporter.Write()
Example #10
0
    def store_visualization(self, render_window):
        file_name = str(QtGui.QFileDialog.getSaveFileName(
            self,
            'Save Visualization',
            os.path.join(os.getcwd(), '/visualization.svg'),
            'SVG-Images (*.svg)'
        ))

        if len(file_name) > 0:
            exporter = vtk.vtkGL2PSExporter()
            exporter.SetRenderWindow(render_window)
            exporter.SetFileFormatToSVG()
            exporter.CompressOff()
            exporter.DrawBackgroundOff()
            exporter.SetFilePrefix(os.path.splitext(file_name)[0])
            exporter.Write()
Example #11
0
  def vectorGraphics(self, output_type, file, width=None, height=None, units=None):
    if self.renWin is None:
      raise Exception("Nothing on Canvas to dump to file")

    gl  = vtk.vtkGL2PSExporter()
    gl.SetInput(self.renWin)
    gl.SetCompress(0) # Do not compress
    gl.SetFilePrefix(".".join(file.split(".")[:-1]))
    if output_type=="svg":
        gl.SetFileFormatToSVG()
    elif output_type == "ps":
        gl.SetFileFormatToPS()
    elif output_type=="pdf":
        gl.SetFileFormatToPDF()
    else:
        raise Exception("Unknown format: %s" % output_type)
    gl.Write()
Example #12
0
  def vectorGraphics(self, output_type, file, width=None, height=None, units=None):
    if self.renWin is None:
      raise Exception("Nothing on Canvas to dump to file")

    self.hideGUI()

    gl  = vtk.vtkGL2PSExporter()

    # This is the size of the initial memory buffer that holds the transformed
    # vertices produced by OpenGL. If you start seeing a lot of warnings:
    # GL2PS info: OpenGL feedback buffer overflow
    # increase it to save some time.
    # ParaView lags so we need a try/except around this
    # in case it is a ParaView build
    try:
      gl.SetBufferSize(50*1024*1024) # 50MB
    except:
      pass

    # Since the vcs layer stacks renderers to manually order primitives, sorting
    # is not needed and will only slow things down and introduce artifacts.
    gl.SetSortToOff()

    gl.SetInput(self.renWin)
    gl.SetCompress(0) # Do not compress
    gl.SetFilePrefix(".".join(file.split(".")[:-1]))
    gl.TextAsPathOn()
    if output_type=="svg":
        gl.SetFileFormatToSVG()
    elif output_type == "ps":
        gl.SetFileFormatToPS()
    elif output_type=="pdf":
        gl.SetFileFormatToPDF()
    else:
        raise Exception("Unknown format: %s" % output_type)
    gl.Write()
    plot = self.get3DPlot()
    if plot: plot.showWidgets()

    self.showGUI()
Example #13
0
  def vectorGraphics(self, output_type, file, width=None, height=None, units=None):
    if self.renWin is None:
      raise Exception("Nothing on Canvas to dump to file")

    self.hideGUI()

    gl  = vtk.vtkGL2PSExporter()

    # This is the size of the initial memory buffer that holds the transformed
    # vertices produced by OpenGL. If you start seeing a lot of warnings:
    # GL2PS info: OpenGL feedback buffer overflow
    # increase it to save some time.
    # ParaView lags so we need a try/except around this
    # in case it is a ParaView build
    try:
      gl.SetBufferSize(50*1024*1024) # 50MB
    except:
      pass

    # Since the vcs layer stacks renderers to manually order primitives, sorting
    # is not needed and will only slow things down and introduce artifacts.
    gl.SetSortToOff()

    gl.SetInput(self.renWin)
    gl.SetCompress(0) # Do not compress
    gl.SetFilePrefix(".".join(file.split(".")[:-1]))
    gl.TextAsPathOn()
    if output_type=="svg":
        gl.SetFileFormatToSVG()
    elif output_type == "ps":
        gl.SetFileFormatToPS()
    elif output_type=="pdf":
        gl.SetFileFormatToPDF()
    else:
        raise Exception("Unknown format: %s" % output_type)
    gl.Write()
    plot = self.get3DPlot()
    if plot: plot.showWidgets()

    self.showGUI()
Example #14
0
def saveRendererToPS(renderer,fnOut):
	
	"""Saves mesh to postscript file.
	
	Supported extensions are:
	
		* '.ps'  (PostScript)
		* '.eps' (Encapsualted PostScript)
		* '.pdf' (Portable Document Format)
		* '.tex' (LaTeX)
		* '.svg' (Scalable Vector Graphics)
			
	.. note:: This function imports *vtk*. *vtk* is only necessary in a few functions,
		hence only imported when needed. This should make PyFRAP more portable.
	
	Some code taken from http://www.programcreek.com/python/example/23102/vtk.vtkGL2PSExporter .
	
	Args:
		fnOut (str): Path to output file.
		renderer (vtk.vtkOpenGLRenderer): Renderer.
		
	Returns:
		vtk.vtkGL2PSExporter: Exporter object.
	
	"""
	
	#Generate exporter
	exp = vtk.vtkGL2PSExporter()
	exp.SetRenderWindow(renderer)
	
	#Get extension
	basename,ext=os.path.splitext(fnOut)
	vectorFileFormats = {'.ps': 0, '.eps': 1, '.pdf': 2, '.tex': 3,'.svg':4}
	
	exp.SetFilePrefix(basename)
	exp.SetFileFormat(vectorFileFormats[ext.lower()])
	
	exp.Write()
	
	return exp
Example #15
0
def saveRendererToPS(renderer, fnOut):
    """Saves mesh to postscript file.
	
	Supported extensions are:
	
		* '.ps'  (PostScript)
		* '.eps' (Encapsualted PostScript)
		* '.pdf' (Portable Document Format)
		* '.tex' (LaTeX)
		* '.svg' (Scalable Vector Graphics)
			
	.. note:: This function imports *vtk*. *vtk* is only necessary in a few functions,
		hence only imported when needed. This should make PyFRAP more portable.
	
	Some code taken from http://www.programcreek.com/python/example/23102/vtk.vtkGL2PSExporter .
	
	Args:
		fnOut (str): Path to output file.
		renderer (vtk.vtkOpenGLRenderer): Renderer.
		
	Returns:
		vtk.vtkGL2PSExporter: Exporter object.
	
	"""

    #Generate exporter
    exp = vtk.vtkGL2PSExporter()
    exp.SetRenderWindow(renderer)

    #Get extension
    basename, ext = os.path.splitext(fnOut)
    vectorFileFormats = {'.ps': 0, '.eps': 1, '.pdf': 2, '.tex': 3, '.svg': 4}

    exp.SetFilePrefix(basename)
    exp.SetFileFormat(vectorFileFormats[ext.lower()])

    exp.Write()

    return exp
Example #16
0
    def testRasterEPS(self):
        """Test EPS output when Write3DPropsAsRasterImage is on."""
        # Get a temporary file name.  Set the extension to empty since
        # the exporter appends a suitable extension.
        tmp_eps = tempfile.mktemp('')
        # Write an EPS file.
        exp = vtk.vtkGL2PSExporter()
        exp.SetRenderWindow(self.renWin)
        exp.SetFilePrefix(tmp_eps)
        # Turn off compression so PIL can read file.
        exp.CompressOff() 
        exp.SetSortToOff()
        exp.DrawBackgroundOn()
        exp.Write3DPropsAsRasterImageOn()
        exp.Write()
        # Now read the EPS file using PIL.
        tmp_eps += '.eps'
        im = Image.open(tmp_eps)
        # Get a temporary name for the PNG file.
        tmp_png = tempfile.mktemp('.png')
        im.save(tmp_png)

        # Now read the saved image and compare it for the test.
        png_r = vtk.vtkPNGReader()
        png_r.SetFileName(tmp_png)
        png_r.Update()
        img = png_r.GetOutput()

        # Cleanup.  Do this first because if the test fails, an
        # exception is raised and the temporary files won't be
        # removed.
        self._cleanup([tmp_eps, tmp_png])
        
        img_file = "TestGL2PSExporter.png"
        Testing.compareImageWithSavedImage(img,
                                           Testing.getAbsImagePath(img_file))
        # Interact if necessary.
        Testing.interact()
Example #17
0
    def testRasterEPS(self):
        """Test EPS output when Write3DPropsAsRasterImage is on."""
        # Get a temporary file name.  Set the extension to empty since
        # the exporter appends a suitable extension.
        tmp_eps = tempfile.mktemp('')
        # Write an EPS file.
        exp = vtk.vtkGL2PSExporter()
        exp.SetRenderWindow(self.renWin)
        exp.SetFilePrefix(tmp_eps)
        # Turn off compression so PIL can read file.
        exp.CompressOff() 
        exp.SetSortToOff()
        exp.DrawBackgroundOn()
        exp.Write3DPropsAsRasterImageOn()
        exp.Write()
        # Now read the EPS file using PIL.
        tmp_eps += '.eps'
        im = Image.open(tmp_eps)
        # Get a temporary name for the PNG file.
        tmp_png = tempfile.mktemp('.png')
        im.save(tmp_png)

        # Now read the saved image and compare it for the test.
        png_r = vtk.vtkPNGReader()
        png_r.SetFileName(tmp_png)
        png_r.Update()
        img = png_r.GetOutput()

        # Cleanup.  Do this first because if the test fails, an
        # exception is raised and the temporary files won't be
        # removed.
        self._cleanup([tmp_eps, tmp_png])
        
        img_file = "TestGL2PSExporter.png"
        Testing.compareImageWithSavedImage(img,
                                           Testing.getAbsImagePath(img_file))
        # Interact if necessary.
        Testing.interact()
Example #18
0
actor = vtkActor()
actor.SetMapper(mapper)

renderer = vtkRenderer()
renderWindow = vtkRenderWindow()
renderWindow.SetOffScreenRendering(1)
renderWindow.AddRenderer(renderer)

renderer.AddActor(actor)
renderer.SetBackground(1, 1, 1)

renderWindow.Render()

windowToImageFilter = vtkWindowToImageFilter()
windowToImageFilter.SetInput(renderWindow)
windowToImageFilter.Update()

writer = vtkPNGWriter()
writer.SetFileName("sphere.png")
writer.SetInputConnection(windowToImageFilter.GetOutputPort())
writer.Write()

exp = vtk.vtkGL2PSExporter()
exp.SetFileFormatToPDF()
exp.SetRenderWindow(renderWindow)
exp.SetFilePrefix('cone_pdf')
# Turn off compression so PIL can read file.
exp.CompressOff()
# exp.SetSortToBSP()
exp.DrawBackgroundOn()
exp.Write()
def generate_distance_plot():
    def add_spline(outline):
        outline['spline_params'] = sa.get_spline_params(outline['points'])[0]
        return outline

    bones = map(add_spline, lh.load_files('data/2D/registered-outline/2015-06-08'))
    class1bones = [ bone for bone in bones if bone['class'] == 2 ]
    class2bones = [ bone for bone in bones if bone['class'] == 3 ]
    class1outline = np.mean([sa.evaluate_spline(np.linspace(0, 1, 180, endpoint=False), s['spline_params']) for s in class1bones], axis=0)
    class2outline = np.mean([sa.evaluate_spline(np.linspace(0, 1, 180, endpoint=False), s['spline_params']) for s in class2bones], axis=0)
    total_mean = np.mean([sa.evaluate_spline(np.linspace(0, 1, 180, endpoint=False), s['spline_params']) for s in bones], axis=0)

    distances = np.linalg.norm(class1outline - class2outline, axis=1)
    angles = np.array([degrees(gh.cart2pol(ev[0], ev[1])[1]) for ev in total_mean])
    angles[angles[:] < 0] += 360

    limit_min, limit_max = get_axis_limits(distances)

    chart = vtk.vtkChartXY()
    chart.GetAxis(1).SetBehavior(vtk.vtkAxis.FIXED)
    chart.GetAxis(0).SetBehavior(vtk.vtkAxis.FIXED)
    chart.GetAxis(0).SetTitle('')
    chart.GetAxis(1).SetTitle('')
    chart.GetAxis(0).GetLabelProperties().SetFontSize(30)
    chart.GetAxis(1).GetLabelProperties().SetFontSize(30)
    chart.GetAxis(1).SetRange(0, 359)
    chart.GetAxis(0).SetRange(0, 1)
    chart_table = vtk.vtkTable()
    chart_angle_axis_array = vtk.vtkFloatArray()
    chart_angle_axis_array.SetName('Angle (degrees)')
    chart_metric_array = vtk.vtkFloatArray()
    chart_metric_array.SetName('Distance')
    chart_table.AddColumn(chart_angle_axis_array)
    chart_table.AddColumn(chart_metric_array)

    chart_line = chart.AddPlot(vtk.vtkChart.LINE)
    chart_line.SetColor(0, 0, 0, 255)
    chart_line.SetWidth(2)

    chart.GetAxis(0).SetGridVisible(False)
    chart.GetAxis(1).SetGridVisible(False)
    chart_line.SetWidth(5)

    chart_table.SetNumberOfRows(distances.shape[0])
    for i in range(distances.shape[0]):
        chart_table.SetValue(i, 0, angles[i])
        chart_table.SetValue(i, 1, distances[i])
    chart_line.SetInputData(chart_table, 0, 1)

    render_window = vtk.vtkRenderWindow()
    render_window.SetOffScreenRendering(1)
    render_window.SetSize(640, 360)

    tick_positions_x = vtk.vtkDoubleArray()
    tick_positions_y = vtk.vtkDoubleArray()
    for angle in [0, 90, 180, 270, 360]:
        tick_positions_x.InsertNextValue(angle)
    for height in [limit_min, floor(limit_max*100) / 100]:
        tick_positions_y.InsertNextValue(height)
    chart.GetAxis(0).SetRange(limit_min, limit_max)
    chart.GetAxis(0).SetCustomTickPositions(tick_positions_y)
    chart.GetAxis(1).SetRange(0, 360)
    chart.GetAxis(1).SetCustomTickPositions(tick_positions_x)
    chart.Update()

    graph_context = vtk.vtkContextView()
    graph_context.SetRenderWindow(render_window)

    graph_context.GetScene().AddItem(chart)

    exporter = vtk.vtkGL2PSExporter()
    exporter.SetRenderWindow(render_window)
    exporter.SetFileFormatToSVG()
    exporter.CompressOff()
    exporter.DrawBackgroundOff()
    exporter.SetFilePrefix(os.path.abspath('thesis/img/results/real/distances'))
    exporter.Write()

    render_window.Finalize()
Example #20
0
 def lazy_vtkGL2PSExporter():
     """Lazy import of the vtkGL2PSExporter."""
     return vtk.vtkGL2PSExporter()
Example #21
0
    def save_gl2ps (self, file_name="", exp=None):        
        """Save scene to a vector PostScript/EPS/PDF/TeX file using
        GL2PS.  If you choose to use a TeX file then note that only
        the text output is saved to the file.  You will need to save
        the graphics separately.

        Keyword Arguments:

        file_name -- Optional file name to save to.  (default '').  If
        no file name is given then a dialog will pop up asking for the
        file name.

        exp -- Optionally configured vtkGL2PSExporter object.
        Defaults to None and this will result in a pop-up window
        asking for configuration options.        
        """
        debug ("In RenderWindow::save_gl2ps ()")
        # Make sure the exporter is available.
        if not hasattr(vtk, 'vtkGL2PSExporter'):
            msg = "Saving as a vector PS/EPS/PDF/TeX file using GL2PS is "\
                  "either not supported by your version of VTK or "\
                  "you have not configured VTK to work with GL2PS -- read "\
                  "the documentation for the vtkGL2PSExporter class."
            Common.print_err (msg)
            return

        # Get a filename
        if not file_name:
            file_name = tk_fsave (title="Export to PS/EPS/PDF/TeX", 
                                  initialdir=Common.config.initial_dir,
                                  defaultextension=".eps",
                                  filetypes=[("All files", "*"),
                                             ("EPS files", "*.eps"),
                                             ("PS files", "*.ps"),
                                             ("PDF files", "*.pdf"),
                                             ("TeX files", "*.tex")])
        
        if len(file_name) != 0:
            f_prefix, f_ext = os.path.splitext(file_name)
            ex = None
            if exp:
                ex = exp
                if not isinstance(exp, vtk.vtkGL2PSExporter):
                    msg = "Need a vtkGL2PSExporter you passed a "\
                          "%s"%exp.__class__.__name__
                ex.SetFilePrefix(f_prefix)
            else:
                ex = vtk.vtkGL2PSExporter()
                # defaults
                ex.SetFilePrefix(f_prefix)
                if f_ext == ".ps":
                    ex.SetFileFormatToPS()
                elif f_ext == ".tex":
                    ex.SetFileFormatToTeX()
                elif f_ext == ".pdf":
                    ex.SetFileFormatToPDF()
                else:
                    ex.SetFileFormatToEPS()
                ex.SetSortToBSP()
                # configure the exporter.
                c = vtkPipeline.ConfigVtkObj.ConfigVtkObj(self.renwin)
                c.configure(self.frame, ex, get=[], auto_update=1,
                            one_frame=1, run_command=0)
                self.frame.update()
                c.root.transient(self.frame)
                self.frame.wait_window(c.root)
            
            self.lift()
            ex.SetRenderWindow(self.renwin)
            Common.state.busy()
            ex.Write()
            Common.state.idle()        
pactor.SetMapper(papper)
#pactor.GetProperty().SetOpacity(opacity)
pactor.GetProperty().SetRepresentationToWireframe()
pactor.GetProperty().SetColor(1.0, 1.0, 1.0)

ren.AddActor(pactor)

ren.SetBackground(0, 0, 0)
ren.ResetCamera()
#renWin.SetSize(1024, 768)

renWin.SetSize(1024, 768)

#renderLarge = vtk.vtkRenderLargeImage()
#renderLarge.SetInput(ren)
#renderLarge.SetMagnification(4)

writer = vtk.vtkGL2PSExporter()
writer.SetRenderWindow(renWin)
writer.SetFileFormatToPDF()
writer.SetFilePrefix("largeImage")
writer.Write()

#writer = vtk.vtkTIFFWriter()
#writer.SetInputConnection (renderLarge.GetOutputPort())
#writer.SetFileName("largeImage.tif")
#writer.Write()

renWin.Render()
iren.Start()
Example #23
0
actor.SetMapper(mapper)

renderer = vtkRenderer()
renderWindow = vtkRenderWindow()
renderWindow.SetOffScreenRendering(1)
renderWindow.AddRenderer(renderer)

renderer.AddActor(actor)
renderer.SetBackground(1, 1, 1)

renderWindow.Render()

windowToImageFilter = vtkWindowToImageFilter()
windowToImageFilter.SetInput(renderWindow)
windowToImageFilter.Update()

writer = vtkPNGWriter()
writer.SetFileName("sphere.png")
writer.SetInputConnection(windowToImageFilter.GetOutputPort())
writer.Write()


exp = vtk.vtkGL2PSExporter()
exp.SetFileFormatToPDF()
exp.SetRenderWindow(renderWindow)
exp.SetFilePrefix('cone_pdf')
# Turn off compression so PIL can read file.
exp.CompressOff()
# exp.SetSortToBSP()
exp.DrawBackgroundOn()
exp.Write()