[vtkusers] Strange return of grid objects from a Python function
Guðni Karl Rosenkjær
grosenkj at eos.ubc.ca
Tue Aug 27 14:33:46 EDT 2013
Hi all,
I have written a python function to setup a curvilinear structured grid and
returns the grid object at the end. In the returned grid object, I don't
have the points as assigned rather very small values (order of e-50 to
e-300) that is effectively 0.
The code is as follows:
import vtk, numpy as np
# The test function
def testGrid():
''' Small test setting up a cuivilinear grid vts'''
x = np.arange(-1,0.6,0.5)
y = np.arange(-2,0.1,1.0)
z = np.arange(2,-1.1,-0.5)
gx,gy,gz = np.meshgrid(x,y,z)
nodC =
np.hstack((gx.T.reshape((np.prod(gx.shape),1)),gy.T.reshape((np.prod(gy.shape),1)),gz.T.reshape((np.prod(gz.shape),1))))
nodCvtk = npsup.numpy_to_vtk(nodC)
points = vtk.vtkPoints()
points.SetData(nodCvtk)
color = np.arange(np.prod(gx.shape-np.array([1,1,1])))
cellColors = npsup.numpy_to_vtk(colorReSh)
cellColors.SetName('Colors')
sgrid = vtk.vtkStructuredGrid()
sgrid.SetDimensions(gx.shape)
sgrid.SetPoints(points)
sgrid.GetCellData().AddArray(cellColors)
def writeVTSFile(fileName,vtsObj):
vtsWriter = vtk.vtkXMLStructuredGridWriter()
vtsWriter.SetFileName(fileName)
vtsWriter.SetInput(vtsObj)
vtsWriter.Update()
writeVTSFile('vts3DFile.vts',sgrid)
return sgrid
# Read the file
vtsReader = vtk.vtkXMLStructuredGridReader()
vtsReader.SetFileName('vts3DFile.vts')
vtsReader.Update()
sgridReader = vtsReader.GetOutput()
# Excute the function
sgridFunc = testGrid()
# Print out the first point
print sgridFunc.GetPoint(0)
print sgridReader.GetPoint(0)
The results from the print function are:
(-1.6934276617628493e-54, 3.4178058e-316, -1.1548972446486807e-82)
(-1.0, -2.0, 2.0)
However, if I write the object to a file and read it everything is working
order. Are there some special tricks to return a grid object from a python
function?
I am running on a Linux 64-bit Fedora 17, with self-compiled version of vtk
5.10.1 and python 2.7.
Thanks,
Gudni
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.vtk.org/pipermail/vtkusers/attachments/20130827/0c204334/attachment.htm>
More information about the vtkusers
mailing list