def vtkDatasetFromHdf5(g): """ extract a vtkDataset Object from a text file representation stored in a hdf5 character array dataset g. The concrete returned type depends on the content of the file. """ gridtype2vtureader = { 'vtkImageData': vtk.vtkXMLImageDataReader, 'vtkPolyData': vtk.vtkXMLPolyDataReader, 'vtkUnstructuredGrid': vtk.vtkXMLUnstructuredGridReader, } filetype = g.attrs["TYPE"] if filetype == 'VTK_FILE': # shit! i used vtu files at first before i noticed that the legacy vtk format is much easier to deal with ... reader = vtk.vtkDataSetReader() reader.ReadFromInputStringOn() reader.SetInputString(np.asarray(g).tostring()) reader.Update() else: probable_vtk_dataset_type = g.attrs.get('VTK_DATASET_TYPE', 'vtkUnstructuredGrid') import mkstemp # my stuff tf = mkstemp.File(suffix=".vtx") f = open(tf.filename, 'wb') f.write(np.asarray(g).tostring()) f.close() reader = gridtype2vtureader[probable_vtk_dataset_type]() reader.SetFileName(tf.filename) reader.Update() tf.remove() return reader.GetOutput()
def makeTmpFile(self, text=True, suffix='.pov'): args = dict(suffix=suffix, prefix='mwpov_main', text=text) if self.tempfiledir: args['dir'] = self.tempfiledir args['keep'] = self.params.keep_files tf = mkstemp.File(**args) self.tempfiles.append(tf) return tf
def RenderImageWithOverlay(epv, colormap, label, options, colormap_cells=None): tf = mkstemp.File(suffix='.png', prefix='mwpov_', text=False, keep=True) epv.render(tf.filename) #plotsettings = dict(myutils.iterate_items(kwargs, ['dpi','fontcolor','wbbox'], skip=True)) OverwriteImageWithColorbar(options, tf.filename, colormap, label, output_filename=options.imageFileName, colormap_cells=colormap_cells)