In general you can&#39;t assume that extent[0] = extent[2] = extent[4] = 0.  Maybe it is for your data sets but it is not required.  <br><br>I didn&#39;t fully go through your code to debug but I am working on a filter that does a similar operation in either the x, y, or z topological direction.  It also works in parallel as well as for both image data and rectilinear grids.  It still needs some tweaking before it goes into paraview (right now it averages in each direction instead of sums but that&#39;s an easy tweak to allow the user to do either).  It also does it for all of the point and cell arrays.  I hope to have it in paraview in the next couple of weeks.<br>
<br>Andy<br><br><div class="gmail_quote">On Thu, Oct 27, 2011 at 1:41 AM, Mr FancyPants <span dir="ltr">&lt;<a href="mailto:stofem@gmail.com">stofem@gmail.com</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
Hi there,<div><br></div><div>I am trying to write a programmable filter which will take my RectilinearGrid data and modify one of the data arrays. Specifically I want to sum over one dimension. I have written something to do this, but my data comes out garbled.</div>

<div><br></div><div>Below is my code. Basically all I am doing is extracting all the data, doing my sum over the z direction and then putting this data into another rectilinear grid.</div><div><br></div><div><div><br></div>

<div><b>data=self.GetInput()</b></div><div><b>out=self.GetOutput()</b></div><div><b>extent=data.GetExtent()</b></div><div><b>vtkVarray=data.GetPointData().GetArray(&#39;velocity&#39;)</b></div><div><b><br></b></div><div>
<b>import numpy</b></div>
<div><b>pyVarray_x = numpy.zeros([extent[1]+1,extent[3]+1,extent[5]+1])</b></div><div><b>pyVarray_y = numpy.zeros([extent[1]+1,extent[3]+1,extent[5]+1])</b></div><div><b>pyVarray_z = numpy.zeros([extent[1]+1,extent[3]+1,extent[5]+1])</b></div>

<div><b><br></b></div><div><b>for i in range(0,extent[1]+1):</b></div><div><b><span style="white-space:pre-wrap">        </span>for j in range(0,extent[3]+1):</b></div><div><b><span style="white-space:pre-wrap">                </span>for k in range(0,extent[5]+1):</b></div>

<div><b><span style="white-space:pre-wrap">                        </span>tup=vtkVarray.GetTuple(i+j*(extent[1]+1)+k*(extent[1]+1)*(extent[3]+1))</b></div><div><b><span style="white-space:pre-wrap">                        </span>pyVarray_x[i,j,k]=tup[0]</b></div>

<div><b><span style="white-space:pre-wrap">                        </span>pyVarray_y[i,j,k]=tup[1]</b></div><div><b><span style="white-space:pre-wrap">                        </span>pyVarray_z[i,j,k]=tup[2]<span style="white-space:pre-wrap">                </span></b></div>
<div><b><br></b></div><div><b><br></b></div><div><b><br></b></div><div><b>pyVarray_x_noz = numpy.zeros([extent[1]+1,extent[3]+1,1])</b></div><div><b>pyVarray_y_noz = numpy.zeros([extent[1]+1,extent[3]+1,1])</b></div><div>

<b>pyVarray_z_noz = numpy.zeros([extent[1]+1,extent[3]+1,1])</b></div><div><b><br></b></div><div><b>for i in range(0,extent[1]+1):</b></div><div><b><span style="white-space:pre-wrap">        </span>for j in range(0,extent[3]+1):</b></div>

<div><b><span style="white-space:pre-wrap">                </span>pyVarray_x_noz[i,j]=pyVarray_x[i,j,:].sum()</b></div><div><b><span style="white-space:pre-wrap">                </span>pyVarray_y_noz[i,j]=pyVarray_y[i,j,:].sum()</b></div>
<div><b><span style="white-space:pre-wrap">                </span>pyVarray_z_noz[i,j]=pyVarray_z[i,j,:].sum()</b></div><div><b><br></b></div><div><b>newArray=vtk.vtkDoubleArray()</b></div><div><b>newArray.SetName(&quot;test&quot;)</b></div>

<div><b>newArray.SetNumberOfComponents(3)</b></div><div><b><br></b></div><div><b>print newArray</b></div><div><b><br></b></div><div><b>for k in range(0,extent[5]+1):</b></div><div><b><span style="white-space:pre-wrap">        </span>for j in range(0,extent[3]+1):</b></div>

<div><b><span style="white-space:pre-wrap">                </span>for i in range(0,extent[1]+1):</b></div><div><b><span style="white-space:pre-wrap">                                        </span>tup0=pyVarray_x_noz[i,j]</b></div><div>
<b><span style="white-space:pre-wrap">                                        </span>tup1=pyVarray_y_noz[i,j]</b></div><div><b><span style="white-space:pre-wrap">                                        </span>tup2=pyVarray_z_noz[i,j]</b></div><div><b><span style="white-space:pre-wrap">                                        </span>tup=(tup0,tup1,tup2)</b></div>

<div><b><span style="white-space:pre-wrap">                                        </span>newArray.InsertNextTuple((tup0,tup1,tup2))</b></div><div><b><br></b></div><div><b>print newArray</b></div><div><b>print vtkVarray</b></div><div><b><br>
</b></div><div><b>out.GetCellData().AddArray(newArray)</b></div></div><div><b><br></b></div><div>I have no idea whats going wrong with this. Any help is much appreciated, new to using paraview.</div><div><br></div><div>Thanks, James</div>

<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></blockquote></div><br>