<div dir="ltr">You probably need to update vtkImageExport and shallow copy its output to the programmable source's output. You also need to add something to the RequestInformation setting the whole extent. You need something like:<div><br></div><div><div>from paraview import util</div><div> </div><div>util.SetOutputWholeExtent(self, [0,nx-1,0,ny-1,0,nz-1])<br></div></div><div><br></div><div>By the way, there are better ways of getting numpy arrays into VTK than the image import stuff. See some of the earlier blogs here:</div><div><br></div><div><a href="http://www.kitware.com/blog/home/user/53/2">http://www.kitware.com/blog/home/user/53/2</a><br></div><div><br></div><div>Best,</div><div>-berk</div></div><div class="gmail_extra"><br><div class="gmail_quote">On Mon, Jul 20, 2015 at 2:08 PM, Jeff Becker <span dir="ltr"><<a href="mailto:jeffrey.c.becker@nasa.gov" target="_blank">jeffrey.c.becker@nasa.gov</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div bgcolor="#FFFFFF" text="#000000">
<div>Hi,<span class=""><br>
<br>
On 07/18/2015 05:17 PM, Berk Geveci wrote:<br>
</span></div><span class="">
<blockquote type="cite">
<div dir="ltr">To elaborate on what Andy said, you can stick your
entire VTK script in side the programmable source. Which you can
use in batch mode as well. If you want to keep your VTK script
as a reusable code, I recommend making it a module that you
import from the programmable source.</div>
</blockquote>
<br></span>
So if the last thing my VTK script does is set up a vtkImageImport
object should that work as a programmable source (I tried but
ParaView didn't get any bounds or scalar field name even though I
set them up)? If not, what else do I need to do? Thanks.<span class="HOEnZb"><font color="#888888"><br>
<br>
-jeff</font></span><div><div class="h5"><br>
<br>
<blockquote type="cite">
<div dir="ltr">
<div><br>
</div>
<div>Best,</div>
<div>-berk</div>
</div>
<div class="gmail_extra"><br>
<div class="gmail_quote">On Tue, Jul 14, 2015 at 3:43 PM, Jeff
Becker <span dir="ltr"><<a href="mailto:jeffrey.c.becker@nasa.gov" target="_blank">jeffrey.c.becker@nasa.gov</a>></span>
wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div bgcolor="#FFFFFF" text="#000000"><span>
<div>On 07/14/2015 12:20 PM, Andy Bauer wrote:<br>
</div>
<blockquote type="cite">
<div dir="ltr">ParaView's Python Programmable Filter
and Python Programmable Source use VTK Python
wrapping to do the work while making it available in
Paraview. Check out <a href="http://www.paraview.org/Wiki/Python_Programmable_Filter" target="_blank">http://www.paraview.org/Wiki/Python_Programmable_Filter</a>.<br>
</div>
</blockquote>
<br>
</span> Thanks. That's pretty neat, but what I'd really
like is a standalone script I can run in batch mode (no
interaction) to generate one png file per timestep for all
the timesteps in the data set. Essentially I'd like a way
to construct a pipeline between the vtk.vtkImageImport()
object and the ParaView renderView1.<span><font color="#888888"><br>
<br>
-jeff</font></span>
<div>
<div><br>
<blockquote type="cite">
<div class="gmail_extra"><br>
<div class="gmail_quote">On Tue, Jul 14, 2015 at
2:59 PM, Jeff Becker <span dir="ltr"><<a href="mailto:jeffrey.c.becker@nasa.gov" target="_blank">jeffrey.c.becker@nasa.gov</a>></span>
wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Hi.<br>
<br>
As a proof of concept, I have a vtk script
that reads some binary data, and produces a
vti file. I then have a second script that I
generated using ParaView's tracing facility
while viewing the data. Now I'd like to
combine them, so as to eliminate the
intermediate file, i.e., go from binary data
directly to rendering. To be specific, my vtk
script ends like this:<br>
<br>
steinbmag = steinbmag.reshape(nx,ny,nz).T<br>
<br>
vtkImporter = vtk.vtkImageImport()<br>
vtkImporter.CopyImportVoidPointer(steinbmag,
steinbmag.nbytes)<br>
<br>
vtkImporter.SetDataScalarTypeToFloat()<br>
vtkImporter.SetNumberOfScalarComponents(1)<br>
vtkImporter.SetDataExtent(0, nx-1, 0, ny-1, 0,
nz-1)<br>
vtkImporter.SetWholeExtent(0, nx-1, 0, ny-1,
0, nz-1)<br>
vtkImporter.SetScalarArrayName('B field
magnitude')<br>
<br>
writer=vtk.vtkXMLImageDataWriter()<br>
writer.SetFileName(out_fname)<br>
writer.SetInputConnection(vtkImporter.GetOutputPort())<br>
writer.Write()<br>
<br>
and the ParaView script starts like this:<br>
<br>
from paraview.simple import *<br>
<br>
paraview.simple._DisableFirstRenderCameraReset()<br>
<br>
filepfx = '/nobackup/jcbecker/steinBmag_0'<br>
infile = filepfx+'.vti'<br>
# create a new 'XML Image Data Reader'<br>
steinBmag_ =
XMLImageDataReader(FileName=infile)<br>
steinBmag_.CellArrayStatus = []<br>
steinBmag_.PointArrayStatus = ['B field
magnitude']<br>
<br>
# get animation scene<br>
animationScene1 = GetAnimationScene()<br>
<br>
# update animation scene based on data
timesteps<br>
animationScene1.UpdateAnimationUsingDataTimeSteps()<br>
<br>
# get active view<br>
renderView1 =
GetActiveViewOrCreate('RenderView')<br>
# uncomment following to set a specific view
size<br>
renderView1.ViewSize = [1090, 761]<br>
<br>
I'm looking at the VTK examples and pvpython
documentation, but any help is appreciated.<br>
<br>
Thanks.<br>
<br>
-jeff<br>
_______________________________________________<br>
Powered by <a href="http://www.kitware.com" rel="noreferrer" target="_blank">www.kitware.com</a><br>
<br>
Visit other Kitware open-source projects at <a href="http://www.kitware.com/opensource/opensource.html" rel="noreferrer" 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" rel="noreferrer" target="_blank">http://paraview.org/Wiki/ParaView</a><br>
<br>
Search the list archives at: <a href="http://markmail.org/search/?q=ParaView" rel="noreferrer" target="_blank">http://markmail.org/search/?q=ParaView</a><br>
<br>
Follow this link to subscribe/unsubscribe:<br>
<a href="http://public.kitware.com/mailman/listinfo/paraview" rel="noreferrer" target="_blank">http://public.kitware.com/mailman/listinfo/paraview</a><br>
</blockquote>
</div>
<br>
</div>
</blockquote>
<br>
</div>
</div>
</div>
<br>
_______________________________________________<br>
Powered by <a href="http://www.kitware.com" rel="noreferrer" target="_blank">www.kitware.com</a><br>
<br>
Visit other Kitware open-source projects at <a href="http://www.kitware.com/opensource/opensource.html" rel="noreferrer" 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" rel="noreferrer" target="_blank">http://paraview.org/Wiki/ParaView</a><br>
<br>
Search the list archives at: <a href="http://markmail.org/search/?q=ParaView" rel="noreferrer" target="_blank">http://markmail.org/search/?q=ParaView</a><br>
<br>
Follow this link to subscribe/unsubscribe:<br>
<a href="http://public.kitware.com/mailman/listinfo/paraview" rel="noreferrer" target="_blank">http://public.kitware.com/mailman/listinfo/paraview</a><br>
<br>
</blockquote>
</div>
<br>
</div>
</blockquote>
<br>
</div></div></div>
</blockquote></div><br></div>