[Paraview] Suppress X display while saving images from Python script
    M. Nawijn 
    nawijn at gmail.com
       
    Fri Jul 24 15:34:21 EDT 2009
    
    
  
I don't know if I am double posting, if so I apologize. (I posted this
question this afternoon, but somehow it does not show up on the
mailinglist.
Hello,
I have Python script that generates PNG images from a Paraview
session. This in essence works very well. The one problem that I have
is that an OpenGL window is created whenever I save the image. When
you do this in a loop, it becomes a little annoying, since the window
(at least on my Fedora box) automatically gets focus.
Is there a way to generate the PNG images without popping up a window?
Is it hardware/driver/platform dependent? I am using Paraview 3.7
(CVS) and Fedora FC11, NVIDIA proprietary drivers.
For completeness and maybe for the interest of other people, I copied
the body of my PNG image generation procedure below. Notice the
explicit deletions at the end of the script. These are mandatory in my
case since I update for example the colour legend in each step of the
loop.
       # Instantiate a Paraview VTU reader
       reader = XMLUnstructuredGridReader(FileName=model.filename)
       lt = MakeBlueToRedLT(max_val, min_val)
       bar = CreateScalarBar(LookupTable=lt, Title=key)
       bar.LabelColor = [0.0, 0.0, 0.0]
       bar.TitleColor = [0.0, 0.0, 0.0]
       bar.LabelFontSize = 12
       bar.AspectRatio   = 15.0
       bar.AutomaticLabelFormat = 0
       Show()
       Render()
       view = GetActiveView()
       view.Background = [1,1,1]
       ResetCamera(view)
       dp = GetDisplayProperties()
       dp.ColorArrayName = 'W'
       rep = GetRepresentation()
       rep.LookupTable = lt
       view.Representations.append(bar)
       # Add text for load
       text = Text()
       text.Text = 'Load %4.1f' % model.load
       repr = Show(text)
       repr.Color    = [0,0,0]
       repr.FontSize = 12
       Render()
       WriteImage('stage-%d.png' % model.stage, Magnification=2)
       repr.FontSize = 14
       bar.LabelFontSize = 14
       UpdatePipeline()
       Render()
       WriteImage('stagethumb-%d.png' % model.stage, Magnification=0.75)
       Delete(rep)
       Delete(view)
       Delete(reader)
Kind regards,
Marco
    
    
More information about the ParaView
mailing list