def __init__(self, vtifname, parallel=False, dtype=np.float64): if not os.path.isfile(vtifname): raise FileNotFoundError(vtifname) if parallel: self.reader = vtk.vtkXMLPImageDataReader() else: self.reader = vtk.vtkXMLImageDataReader() self.reader.SetFileName(vtifname) self.reader.Update() self.data = self.reader.GetOutput() self.dim = self.data.GetDimensions() self.trim_0 = [0, 0, 0] self.trim_1 = [x - 1 for x in self.dim] self.s_vec = [self.dim[2] - 1, self.dim[1] - 1, self.dim[0] - 1] if self.dim[2] > 2: self.subspace = np.meshgrid( *[range(self.trim_0[i], self.trim_1[i]) for i in range(3)]) self.s_scal = [self.dim[2] - 1, self.dim[1] - 1, self.dim[0] - 1] else: self.s_scal = [self.dim[1] - 1, self.dim[0] - 1] self.subspace = np.meshgrid( *[range(self.trim_0[i], self.trim_1[i]) for i in range(2)]) self.dtype = dtype
def read_vti(file): reader = vtk.vtkXMLPImageDataReader() reader.SetFileName(file) reader.Update() data = reader.GetOutput() pointData = data.GetPointData() sh = data.GetDimensions()[::-1] ndims = len(sh) # get vector field v = np.array(pointData.GetVectors("Velocity")).reshape(sh + (ndims, )) vec = [] for d in range(ndims): a = v[..., d] vec.append(a) # get scalar field sca = np.array(pointData.GetScalars('Pressure')).reshape(sh + (1, )) # Generate grid # nPoints = dat.GetNumberOfPoints() (xmin, xmax, ymin, ymax, zmin, zmax) = data.GetBounds() grid3D = np.mgrid[xmin:xmax + 1, ymin:ymax + 1, zmin:zmax + 1] return np.transpose(np.array(vec), (0, 3, 2, 1)), np.transpose(sca, (0, 3, 2, 1)), grid3D
def import_vtk(self, filename, varname, log=False): if (not os.path.isfile(filename)): print("Can't find file: " + filename) else: reader = vtk.vtkXMLPImageDataReader() reader.SetFileName(filename) reader.Update() data = reader.GetOutput() dim = data.GetDimensions() v = vtk_np.vtk_to_numpy(data.GetCellData().GetArray(0)) if (log): v = 10**v n_comp = data.GetCellData().GetArray(0).GetNumberOfComponents() vec = [int(i - 1) for i in dim] if (n_comp > 1): vec.append(n_comp) self.arr[varname] = v.reshape(vec, order='F')
def pvti_readin(filename): ''' Reads in data from pvti with filename, use this to read in electron number density data ''' reader = vtk.vtkXMLPImageDataReader() reader.SetFileName(filename) reader.Update() data = reader.GetOutput() dim = data.GetDimensions() spacing = np.array(data.GetSpacing()) v = vtk_np.vtk_to_numpy(data.GetCellData().GetArray(0)) n_comp = data.GetCellData().GetArray(0).GetNumberOfComponents() vec = [int(i - 1) for i in dim] if (n_comp > 1): vec.append(n_comp) if (n_comp > 2): img = v.reshape(vec, order="F")[0:dim[0] - 1, 0:dim[1] - 1, 0:dim[2] - 1, :] else: img = v.reshape(vec, order="F")[0:dim[0] - 1, 0:dim[1] - 1, 0:dim[2] - 1] dim = img.shape return img, dim, spacing
def __init__(self, module_manager): SimpleVTKClassModuleBase.__init__( self, module_manager, vtk.vtkXMLPImageDataReader(), 'Reading vtkXMLPImageData.', (), ('vtkXMLPImageData',), replaceDoc=True, inputFunctions=None, outputFunctions=None)
def __init__(self, module_manager): SimpleVTKClassModuleBase.__init__(self, module_manager, vtk.vtkXMLPImageDataReader(), 'Reading vtkXMLPImageData.', (), ('vtkXMLPImageData', ), replaceDoc=True, inputFunctions=None, outputFunctions=None)
def __init__(self, vtifname, parallel=False): if parallel: self.reader = vtk.vtkXMLPImageDataReader() else: self.reader = vtk.vtkXMLImageDataReader() self.reader.SetFileName(vtifname) self.reader.Update() self.data = self.reader.GetOutput() self.dim = self.data.GetDimensions() self.s_scal = [self.dim[1]-1, self.dim[0]-1] self.s_vec = [self.dim[1]-1, self.dim[0]-1,3]
def __init__(self, vtifname, parallel=False, dtype=np.float64): if parallel: self.reader = vtk.vtkXMLPImageDataReader() else: self.reader = vtk.vtkXMLImageDataReader() self.reader.SetFileName(vtifname) self.reader.Update() self.data = self.reader.GetOutput() self.dim = self.data.GetDimensions() self.s_scal = [self.dim[2]-1, self.dim[1]-1, self.dim[0]-1] self.s_vec = [self.dim[2]-1, self.dim[1]-1, self.dim[0]-1,3] self.trim_0 = [0,0,0] self.trim_1 = [x-1 for x in self.dim] self.dtype = dtype
def import_space(self, filename): if (not os.path.isfile(filename)): print("Can't find file: " + filename) else: reader = vtk.vtkXMLPImageDataReader() reader.SetFileName(filename) reader.Update() data = reader.GetOutput() bounds = np.array(data.GetBounds()) spacing = np.array(data.GetSpacing()) self.d = spacing self.xc = -np.array([bounds[0], bounds[2], bounds[4]]) self.x = np.arange(bounds[0], bounds[1], spacing[0]) self.y = np.arange(bounds[2], bounds[3], spacing[1]) self.z = np.arange(bounds[4], bounds[5], spacing[2])
def revti(name): in_vtifname = name out_vtifname = "/tmp/"+os.path.basename( os.path.splitext(name)[0] )+'.vti' reader = vtk.vtkXMLPImageDataReader() reader.SetFileName(in_vtifname) reader.Update() data = reader.GetOutput() cd = data.GetCellData() k = 0 bc = cd.GetNumberOfArrays() while cd.GetNumberOfArrays() > len(save) or k > 10: k = k + 1 for i in range(cd.GetNumberOfArrays()): if not ( cd.GetArrayName(i) in save ): # print "Removing:", cd.GetArrayName(i) cd.RemoveArray(cd.GetArrayName(i)) break # else: # print "Keeping:", cd.GetArrayName(i) print out_vtifname +" : ", bc, '/', cd.GetNumberOfArrays() writer = vtk.vtkXMLImageDataWriter() writer.SetFileName(out_vtifname) writer.SetInputData(data) writer.Write()
if rank == 0: print(da2.GetValue(0)) import os os.remove(filename) for i in range(npieces): if not useSubdir: os.remove(VTK_TEMP_DIR + "/%s_%d.%s" % (dataType, i, ext)) else: os.remove(VTK_TEMP_DIR + "/%s/%s_%d.%s" % (dataType, dataType, i, ext)) assert da2.GetValue(0) == numTris TestDataType('ImageData', vtk.vtkXMLPImageDataReader(), vtk.vtkXMLPImageDataWriter(), 'vti', 4924) TestDataType('RectilinearGrid', vtk.vtkXMLPRectilinearGridReader(), vtk.vtkXMLPRectilinearGridWriter(), 'vtr', 4924) TestDataType('StructuredGrid', vtk.vtkXMLPStructuredGridReader(), vtk.vtkXMLPStructuredGridWriter(), 'vts', 4924) TestDataType('UnstructuredGrid', vtk.vtkXMLPUnstructuredGridReader(), vtk.vtkXMLPUnstructuredGridWriter(), 'vtu', 11856) # Test writers with UseSubdirectory on TestDataType('ImageData', vtk.vtkXMLPImageDataReader(), vtk.vtkXMLPImageDataWriter(), 'vti', 4924, useSubdir=True)
da.InsertNextValue(ntris) da2 = vtk.vtkIntArray() da2.SetNumberOfTuples(1) contr.AllReduce(da, da2, vtk.vtkCommunicator.SUM_OP) if rank == 0: print(da2.GetValue(0)) import os os.remove(filename) for i in range(npieces): if not useSubdir: os.remove(VTK_TEMP_DIR + "/%s_%d.%s" % (dataType, i, ext)) else: os.remove(VTK_TEMP_DIR + "/%s/%s_%d.%s" %(dataType, dataType, i, ext)) assert da2.GetValue(0) == numTris TestDataType('ImageData', vtk.vtkXMLPImageDataReader(), vtk.vtkXMLPImageDataWriter(), 'vti', 4924) TestDataType('RectilinearGrid', vtk.vtkXMLPRectilinearGridReader(), vtk.vtkXMLPRectilinearGridWriter(), 'vtr', 4924) TestDataType('StructuredGrid', vtk.vtkXMLPStructuredGridReader(), vtk.vtkXMLPStructuredGridWriter(), 'vts', 4924) TestDataType('UnstructuredGrid', vtk.vtkXMLPUnstructuredGridReader(), vtk.vtkXMLPUnstructuredGridWriter(), 'vtu', 11856) TestDataType('Table', vtk.vtkXMLPTableReader(), vtk.vtkXMLPTableWriter(), 'vtt', 18522) # Test writers with UseSubdirectory on TestDataType('ImageData', vtk.vtkXMLPImageDataReader(), vtk.vtkXMLPImageDataWriter(), 'vti', 4924, useSubdir=True) TestDataType('RectilinearGrid', vtk.vtkXMLPRectilinearGridReader(), vtk.vtkXMLPRectilinearGridWriter(), 'vtr', 4924, useSubdir=True) TestDataType('StructuredGrid', vtk.vtkXMLPStructuredGridReader(), vtk.vtkXMLPStructuredGridWriter(), 'vts', 4924, useSubdir=True) TestDataType('UnstructuredGrid', vtk.vtkXMLPUnstructuredGridReader(), vtk.vtkXMLPUnstructuredGridWriter(), 'vtu', 11856, useSubdir=True) TestDataType('Table', vtk.vtkXMLPTableReader(), vtk.vtkXMLPTableWriter(), 'vtt', 18522, useSubdir=True)
import os import vtk from vtk.util.misc import vtkGetDataRoot from vtk.util.misc import vtkGetTempDir VTK_DATA_ROOT = vtkGetDataRoot() VTK_TEMP_DIR = vtkGetTempDir() rt = vtk.vtkRTAnalyticSource() rt.Update() inp = rt.GetOutput() inp.GetInformation().Set(vtk.vtkDataObject.DATA_TIME_STEP(), 11) file_root = VTK_TEMP_DIR + '/testpxmlfield' file0 = file_root + ".pvti" w = vtk.vtkXMLPImageDataWriter() w.SetInputData(inp) w.SetFileName(file0) w.Write() r = vtk.vtkXMLPImageDataReader() r.SetFileName(file0) r.UpdateInformation() assert (r.GetOutputInformation(0).Get( vtk.vtkStreamingDemandDrivenPipeline.TIME_STEPS(), 0) == 11.0) os.remove(file0) os.remove(file_root + "_0.vti")
# -*- coding: utf-8 -*- """ Created on Fri Nov 19 11:57:07 2010 @author: VBaidin """ import vtk import array import numpy as np DATA_ROOT = 'f:/data/Bank/Constant Speed 001/RESULTS_MPI4-50ms/IM' reader = vtk.vtkXMLPImageDataReader() reader.SetFileName(DATA_ROOT + "/image.pvti") reader.Update() #reader.SetFileName(DATA_ROOT + "/node_0_0.vti") #darray = vtk.vtkDoubleArray() #coords = [0,0,0] #reader.GetOutput().GetArrayPointer(darray,coords) D = reader.GetOutput().GetDimensions() image = reader.GetOutput().GetPointData().GetArray ('IMAGE') func = lambda i,j: image.GetTuple1(i+D[0]*j) Img = np.zeros ((D[0],D[1]),dtype=float) for i in xrange(D[0]): for j in xrange(D[1]): Img[i,j]=func(i,j) np.savez ("%s/IMAGE.npz"%DATA_ROOT,Img)
cf.SetValue(0, 130) cf.SetComputeNormals(0) cf.SetComputeGradients(0) cf.SetInputConnection(reader.GetOutputPort()) cf.UpdateInformation() cf.GetOutputInformation(0).Set(vtk.vtkStreamingDemandDrivenPipeline.UPDATE_NUMBER_OF_PIECES(), nranks) cf.GetOutputInformation(0).Set(vtk.vtkStreamingDemandDrivenPipeline.UPDATE_PIECE_NUMBER(), rank) cf.Update() ntris = cf.GetOutput().GetNumberOfCells() da = vtk.vtkIntArray() da.InsertNextValue(ntris) da2 = vtk.vtkIntArray() da2.SetNumberOfTuples(1) contr.AllReduce(da, da2, vtk.vtkCommunicator.SUM_OP) if rank == 0: print(da2.GetValue(0)) import os os.remove(filename) for i in range(npieces): os.remove(VTK_TEMP_DIR + "/%s_%d.%s" % (dataType, i, ext)) assert da2.GetValue(0) == numTris TestDataType('ImageData', vtk.vtkXMLPImageDataReader(), vtk.vtkXMLPImageDataWriter(), 'vti', 4924) TestDataType('RectilinearGrid', vtk.vtkXMLPRectilinearGridReader(), vtk.vtkXMLPRectilinearGridWriter(), 'vtr', 4924) TestDataType('StructuredGrid', vtk.vtkXMLPStructuredGridReader(), vtk.vtkXMLPStructuredGridWriter(), 'vts', 4924) TestDataType('UnstructuredGrid', vtk.vtkXMLPUnstructuredGridReader(), vtk.vtkXMLPUnstructuredGridWriter(), 'vtu', 11856)