<div dir="ltr">Hi all, I've been debugging a simulation of particle physics experiment -- I usually have the program make a csv file of some data to visualize (for example, x,y,z,time,Bx,By,Bz) where, e.g., Bx is a component of a magnetic field. I can read that file straight into ParaView with its text file reader, but I find it more convenient to run the csv file through a python script that makes a vtp file and I load that into ParaView. These files tend to be big, and having a compressed binary vtp file means that ParaView can read it very quickly (e.g. I parse csv file once with my script instead of loading it into ParaView to parse each time I open it). <div><br></div><div>The examples in the documentation show how to use the vtk-numpy interface to make a vector of points and "dump" them into a vtkPoints object. For example,</div><div><br></div><div>d = np.genfromtxt(fname, ...)  # more arguments not shown for brevity<br></div><div><br></div><div><div>coord = algs.make_vector(d["x"], d["y"], d["z"])</div><div>pts = vtk.vtkPoints()</div><div>pts.SetData(dsa.numpyTovtkDataArray(coord, "Points"))</div><div><br></div><div>That looks very nice and must be very efficient. </div><div><br></div><div>I don't see an obvious way to do the same thing with point or cell data. So, for example, I have...</div><div><br></div><div>numPts = pts.GetNumberOfPoints()<br></div><div><div>bfield = vtk.vtkFloatArray()</div><div>bfield.SetNumberOfComponents(3)</div><div>bfield.SetNumberOfTuples(numPts)</div><div>bfield.SetName("BField")</div></div><div><br></div><div><div>for a in xrange(numPts):</div><div>   bfield.InsertTuple(a, [ d["Bx"][a], d["By"][a], d["Bz"][a] ])</div><div><br></div><div>polyData.GetPointData().AddArray(bfield)  # polyData is a vtkPolyData object<br></div><div><br></div><div>That loop and explicitly decomposing the "d" array to get at the magnetic field components looks "old fashioned" to me. </div><div><br></div><div>What would be the "numpy way" to make that work? Thanks! -- Adam</div><div><br></div></div><div><div class="gmail_signature"><div dir="ltr"><div><div dir="ltr"><div><div dir="ltr"><div><div dir="ltr"><div dir="ltr"><div><div style="font-size:12.8000001907349px"><i><font color="#999999">------</font></i></div></div><div><i><font color="#999999"><br></font></i></div><div><b><font color="#3d85c6">Adam L. Lyon</font></b></div><div><i><font color="#999999">Scientist; Associate Division Head for Systems for Scientific Applications</font></i></div><div><span style="font-family:Arial;font-size:9pt"><font color="#999999"><i><br></i></font></span></div><div><font color="#3d85c6">Scientific Computing Division & Muon g-2 Experiment</font></div><div><font color="#999999">Fermi National Accelerator Laboratory</font></div><div><font color="#999999">630 840 5522 office</font></div><div><font color="#999999"><a href="http://www.fnal.gov" target="_blank">www.fnal.gov</a></font></div><div><font color="#999999"><a href="mailto:lyon@fnal.gov" target="_blank">lyon@fnal.gov</a></font></div><div><font color="#999999"><br></font></div><div><font color="#999999">Connect with us!</font><br><font color="#9fc5e8"><span style="font-size:12.8000001907349px"><a href="http://www.fnal.gov/pub/today/" target="_blank">Newsletter</a></span><span style="font-size:12.8000001907349px">  |  <a href="https://www.facebook.com/Fermilab" target="_blank"><span>Facebook</span></a>  |  <a href="https://twitter.com/Fermilab" target="_blank"><span>Twitter</span></a></span></font></div></div></div></div></div></div></div></div></div></div></div>
</div></div>