[Paraview] no probe over line output with paraview scripting

m.c.wilkins at massey.ac.nz m.c.wilkins at massey.ac.nz
Thu Oct 28 21:29:55 EDT 2010


Hi,

As promised, I have another question!

The code below can render a picture to the screen fine.  But I would
like to send the picture to a file, without rendering anything to the
screen.  I know I can put
   WriteImage('/tmp/foo.png')
at the end to save the output, but that is after I've popped up an
image.

I did find a powerpoint by David E DeMarle about paraview scripting
with this in it:

writer = servermanager.writers.PNGWriter()
writer.FileName = '/tmp/foo.png'
writer.Input = pl
writer.UpdatePipeline()

But when I try that I get:
ERROR: In /scratch/pv/ParaView/VTK/IO/vtkPNGWriter.cxx, line 54
vtkPNGWriter (0xb108028): Write:Please specify an input!
which is odd since I thought I had set the input via writer.Input = pl

My full code was

from paraview.simple import *
reader = servermanager.sources.XMLUnstructuredGridReader(FileName = "/var/tmp/file.vtu")
pl = PlotOverLine(Input = reader)
pl.Source.Point1 = [-7000, -5000, 0]
pl.Source.Point2 = [4300, 6300, 1111.75]
writer = servermanager.writers.PNGWriter()
writer.FileName = '/tmp/foo.png'
writer.Input = pl
c = CreateXYPlotView()
d = Show()
d.XArrayName = 'arc_length'
d.SeriesVisibility = ['namecolours (0)', '0', 'namecolours (1)', '0',
'namecolours (2)', '0', 'vtkValidPointMask', '0', 'arc_length', '0']
d.UseIndexForXAxis = 0
writer.UpdatePipeline()

I feel pretty bad about always asking questions on this list, but I
just can't seem to find documentation, or if I do, it is for a
slightly different setup (as in David E DeMarle's powerpoint for
instance).  So, if I am just missing some good doco source, please
point me that way!

Thanks for any help!

Matt Wilkins

On Fri, Oct 29, 2010 at 01:22:24PM +1300, m.c.wilkins at massey.ac.nz wrote:
> 
> Hi Utkarsh,
> 
> Thanks, I am using 3.9, but I wasn't using paraview.simple, just
> following the examples in the Python Scripting chapter in the ParaView
> Guide.  Using paraview.simple does make things simpler ;-)  and indeed
> I can get it to work.
> 
> For the record this works fine for me:
> 
> from paraview.simple import *
> reader = servermanager.sources.XMLUnstructuredGridReader(FileName = "/var/tmp/file.vtu")
> pl = PlotOverLine(Input = reader)
> pl.Source.Point1 = [-7000, -5000, 0]
> pl.Source.Point2 = [4300, 6300, 1111.75]
> CreateXYPlotView()
> d = Show()
> d.XArrayName = 'arc_length'
> d.SeriesVisibility = ['namecolours (0)', '0', 'namecolours (1)', '0', 'namecolours (2)', '0', 'vtkValidPointMask', '0', 'arc_length', '0']
> d.UseIndexForXAxis = 0
> Render()
> 
> OK, so got past this problem, more to come I expect!
> 
> Thank you
> 
> Matt Wilkins
> 
> On Thu, Oct 28, 2010 at 09:08:50AM -0600, Utkarsh Ayachit wrote:
> > What version of ParaView are you using? Here's my script with 3.9
> > (should work with 3.8 too).
> > 
> > Wavelet()
> > pl = PlotOverLine()
> > pl.Source.Point1 = [-10, -10, -10]
> > pl.Source.Point2 = [10, 10, 10]
> > CreateXYPlotView()
> > Show()
> > Render()
> > 
> > Utkarsh
> > 
> > 
> > On Wed, Oct 27, 2010 at 2:30 PM,  <m.c.wilkins at massey.ac.nz> wrote:
> > >
> > > Hi,
> > >
> > > I am driving paraview via pvpython, and trying to do a probe over
> > > line.  I would think this is quite easy, but it is proving
> > > frustratingly difficult!  This is what I am typing
> > >
> > > from paraview import servermanager
> > > c = servermanager.Connect()
> > > reader = servermanager.sources.XMLUnstructuredGridReader(FileName =
> > > "/var/tmp/file.vtu")
> > > pl = servermanager.filters.ProbeLine(Input = reader)
> > > pl.Source.Point1 = [-7000, -5000, 0]
> > > pl.Source.Point2 = [4300, 6300, 1111.75]
> > > view = servermanager.CreateRenderView()
> > > rep = servermanager.CreateRepresentation(pl, view)
> > > pl.UpdatePipeline()
> > > view.ResetCamera()
> > > view.StillRender()
> > >
> > > I get a nice picture of the x axis and a short y axis, but nothing
> > > plotted.  I try a probe over line in paraview with the same beginning
> > > and end points and I get data displayed.
> > >
> > > I am not specifying what variables should be displayed for the probe
> > > over line, so perhaps nothing is getting displayed?  I cannot for the
> > > life of me find how I would specify what to display though.  If I do a
> > > probe over line in paraview with the Python Shell Trace running, I can
> > > see that the SeriesVisibility attribute in the
> > > paraview.servermanager.XYChartRepresentation object is being set.
> > > However I don't have that representation, I only have the 'rep' above,
> > > and that doesn't have a SeriesVisibility attribute.
> > >
> > > Thank you for any help, even if it is a pointer to where this is
> > > documented!
> > >
> > > Matt
> > >
> > >
> > > _______________________________________________
> > > Powered by www.kitware.com
> > >
> > > Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html
> > >
> > > Please keep messages on-topic and check the ParaView Wiki at: http://paraview.org/Wiki/ParaView
> > >
> > > Follow this link to subscribe/unsubscribe:
> > > http://www.paraview.org/mailman/listinfo/paraview
> > >
> _______________________________________________
> Powered by www.kitware.com
> 
> Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html
> 
> Please keep messages on-topic and check the ParaView Wiki at: http://paraview.org/Wiki/ParaView
> 
> Follow this link to subscribe/unsubscribe:
> http://www.paraview.org/mailman/listinfo/paraview


More information about the ParaView mailing list