Interface
The interface
module provides functions to convert/cast between common
VTK and NumPy/Pandas data types. These methods provide a simple to use interface
for VTK data types so that users can make changes to VTK data strucutres via
Python data structures that are a bit easier to perform numerical operations
upon.
add_arrays_from_data_frame
-
PVGeo.interface.
add_arrays_from_data_frame
(pdo, field, df)[source]
Add all of the arrays from a given data frame to an output’s data
convert_array
-
PVGeo.interface.
convert_array
(arr, name='Data', deep=0, array_type=None, pdf=False)[source]
A helper to convert a NumPy array to a vtkDataArray or vice versa
- Parameters
arr (ndarray or vtkDataArry) – A numpy array or vtkDataArry to convert
name (str) – the name of the data array for VTK
deep (bool, int) – if input is numpy array then deep copy values
pdf (bool) – if input is vtkDataArry, make a pandas DataFrame of the array
- Returns
the converted array (if input is a NumPy ndaray then returns
vtkDataArray
or is input is vtkDataArray
then returns NumPy
ndarray
). If pdf==True and the input is vtkDataArry
,
return a pandas DataFrame.
- Return type
vtkDataArray, ndarray, or DataFrame
convert_cell_conn
-
PVGeo.interface.
convert_cell_conn
(cell_connectivity)[source]
Converts cell connectivity arrays to a cell matrix array that makes sense
for VTK cell arrays.
convert_string_array
-
PVGeo.interface.
convert_string_array
(arr, name=None)[source]
Convert a numpy array of strings to a vtkStringArray or vice versa.
Note that this is terribly inefficient - inefficient support
is better than no support :). If you have ideas on how to make this faster,
please consider opening a pull request.
data_frame_to_table
-
PVGeo.interface.
data_frame_to_table
(df, pdo=None)[source]
Converts a pandas DataFrame to a vtkTable
get_array
-
PVGeo.interface.
get_array
(dataset, name, vtk_object=False)[source]
Given an input dataset, this will return the named array as a NumPy array
or a vtkDataArray if spceified
get_data_dict
-
PVGeo.interface.
get_data_dict
(dataset, field='cell')[source]
Given an input dataset, this will return all the arrays in that object’s
cell/point/field/row data as named NumPy arrays in a dictionary.
get_dtypes
-
PVGeo.interface.
get_dtypes
(dtype='', endian=None)[source]
This converts char dtypes and an endian to a numpy and VTK data type.
- Returns
the numpy data type and the integer type id specified in vtkType.h
for VTK data types
- Return type
tuple (numpy.dtype, int)
get_vtk_type
-
PVGeo.interface.
get_vtk_type
(typ)[source]
Look up the VTK type for a give python data type.
Corrects for string type mapping issues.
- Returns
int
- Return type
the integer type id specified in vtkType.h
place_array_in_table
-
PVGeo.interface.
place_array_in_table
(ndarr, titles, pdo)[source]
Takes a 1D/2D numpy array and makes a vtkTable of it
- Parameters
ndarr (numpy.ndarray) – The 1D/2D array to be converted to a table
titles (list or tuple) – The titles for the arrays in the table. Must
have same number of elements as columns in input ndarray
pdo (vtkTable) – The output data object pointer
- Returns
returns the same input pdo table
- Return type
vtkTable
points_to_poly_data
-
PVGeo.interface.
points_to_poly_data
(points, copy_z=False)[source]
Create vtkPolyData
from a numpy array of XYZ points. If the points
have more than 3 dimensions, then all dimensions after the third will be
added as attributes. Assume the first three dimensions are the XYZ
coordinates.
- Parameters
-
- Returns
points with point-vertex cells
- Return type
vtkPolyData
table_to_data_frame
-
PVGeo.interface.
table_to_data_frame
(table)[source]
Converts a vtkTable to a pandas DataFrame