def _field_scalar(self, name=None): """ Returns field scalars of a vtk object Parameters ---------- name : str Name of field scalars to retrive. Returns ------- scalars : np.ndarray Numpy array of scalars """ if name is None: raise RuntimeError('Must specify an array to fetch.') vtkarr = self.GetFieldData().GetAbstractArray(name) if vtkarr is None: raise AssertionError( '({}) is not a valid field scalar array'.format(name)) # numpy does not support bit array data types if isinstance(vtkarr, vtk.vtkBitArray): vtkarr = vtk_bit_array_to_char(vtkarr) if name not in self._point_bool_array_names: self._field_bool_array_names.append(name) array = convert_array(vtkarr) if array.dtype == np.uint8 and name in self._field_bool_array_names: array = array.view(np.bool) return array
def _cell_scalar(self, name=None): """ Returns the cell scalars of a vtk object Parameters ---------- name : str Name of cell scalars to retrive. Returns ------- scalars : np.ndarray Numpy array of scalars """ if name is None: # use active scalar array field, name = self.active_scalar_info if field != CELL_DATA_FIELD: raise RuntimeError('Must specify an array to fetch.') vtkarr = self.GetCellData().GetAbstractArray(name) if vtkarr is None: raise AssertionError('({}) is not a cell scalar'.format(name)) # numpy does not support bit array data types if isinstance(vtkarr, vtk.vtkBitArray): vtkarr = vtk_bit_array_to_char(vtkarr) if name not in self._cell_bool_array_names: self._cell_bool_array_names.append(name) array = convert_array(vtkarr) if array.dtype == np.uint8 and name in self._cell_bool_array_names: array = array.view(np.bool) return array
def _row_array(self, name=None): """Return row scalars of a vtk object. Parameters ---------- name : str Name of row scalars to retrieve. Return ------ scalars : np.ndarray Numpy array of scalars """ if name is None: # use first array name = self.GetRowData().GetArrayName(0) if name is None: raise RuntimeError('No arrays present to fetch.') vtkarr = self.GetRowData().GetAbstractArray(name) if vtkarr is None: raise AssertionError('({}) is not a row scalar'.format(name)) # numpy does not support bit array data types if isinstance(vtkarr, vtk.vtkBitArray): vtkarr = vtk_bit_array_to_char(vtkarr) if name not in self._row_bool_array_names: self._row_bool_array_names.append(name) array = convert_array(vtkarr) if array.dtype == np.uint8 and name in self._row_bool_array_names: array = array.view(np.bool) return array