Python utilities for Fullwave3D VTR model files
Project description
VTRTool
Python utilities for Fullwave3D VTR model files.
The package contains a vtrtool
executable, as well as a vtrtool.py
python package
Installation
This tool can be obtained from PyPI. Simply do:
pip install vtrtool
vtrtool
executable quick usage
vtrtool -h
to show usage information
vtrtool info my_model_file.vtr
shows metadata info for my_model_file.vtr
vtrtool info nx1 my_model_file.vtr
prints out just the size of the 1st (x) dimension for my_model_file.vtr
vtrtool to_binary --property=2 my_model_file.vtr my_model_file.bin
to dump the 2nd property from my_model_file.vtr
to the float32 raw binary file my_model_file.bin
vtrtool to_stdout my_model_file.vtr
to pipe the 1st property (default) from my_model_file.vtr
to stdout
in raw float32 binary format
vtrtool.py
Python module quick usage
The vtrtool.VTRModel
class represents a vtr model that lives at a given filename. The file will be parsed on object initialization:
import vtrtool
# read the vtr file `my_model_file.vtr` and construct a new VTRModel object with it
vtr_model = vtrtool.VTRModel("my_model_file.vtr")
# print model properties to stdout
vtrtool.print_vtr_metadata(vtr_model)
# model property 1 will be available as numpy ndarray in
vtr_model.arrays[0]
# model property 2 (if it exists) will be available as numpy ndarray in
vtr_model.arrays[1]
# etc...
Set the optional keyword use_memmap=True
if you want the VTRModel object to use a NumPy memmap instead of in-memory representation for holding the model array.
The following instance properties exist for objects of the VTRModel
class:
- file: (str) the vtr filename referenced by the VTRModel object
- num_dimensions: (int) number of dimensions in the model
- num_attributes: (int) number of properties in the model
- shape: (tuple of ints) shape (c-based) of numpy ndarray holding the models in the order
(nx1, nx2, nx3)
- shape_fortran: (tuple of ints) shape (fortran-based) of the models in the order
(nx3, nx2, nx1)
- nx1: (int) number of cells in the 1st (usually x) dimension
- nx2: (int) number of cells in the 2nd (usually y) dimension
- nx3: (int) number of cells in the 3rd (fastest, usually z) dimension
- arrays: (list of ndarrays) holds the model property ndarrays, the length of the list correspond to the number of model properties (i.e., property 1 is in model[0]), and the shape of the ndarray will correspond to
shape
and with the number of dimensions innum_dimensions
Some convenience functions:
vtrtool.vtrfile_to_ndarray(filename, prop_index=0)
quickly takes a vtr file and returns the property specified byprop_index
as an ndarrayvtrtool.print_vtr_metadata(vtrmodel_object)
takes a VTRModel object and prints dimension information to stdout
Maintained by
Tim Lin tlin@s-cube.com, 2017
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for vtrtool-0.8.2-py2.py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 73efff36a28686cffd4f84bc55273ba4df1307b6f82e26150dac65171aacf2f6 |
|
MD5 | 4e912ca1c0961f142e9f1e77333ca296 |
|
BLAKE2b-256 | 40f5d2ce2278d10d39ce0e8efcb8949b8282b381546d7bfb2de9c9ed39aec28c |