If it helps, there is an example of how to write a python programmable filter that outputs image data here:<br><br><a href="http://www.paraview.org/Wiki/Here_are_some_more_examples_of_simple_ParaView_3_python_filters.#Producing_Image_Data_.28Source.29">http://www.paraview.org/Wiki/Here_are_some_more_examples_of_simple_ParaView_3_python_filters.#Producing_Image_Data_.28Source.29</a><br>
<br>You could modify this to be a filter that takes polydata from the PlotOverLine and outputs an image data. The wiki example may be slightly complicated to read because it is written in a way that it works as a parallel filter. You might be able to skip this part for your purposes.<br>
<br>Pat<br><br><div class="gmail_quote">On Wed, Nov 3, 2010 at 5:33 PM, <span dir="ltr"><<a href="mailto:m.c.wilkins@massey.ac.nz">m.c.wilkins@massey.ac.nz</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">
<br>
Hi,<br>
<br>
Thanks Jerome. You are dead right! The writer doesn't want<br>
vtkpolydata, rather vtkimagedata. Grrrr, silly me. I couldn't figure<br>
out how to convert vtkpolydata to vtkimagedata without actually<br>
rendering to the screen unfortunately.<br>
<br>
Actually I found a really old posting on this mailing list (damn, lost<br>
it now) that says that "Offscreen screenshots" aren't possible, unless<br>
you compile paraview with offscreen rendering. Don't know if this is<br>
still true or not. But, it appears I am after something too<br>
difficult.<br>
<br>
Anyway, I did figure out how to just extract the numbers of the<br>
vtkpolydata, using commands like this:<br>
<br>
pl.GetPoints().GetData().GetValue(0)<br>
and<br>
pl.GetPointData().GetArray(0).GetValue(0)<br>
<br>
etc<br>
<br>
so I can throw them into an array and use matplotlib.<br>
<br>
Thanks again<br>
<br>
Matt Wilkins<br>
<div><div></div><div class="h5"><br>
On Fri, Oct 29, 2010 at 09:27:45AM +0200, Jérôme wrote:<br>
> Hi Matt,<br>
><br>
> By quickly reading your code, I understand that you try to put<br>
> the ouput of the PlotOverLine on the the input of an image writer.<br>
> The mistake, IMHO, is that PlotOverLine outputs a vtkPolyData<br>
> (Polygonal Mesh in ParaView), that's why the writer doesn't want it as<br>
> input (it expects a vtkImageData instead).<br>
><br>
> I think that what you want is a screenshot of the plot. You should look<br>
> in that direction. Sort of "Offscreen screenshot" ?? Don't know...<br>
><br>
> HTH<br>
> Jerome<br>
><br>
> 2010/10/29 <<a href="mailto:m.c.wilkins@massey.ac.nz">m.c.wilkins@massey.ac.nz</a>>:<br>
> ><br>
> > Hi,<br>
> ><br>
> > As promised, I have another question!<br>
> ><br>
> > The code below can render a picture to the screen fine. But I would<br>
> > like to send the picture to a file, without rendering anything to the<br>
> > screen. I know I can put<br>
> > WriteImage('/tmp/foo.png')<br>
> > at the end to save the output, but that is after I've popped up an<br>
> > image.<br>
> ><br>
> > I did find a powerpoint by David E DeMarle about paraview scripting<br>
> > with this in it:<br>
> ><br>
> > writer = servermanager.writers.PNGWriter()<br>
> > writer.FileName = '/tmp/foo.png'<br>
> > writer.Input = pl<br>
> > writer.UpdatePipeline()<br>
> ><br>
> > But when I try that I get:<br>
> > ERROR: In /scratch/pv/ParaView/VTK/IO/vtkPNGWriter.cxx, line 54<br>
> > vtkPNGWriter (0xb108028): Write:Please specify an input!<br>
> > which is odd since I thought I had set the input via writer.Input = pl<br>
> ><br>
> > My full code was<br>
> ><br>
> > from paraview.simple import *<br>
> > reader = servermanager.sources.XMLUnstructuredGridReader(FileName = "/var/tmp/file.vtu")<br>
> > pl = PlotOverLine(Input = reader)<br>
> > pl.Source.Point1 = [-7000, -5000, 0]<br>
> > pl.Source.Point2 = [4300, 6300, 1111.75]<br>
> > writer = servermanager.writers.PNGWriter()<br>
> > writer.FileName = '/tmp/foo.png'<br>
> > writer.Input = pl<br>
> > c = CreateXYPlotView()<br>
> > d = Show()<br>
> > d.XArrayName = 'arc_length'<br>
> > d.SeriesVisibility = ['namecolours (0)', '0', 'namecolours (1)', '0',<br>
> > 'namecolours (2)', '0', 'vtkValidPointMask', '0', 'arc_length', '0']<br>
> > d.UseIndexForXAxis = 0<br>
> > writer.UpdatePipeline()<br>
> ><br>
> > I feel pretty bad about always asking questions on this list, but I<br>
> > just can't seem to find documentation, or if I do, it is for a<br>
> > slightly different setup (as in David E DeMarle's powerpoint for<br>
> > instance). So, if I am just missing some good doco source, please<br>
> > point me that way!<br>
> ><br>
> > Thanks for any help!<br>
> ><br>
> > Matt Wilkins<br>
> ><br>
> > On Fri, Oct 29, 2010 at 01:22:24PM +1300, <a href="mailto:m.c.wilkins@massey.ac.nz">m.c.wilkins@massey.ac.nz</a> wrote:<br>
> >><br>
> >> Hi Utkarsh,<br>
> >><br>
> >> Thanks, I am using 3.9, but I wasn't using paraview.simple, just<br>
> >> following the examples in the Python Scripting chapter in the ParaView<br>
> >> Guide. Using paraview.simple does make things simpler ;-) and indeed<br>
> >> I can get it to work.<br>
> >><br>
> >> For the record this works fine for me:<br>
> >><br>
> >> from paraview.simple import *<br>
> >> reader = servermanager.sources.XMLUnstructuredGridReader(FileName = "/var/tmp/file.vtu")<br>
> >> pl = PlotOverLine(Input = reader)<br>
> >> pl.Source.Point1 = [-7000, -5000, 0]<br>
> >> pl.Source.Point2 = [4300, 6300, 1111.75]<br>
> >> CreateXYPlotView()<br>
> >> d = Show()<br>
> >> d.XArrayName = 'arc_length'<br>
> >> d.SeriesVisibility = ['namecolours (0)', '0', 'namecolours (1)', '0', 'namecolours (2)', '0', 'vtkValidPointMask', '0', 'arc_length', '0']<br>
> >> d.UseIndexForXAxis = 0<br>
> >> Render()<br>
> >><br>
> >> OK, so got past this problem, more to come I expect!<br>
> >><br>
> >> Thank you<br>
> >><br>
> >> Matt Wilkins<br>
> >><br>
> >> On Thu, Oct 28, 2010 at 09:08:50AM -0600, Utkarsh Ayachit wrote:<br>
> >> > What version of ParaView are you using? Here's my script with 3.9<br>
> >> > (should work with 3.8 too).<br>
> >> ><br>
> >> > Wavelet()<br>
> >> > pl = PlotOverLine()<br>
> >> > pl.Source.Point1 = [-10, -10, -10]<br>
> >> > pl.Source.Point2 = [10, 10, 10]<br>
> >> > CreateXYPlotView()<br>
> >> > Show()<br>
> >> > Render()<br>
> >> ><br>
> >> > Utkarsh<br>
> >> ><br>
> >> ><br>
> >> > On Wed, Oct 27, 2010 at 2:30 PM, <<a href="mailto:m.c.wilkins@massey.ac.nz">m.c.wilkins@massey.ac.nz</a>> wrote:<br>
> >> > ><br>
> >> > > Hi,<br>
> >> > ><br>
> >> > > I am driving paraview via pvpython, and trying to do a probe over<br>
> >> > > line. I would think this is quite easy, but it is proving<br>
> >> > > frustratingly difficult! This is what I am typing<br>
> >> > ><br>
> >> > > from paraview import servermanager<br>
> >> > > c = servermanager.Connect()<br>
> >> > > reader = servermanager.sources.XMLUnstructuredGridReader(FileName =<br>
> >> > > "/var/tmp/file.vtu")<br>
> >> > > pl = servermanager.filters.ProbeLine(Input = reader)<br>
> >> > > pl.Source.Point1 = [-7000, -5000, 0]<br>
> >> > > pl.Source.Point2 = [4300, 6300, 1111.75]<br>
> >> > > view = servermanager.CreateRenderView()<br>
> >> > > rep = servermanager.CreateRepresentation(pl, view)<br>
> >> > > pl.UpdatePipeline()<br>
> >> > > view.ResetCamera()<br>
> >> > > view.StillRender()<br>
> >> > ><br>
> >> > > I get a nice picture of the x axis and a short y axis, but nothing<br>
> >> > > plotted. I try a probe over line in paraview with the same beginning<br>
> >> > > and end points and I get data displayed.<br>
> >> > ><br>
> >> > > I am not specifying what variables should be displayed for the probe<br>
> >> > > over line, so perhaps nothing is getting displayed? I cannot for the<br>
> >> > > life of me find how I would specify what to display though. If I do a<br>
> >> > > probe over line in paraview with the Python Shell Trace running, I can<br>
> >> > > see that the SeriesVisibility attribute in the<br>
> >> > > paraview.servermanager.XYChartRepresentation object is being set.<br>
> >> > > However I don't have that representation, I only have the 'rep' above,<br>
> >> > > and that doesn't have a SeriesVisibility attribute.<br>
> >> > ><br>
> >> > > Thank you for any help, even if it is a pointer to where this is<br>
> >> > > documented!<br>
> >> > ><br>
> >> > > Matt<br>
> >> > ><br>
> >> > ><br>
> >> > > _______________________________________________<br>
> >> > > Powered by <a href="http://www.kitware.com" target="_blank">www.kitware.com</a><br>
> >> > ><br>
> >> > > Visit other Kitware open-source projects at <a href="http://www.kitware.com/opensource/opensource.html" target="_blank">http://www.kitware.com/opensource/opensource.html</a><br>
> >> > ><br>
> >> > > Please keep messages on-topic and check the ParaView Wiki at: <a href="http://paraview.org/Wiki/ParaView" target="_blank">http://paraview.org/Wiki/ParaView</a><br>
> >> > ><br>
> >> > > Follow this link to subscribe/unsubscribe:<br>
> >> > > <a href="http://www.paraview.org/mailman/listinfo/paraview" target="_blank">http://www.paraview.org/mailman/listinfo/paraview</a><br>
> >> > ><br>
> >> _______________________________________________<br>
> >> Powered by <a href="http://www.kitware.com" target="_blank">www.kitware.com</a><br>
> >><br>
> >> Visit other Kitware open-source projects at <a href="http://www.kitware.com/opensource/opensource.html" target="_blank">http://www.kitware.com/opensource/opensource.html</a><br>
> >><br>
> >> Please keep messages on-topic and check the ParaView Wiki at: <a href="http://paraview.org/Wiki/ParaView" target="_blank">http://paraview.org/Wiki/ParaView</a><br>
> >><br>
> >> Follow this link to subscribe/unsubscribe:<br>
> >> <a href="http://www.paraview.org/mailman/listinfo/paraview" target="_blank">http://www.paraview.org/mailman/listinfo/paraview</a><br>
> > _______________________________________________<br>
> > Powered by <a href="http://www.kitware.com" target="_blank">www.kitware.com</a><br>
> ><br>
> > Visit other Kitware open-source projects at <a href="http://www.kitware.com/opensource/opensource.html" target="_blank">http://www.kitware.com/opensource/opensource.html</a><br>
> ><br>
> > Please keep messages on-topic and check the ParaView Wiki at: <a href="http://paraview.org/Wiki/ParaView" target="_blank">http://paraview.org/Wiki/ParaView</a><br>
> ><br>
> > Follow this link to subscribe/unsubscribe:<br>
> > <a href="http://www.paraview.org/mailman/listinfo/paraview" target="_blank">http://www.paraview.org/mailman/listinfo/paraview</a><br>
> ><br>
_______________________________________________<br>
Powered by <a href="http://www.kitware.com" target="_blank">www.kitware.com</a><br>
<br>
Visit other Kitware open-source projects at <a href="http://www.kitware.com/opensource/opensource.html" target="_blank">http://www.kitware.com/opensource/opensource.html</a><br>
<br>
Please keep messages on-topic and check the ParaView Wiki at: <a href="http://paraview.org/Wiki/ParaView" target="_blank">http://paraview.org/Wiki/ParaView</a><br>
<br>
Follow this link to subscribe/unsubscribe:<br>
<a href="http://www.paraview.org/mailman/listinfo/paraview" target="_blank">http://www.paraview.org/mailman/listinfo/paraview</a><br>
</div></div></blockquote></div><br>