Hi Frank,<br><br>I&#39;m glad you got a workaround in place.  We&#39;ll put this in the bug tracker so it can get fixed.  ParaView should catch the exception or warning and report it properly without hanging!<br><br>For those following along, here is a simple way to trigger the hang:<br>

<br>import numpy<br>numpy.ones(1)/0<br><br>In a terminal, numpy will print &quot;RuntimeWarning: divide by zero encountered in divide&quot;, but in ParaView the program will hang.  The actual hang is coming from a tricky interaction between ParaView and Python&#39;s C-API.  In fact, depending on your version of numpy, or whether it was built with thread support, this might not hang.  Last month I sent an email to the paraview-developers mailing list with the subject line &quot;Scipy with ParaView is broken&quot; where I describe the issue in more detail.  Unfortunately, the hang that Frank encountered is another case of the same bug sneaking up and biting someone!<br>

<br>Pat<br><br><br><div class="gmail_quote">On Mon, Sep 10, 2012 at 1:42 PM, Frank Horowitz <span dir="ltr">&lt;<a href="mailto:frank.horowitz@cornell.edu" target="_blank">frank.horowitz@cornell.edu</a>&gt;</span> wrote:<br>

<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Hi All,<br>
<br>
OK, attaching the debugger found the problem.<br>
<br>
My data were underflowing from the squaring operation, and the numpy exception was not being caught or explicitly ignored.<br>
<br>
My workaround in the programmable filter is to call numpy&#39;s seterr function and it&#39;s square function.<br>
<br>
The relevant code snippet looks like:<br>
<br>
seterr(all=&#39;ignore&#39;)<br>
<br>
m = sqrt(square(x) + square(y) + square(z))<br>
<br>
<br>
Strangely enough, calling seterr(under=&#39;ignore&#39;) still hangs with an uncaught numpy underflow exception, but &quot;all=&#39;ignore&#39;&quot; works.<br>
<br>
This kind of problem is probably old hat to experienced paraview users, but perhaps paraview can be setup to catch and report such exceptions to avoid the kind of surprises I faced as a new user? (I&#39;ll leave it up to you to decide whether this should be considered a bug report or a feature request.)<br>


<br>
In any case, for completeness in case it helps someone else via Googling a similar problem, the full code that works for me is:<br>
<br>
--- code start ---<br>
x = inputs[0].PointData[&#39;Scalars_&#39;] # replace the literal string &#39;Scalars_&#39; with whatever your data is named up the pipeline<br>
y = inputs[1].PointData[&#39;Scalars_&#39;] # Ditto<br>
z = inputs[2].PointData[&#39;Scalars_&#39;] # Ditto<br>
<br>
seterr(all=&#39;ignore&#39;) # Instruct numpy to ignore exceptions.<br>
m = sqrt(square(x)+square(y)+square(z))<br>
<br>
output.PointData.append(m,&#39;magnitude&#39;)<br>
<br>
--- code end ---<br>
<br>
Thanks again for all of the help!<br>
<br>
Cheers,<br>
        Frank Horowitz<br>
<div class="HOEnZb"><div class="h5"><br>
<br>
On 06/09/2012, at 1:47 PM, Berk Geveci wrote:<br>
<br>
&gt; Just to make sure that I understand this: you have some code that reads<br>
&gt; some files in a proprietary format and spits out 1 vtu file per component?<br>
&gt; What is that format like? What is the script written in? It should be<br>
&gt; pretty easy to change that script to combine components together and write<br>
&gt; them out as a vector. You could also calculate derived quantities there and<br>
&gt; write them to the vtu file. Or you could still calculate that using the<br>
&gt; Programmable Filter.<br>
&gt;<br>
&gt; On Thu, Sep 6, 2012 at 1:19 PM, Frank Horowitz<br>
&gt; &lt;<a href="mailto:frank.horowitz@cornell.edu">frank.horowitz@cornell.edu</a>&gt;wrote:<br>
&gt;<br>
&gt;&gt; Thanks for the replies!<br>
&gt;&gt;<br>
&gt;&gt; At the moment, I need to finish a poster for a presentation on Saturday,<br>
&gt;&gt; but promise to get to this Sunday or Monday. (I&#39;ll need to re-build a<br>
&gt;&gt; debugging version of paraview. Any hints on how to accomplish this within<br>
&gt;&gt; ccmake/cmake will be gratefully received, since that system is new to me<br>
&gt;&gt; too. Is it as simple as setting a CCFLAGS environment variable before<br>
&gt;&gt; invoking make -- or something similar??)<br>
&gt;&gt;<br>
&gt;&gt; I also found that the 200**3 wavelet worked fine on my<br>
&gt;&gt; paraview-compiled-from-source Linux installation. Let&#39;s ignore the problem<br>
&gt;&gt; I found on the OSX box with the binary installer for the moment. (One<br>
&gt;&gt; problem at a time!)<br>
&gt;&gt;<br>
&gt;&gt; Because of that, I&#39;m now suspicious of the upstream code that writes .vtu<br>
&gt;&gt; files.<br>
&gt;&gt;<br>
&gt;&gt; Also, responding here to your later comment from your next email:<br>
&gt;&gt;<br>
&gt;&gt;&gt; I am going to disagree with Andy about this being a better solution. I<br>
&gt;&gt;&gt; don&#39;t even think that it addresses what Frank is trying to do. But beyond<br>
&gt;&gt;&gt; that Array Calculator is cumbersome and slow compared to the Python<br>
&gt;&gt;&gt; Calculator or Python Programmable Filter.<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; As far as I understand, Frank is not trying to combine components from<br>
&gt;&gt;&gt; different files. He is trying to combine components written as different<br>
&gt;&gt;&gt; arrays in the same file hence the need for sqrt(x*x + y*y + z*z). I think<br>
&gt;&gt;&gt; that Andy is confused by inputs[0] - that&#39;s simple the way to access the<br>
&gt;&gt;&gt; input (even if there is only one) of the Python Programmable Filter.<br>
&gt;&gt;<br>
&gt;&gt; Actually, there is one file per component per timeslice.<br>
&gt;&gt;<br>
&gt;&gt; I&#39;ve had a quick look at the file format written by my upstream simulator.<br>
&gt;&gt; It&#39;s very simple.  Maybe I should just write the .vtu files from within my<br>
&gt;&gt; own script that reads the upstream meshes to avoid any other potential<br>
&gt;&gt; problems with the upstream codes.<br>
&gt;&gt;<br>
&gt;&gt; Does paraview.simple have an easy way to construct a field vector at the<br>
&gt;&gt; location of arbitrary points? If so, I think the Python script to do *that*<br>
&gt;&gt; will be faster than me trying to chase all of this down…<br>
&gt;&gt;<br>
&gt;&gt; Thanks again for the advice!<br>
&gt;&gt;<br>
&gt;&gt; Cheers,<br>
&gt;&gt;        Frank Horowitz<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt; On 06/09/2012, at 1:00 PM, Berk Geveci wrote:<br>
&gt;&gt;<br>
&gt;&gt;&gt; I just ran this with a 500^3 wavelet on my machine without any problems.<br>
&gt;&gt;&gt; The whole thing (including a slice filter) takes 20-30 seconds but the<br>
&gt;&gt;&gt; programmable filter is actually pretty much instantaneous (&lt;0.1 seconds)<br>
&gt;&gt;&gt; using a debug build from Git master. Is there any way you can attach to<br>
&gt;&gt; the<br>
&gt;&gt;&gt; stuck ParaView with a debugger and look at the stack trace?<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; On Wed, Sep 5, 2012 at 9:13 PM, Frank Horowitz<br>
&gt;&gt;&gt; &lt;<a href="mailto:frank.horowitz@cornell.edu">frank.horowitz@cornell.edu</a>&gt;wrote:<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt; Still more checking things out. A problem (THE problem???) can be<br>
&gt;&gt;&gt;&gt; demonstrated with your code snippet from a few messages back if you<br>
&gt;&gt;&gt;&gt; construct the Wavelet like so rather than using the default constructor:<br>
&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt; Wavelet(WholeExtent=(-100,100,-100,100,-100,100))<br>
&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt; N.B. this is on a different machine, with a stock Mac OSX  binary<br>
&gt;&gt; version<br>
&gt;&gt;&gt;&gt; 3.14.1 installed.<br>
&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt; On 05/09/2012, at 5:49 PM, Frank Horowitz wrote:<br>
&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt; OK, more tracking the problem:<br>
&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt; The assumption underlying my &quot;close up&quot; description below is not<br>
&gt;&gt;&gt;&gt; correct.  The problem appears to be the actual _size_ of the dataset I&#39;m<br>
&gt;&gt;&gt;&gt; feeding in. Even a single time step fed in to the filter (with some<br>
&gt;&gt; 866,000<br>
&gt;&gt;&gt;&gt; points) hangs at the x*x computation, even though that appeared to work<br>
&gt;&gt;&gt;&gt; perfectly fine with your 3D Wavelet as a source (only some 9,000<br>
&gt;&gt; points).<br>
&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt; I&#39;m guessing a memory leak somewhere?  When was the last time paraview<br>
&gt;&gt;&gt;&gt; was run through valgrind?<br>
&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt; Cheers (and sorry about the red herring earlier),<br>
&gt;&gt;&gt;&gt;&gt;     Frank<br>
&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt; On 05/09/2012, at 4:42 PM, Frank Horowitz wrote:<br>
&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;&gt; OK, the 30,000 foot view:<br>
&gt;&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;&gt; I have a time series of about 20 slices (currently) of values of each<br>
&gt;&gt;&gt;&gt; component (3 components total) of a vector displacement 3d spatial field<br>
&gt;&gt;&gt;&gt; from an elastic wave propagation simulation. At the moment, I&#39;m simply<br>
&gt;&gt;&gt;&gt; trying to visualise the vector length to see the propagating phases of<br>
&gt;&gt; the<br>
&gt;&gt;&gt;&gt; wavefield. Because my upstream codes and scripts only write individual<br>
&gt;&gt;&gt;&gt; components of the vector field, I need to combine the components and<br>
&gt;&gt; then<br>
&gt;&gt;&gt;&gt; calculate the vector lengths *somewhere*.  The programmable filter<br>
&gt;&gt; seemed<br>
&gt;&gt;&gt;&gt; like a good place to try that, since once I am past the learning curve<br>
&gt;&gt; for<br>
&gt;&gt;&gt;&gt; it, I&#39;ll have the full flexibilty of numpy for doing almost anything<br>
&gt;&gt; else I<br>
&gt;&gt;&gt;&gt; want with these and similar data from my upstream simulation codes.<br>
&gt;&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;&gt; Now the 10,000 foot view:<br>
&gt;&gt;&gt;&gt;&gt;&gt; I&#39;ve been trying to simply calculate the sqrt(x*x + y*y + z*z) scalar<br>
&gt;&gt;&gt;&gt; field (where x, y, and z are the respective components as a function of<br>
&gt;&gt;&gt;&gt; position)  and let that flow on down the pipeline as a new spatial<br>
&gt;&gt; field to<br>
&gt;&gt;&gt;&gt; be visualised. I assumed (correctly if I&#39;m interpreting your answer<br>
&gt;&gt;&gt;&gt; correctly) that if I built the filter to deal with the spatial aspects<br>
&gt;&gt; of<br>
&gt;&gt;&gt;&gt; the calculation, the time series would be taken care of by paraview<br>
&gt;&gt;&gt;&gt; iterating over all files pointed to by inputs[0] (a set of files<br>
&gt;&gt; containing<br>
&gt;&gt;&gt;&gt; timesteps of the x components), inputs[1] (ditto for the y components),<br>
&gt;&gt; and<br>
&gt;&gt;&gt;&gt; inputs[2] (ditto for the z components).  The set of *.vtu files for each<br>
&gt;&gt;&gt;&gt; component have filenames specifying component and time step (e.g.: x001,<br>
&gt;&gt;&gt;&gt; x002, x003, etc., y001, y002, y003, etc., and z001, z002, z003 etc.).<br>
&gt;&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;&gt; Now the close-up:<br>
&gt;&gt;&gt;&gt;&gt;&gt; As far as I can tell, after compiling from source from the git<br>
&gt;&gt;&gt;&gt; &quot;release&quot; branch (on an up-to-date Linux Mint distro -- which tracks<br>
&gt;&gt; Ubuntu<br>
&gt;&gt;&gt;&gt; Precise), my approach will work for a set of 3 single timestep arrays<br>
&gt;&gt; fed<br>
&gt;&gt;&gt;&gt; into the &quot;ports&quot; (or whatever paraview&#39;s terminology is for the inputs<br>
&gt;&gt; to a<br>
&gt;&gt;&gt;&gt; filter in the pipeline). In other words, a single timeslice<br>
&gt;&gt;&gt;&gt; (x001,y001,z001) appears on inputs[0:3] (numpy slice notation) and is<br>
&gt;&gt;&gt;&gt; processed correctly. (I&#39;ll go away and verify that shortly.)  I *think*<br>
&gt;&gt; the<br>
&gt;&gt;&gt;&gt; &quot;hangs/race-conditions/whatever&quot; start when there are multiple timesteps<br>
&gt;&gt;&gt;&gt; presented to each input port.  I was unsure whether the &#39;inputs[0],<br>
&gt;&gt;&gt;&gt; inputs[1], inputs[2]&#39; syntax needed to be extended to deal with time<br>
&gt;&gt; series<br>
&gt;&gt;&gt;&gt; as above, and could not find documentation on the inputs[] array after<br>
&gt;&gt;&gt;&gt; extensive searching -- just a few snippets of example code that were all<br>
&gt;&gt;&gt;&gt; consistent with paraview dealing with the time series on its own.<br>
&gt;&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;&gt; I&#39;m inexperienced enough with paraview to not know if I have a<br>
&gt;&gt;&gt;&gt; conceptual error with the way I&#39;m approaching this problem, or if I have<br>
&gt;&gt;&gt;&gt; simply stumbled over a bug. That&#39;s why I&#39;ve posted to the mailing list!<br>
&gt;&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;&gt; As always, your (and the rest of the list&#39;s) help is greatly<br>
&gt;&gt;&gt;&gt; appreciated!<br>
&gt;&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;&gt; Cheers,<br>
&gt;&gt;&gt;&gt;&gt;&gt;    Frank<br>
&gt;&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;&gt; On 05/09/2012, at 4:01 PM, Andy Bauer wrote:<br>
&gt;&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt; I&#39;m not sure I completely understand about your inputs[0]. As for<br>
&gt;&gt;&gt;&gt; iterating<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt; over time with the python programmable filter, inside the filter it<br>
&gt;&gt;&gt;&gt; will<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt; only have access to values from a single time step at each invocation<br>
&gt;&gt;&gt;&gt; of<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt; RequestData(). You can think of the order of operations if you have 5<br>
&gt;&gt;&gt;&gt; time<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt; steps as:<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt; 1) iterate over each of the 5 time steps (i.e. load a file and update<br>
&gt;&gt;&gt;&gt; the<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt; pipeline with that data set)<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt; 2) update the python programmable filter output for the current data<br>
&gt;&gt;&gt;&gt; set<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt; resulting from the loaded file<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt; If you want time statistics for your variables I think you probably<br>
&gt;&gt;&gt;&gt; want to<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt; use the calculator filter to square the value at each point and then<br>
&gt;&gt;&gt;&gt; use<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt; the temporal statistics filter to get an average of those values.<br>
&gt;&gt; After<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt; that you can just multiply the results by the number of time steps.<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt; If I&#39;m misunderstanding what you&#39;re trying to do, I&#39;d suggest giving<br>
&gt;&gt; a<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt; description of what you&#39;re trying to do and maybe there&#39;s a simpler<br>
&gt;&gt;&gt;&gt; way of<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt; doing it.<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt; Andy<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt; On Wed, Sep 5, 2012 at 2:56 PM, Frank Horowitz<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt; &lt;<a href="mailto:frank.horowitz@cornell.edu">frank.horowitz@cornell.edu</a>&gt;wrote:<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; OK Andy,<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; Thanks for that!<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; I&#39;ve compiled and installed Paraview from git&#39;s release branch, and<br>
&gt;&gt; (a<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; slight modification) of your code runs correctly. I think that means<br>
&gt;&gt;&gt;&gt; that<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; my paraview/python integration is semi-sane.<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; However, my problem still occurs. Recall that I have a time series<br>
&gt;&gt; of<br>
&gt;&gt;&gt;&gt; .vtu<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; files (indexed by integers built-in to their filenames) being fed<br>
&gt;&gt; into<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; inputs[0] (at least as I understand it).<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; In my original code snippet, I assumed that the &quot;m = x*x&quot; statement<br>
&gt;&gt;&gt;&gt; would<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; iterate not only over the point values of the spatial array, but<br>
&gt;&gt; also<br>
&gt;&gt;&gt;&gt; over<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; all timeslices.  Is that a correct assumption? Is that the source of<br>
&gt;&gt;&gt;&gt; my<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; problems???<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; Thanks again for your help,<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; Frank Horowitz<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; ------------------------------<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; *From:* Andy Bauer [<a href="mailto:andy.bauer@kitware.com">andy.bauer@kitware.com</a>]<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; *Sent:* Tuesday, September 04, 2012 7:57 PM<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; *To:* Frank Horowitz<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; *Cc:* <a href="mailto:paraview@paraview.org">paraview@paraview.org</a><br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; *Subject:* Re: [Paraview] Newbie question on Python Programmable<br>
&gt;&gt;&gt;&gt; Filters<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; Hi Frank,<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; I didn&#39;t have a problem with the following on my windows machine<br>
&gt;&gt;&gt;&gt; using the<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; ParaView 3.14.1 installer.<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; =======<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; try: paraview.simple<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; except: from paraview.simple import *<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; paraview.simple._DisableFirstRenderCameraReset()<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; Wavelet1 = Wavelet()<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; RenderView1 = GetRenderView()<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; ProgrammableFilter1 = ProgrammableFilter()<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; ProgrammableFilter1.PythonPath = &#39;&#39;<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; ProgrammableFilter1.RequestInformationScript = &#39;&#39;<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; ProgrammableFilter1.Script = &#39;x =<br>
&gt;&gt;&gt;&gt; inputs[0].PointData[\&#39;RTData\&#39;]\nprint<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; &quot;x shape =&quot;,x.shape\n\nm = x*x # I _thought_ this should run at<br>
&gt;&gt; numpy<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; speeds?\nprint &quot;m shape=&quot;,m.shape\n\n# more debugging code to finish<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; computation of the norm<br>
&gt;&gt;&gt;&gt; omitted\n\noutput.PointData.append(m,&quot;Displacement<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; Norm&quot;)&#39;<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; Show()<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; Render()<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; =============<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; Does this work for you?  If it doesn&#39;t, I wonder if it&#39;s an issue<br>
&gt;&gt; with<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; having multiple pythons and numpy or system environments causing<br>
&gt;&gt;&gt;&gt; problems.<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; What version of paraview are you using and how did you get it<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; built/installed on your machine?<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; Andy<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; On Tue, Sep 4, 2012 at 6:04 PM, Frank Horowitz &lt;<br>
&gt;&gt;&gt;&gt; <a href="mailto:frank.horowitz@cornell.edu">frank.horowitz@cornell.edu</a><br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; wrote:<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; Hal Canary wrote on Tue Sep 4 15:22:01 EDT 2012:<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; On 09/04/2012 02:20 PM, Frank Horowitz wrote:<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; x = inputs[0].PointData[&#39;Scalars_&#39;]<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; I thought one needs to convert a vtkarray to a numpy array with<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;  x = numpy.array(inputs[0].PointData[&#39;Scalars_&#39;])<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; before doing anything with it.<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; Computations after that style of construction hang too.  To my eye,<br>
&gt;&gt;&gt;&gt; the<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; results of such an expression should be 100% standard numpy,<br>
&gt;&gt; obeying<br>
&gt;&gt;&gt;&gt; 100%<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; standard numpy semantics.<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; It appears that there is a bug in numpy integration to the Python<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; Programmable Filter.<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; I&#39;ll re-compile from source and report back on the results.  Is the<br>
&gt;&gt;&gt;&gt; bug<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; tracking system evident from the homepage?<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; Cheers,<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;    Frank Horowitz<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; _______________________________________________<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; Powered by <a href="http://www.kitware.com" target="_blank">www.kitware.com</a><br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; Visit other Kitware open-source projects at<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; <a href="http://www.kitware.com/opensource/opensource.html" target="_blank">http://www.kitware.com/opensource/opensource.html</a><br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; Please keep messages on-topic and check the ParaView Wiki at:<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; <a href="http://paraview.org/Wiki/ParaView" target="_blank">http://paraview.org/Wiki/ParaView</a><br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; Follow this link to subscribe/unsubscribe:<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; <a href="http://www.paraview.org/mailman/listinfo/paraview" target="_blank">http://www.paraview.org/mailman/listinfo/paraview</a><br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt; _______________________________________________<br>
&gt;&gt;&gt;&gt; Powered by <a href="http://www.kitware.com" target="_blank">www.kitware.com</a><br>
&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt; Visit other Kitware open-source projects at<br>
&gt;&gt;&gt;&gt; <a href="http://www.kitware.com/opensource/opensource.html" target="_blank">http://www.kitware.com/opensource/opensource.html</a><br>
&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt; Please keep messages on-topic and check the ParaView Wiki at:<br>
&gt;&gt;&gt;&gt; <a href="http://paraview.org/Wiki/ParaView" target="_blank">http://paraview.org/Wiki/ParaView</a><br>
&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt; Follow this link to subscribe/unsubscribe:<br>
&gt;&gt;&gt;&gt; <a href="http://www.paraview.org/mailman/listinfo/paraview" target="_blank">http://www.paraview.org/mailman/listinfo/paraview</a><br>
&gt;&gt;&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt;<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>