sensotwin.write_vtt
1import vtk 2from vtk.util import numpy_support 3import numpy as np 4import logging 5logging.captureWarnings(True) 6import pandas as pd 7logging.captureWarnings(False) 8 9def _create_vtktable(dataframe: pd.DataFrame) -> vtk.vtkTable: 10 """Create vtkTable object from input data. 11 12 Args: 13 dataframe: pandas dataframe with table data to convert to vktTable 14 15 Returns: 16 vtk table equal to input pandas dataframe in structure and content 17 """ 18 table = vtk.vtkTable() 19 for column in list(dataframe): 20 np_array = dataframe[column].to_numpy() 21 if np_array.dtype == np.dtype(object): 22 # string are not handled properly by numpy_to_vtk, create manually 23 vtk_array = vtk.vtkStringArray() 24 vtk_array.SetNumberOfComponents(1) 25 vtk_array.SetNumberOfTuples(len(np_array)) 26 for i, value in enumerate(list(np_array)): 27 vtk_array.SetValue(i, value) 28 else: 29 # for numbers, use numpy_to_vtk 30 vtk_array = numpy_support.numpy_to_vtk(np_array, deep=True, array_type=None) 31 vtk_array.SetName(column) 32 table.AddColumn(vtk_array) 33 return table 34 35 36def _write_to_disk(filename: str, table: vtk.vtkTable): 37 """Write input vtkTable to vtt file on disk. 38 39 Args: 40 filename: full or relative filepath with file name to save to 41 table: vtkTable containing data to write 42 """ 43 writer = vtk.vtkXMLTableWriter() 44 writer.SetFileName(filename) 45 writer.SetDataModeToAppended() 46 writer.SetInputData(table) 47 writer.Write() 48 49 50def write_file(filename: str, dataframe: pd.DataFrame): 51 """Write given pandas data to file in specified location in vtk table format. 52 53 Args: 54 filename: full or relative filepath with file name to save to 55 dataframe: pandas dataframe with input table data 56 """ 57 table = _create_vtktable(dataframe) 58 writer = _write_to_disk(filename, table)
def
write_file(filename: str, dataframe: pandas.core.frame.DataFrame):
51def write_file(filename: str, dataframe: pd.DataFrame): 52 """Write given pandas data to file in specified location in vtk table format. 53 54 Args: 55 filename: full or relative filepath with file name to save to 56 dataframe: pandas dataframe with input table data 57 """ 58 table = _create_vtktable(dataframe) 59 writer = _write_to_disk(filename, table)
Write given pandas data to file in specified location in vtk table format.
Args: filename: full or relative filepath with file name to save to dataframe: pandas dataframe with input table data