[vtkusers] importing unstructured grid data from numpy array
Florian Bruckner
e0425375 at gmail.com
Wed May 26 04:14:36 EDT 2010
thanks for your help at first.
your example works well, but I have still troubles when I want to insert
the cell data. I'm still a python newbie, but I could figure out that
numpy_to_vtk gives me a vtkFloatArray whereas the SetCells() function of
my vtkCellArray requires a vtkIdTypeArray.
is there something like a typecast operator in python or is there a
conversion function available somewhere?
my code looks like the following:
>> tets = array([[0,1,2,3]])
>> ccV = VN.numpy_to_vtk(tets, deep=True)
>> cells = vtk.vtkCellArray()
>> cells.SetCells(1, ccV) ==> error
>> ug.SetCells(VTK_TETRA, cells)
bye
FloB
On Tue, 2010-05-25 at 09:31 -0400, Eric E. Monson wrote:
> Hey Florian,
>
> There are pretty easy ways to do it, but I haven't used tvtk for a while, so I don't remember the comparison. You can do something like this:
>
> # ===================================
> from vtk.util import numpy_support as VN
> import vtk
> import numpy as N
> ug = vtk.vtkUnstructuredGrid()
> pts = vtk.vtkPoints()
>
> # Create the points array and set the UG to use them
> pp = N.random.rand(10,3)
> ppV = VN.numpy_to_vtk(pp, deep=True)
> pts.SetData(ppV)
> ug.SetPoints(pts)
>
> # Add an attribute array (scalars) to the UG
> aa = N.random.rand(10)
> aaV = VN.numpy_to_vtk(aa,deep=True)
> aaV.SetName('Attribute1')
> ug.GetPointData().AddArray(aaV)
> # ===================================
>
> So it's not too bad. Also, note that there is a vtk_to_numpy() and a numpy_to_vtkIdTypeArray(), which often comes in quite handy for me.
>
> Talk to you later,
> -Eric
>
> ------------------------------------------------------
> Eric E Monson
> Duke Visualization Technology Group
>
>
> On May 25, 2010, at 5:44 AM, Florian Bruckner wrote:
>
> > hello,
> >
> > I would need a method to read unstructured grid data from a numpy array.
> > Does anyone know a function like vtkImageInputFrom/ExportToArray.py that
> > also handles unstructured grids? or is there a possibility to transform
> > image data to unstructured grids?
> >
> > i only found the tvtk library, but in order to use it I will have to
> > install the whole ETS project. In addition the documentation of this
> > library mention that it is more 'pytonic' to use tvtk but that it should
> > also be possible to do the same things with pure vtk.
> >
> > thanks
> > FloB
> >
> >
> > _______________________________________________
> > Powered by www.kitware.com
> >
> > Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html
> >
> > Please keep messages on-topic and check the VTK FAQ at: http://www.vtk.org/Wiki/VTK_FAQ
> >
> > Follow this link to subscribe/unsubscribe:
> > http://www.vtk.org/mailman/listinfo/vtkusers
>
More information about the vtkusers
mailing list