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
File details
Details for the file vtrtool-0.8.6.tar.gz
.
File metadata
- Download URL: vtrtool-0.8.6.tar.gz
- Upload date:
- Size: 10.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/46.0.0 requests-toolbelt/0.9.1 tqdm/4.43.0 CPython/3.7.7
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 |
9d5b2b28787e607de9327044a2ae5aaccf7f1314816682b362e99c5fdd046173
|
|
MD5 |
74255ddecd0eb84be25f324ef5d05220
|
|
BLAKE2b-256 |
ab6a4cc5add24c5656af9d526249609ffb1c7ffc080f50795f265cca0fefe65c
|
File details
Details for the file vtrtool-0.8.6-py2.py3-none-any.whl
.
File metadata
- Download URL: vtrtool-0.8.6-py2.py3-none-any.whl
- Upload date:
- Size: 13.0 kB
- Tags: Python 2, Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/46.0.0 requests-toolbelt/0.9.1 tqdm/4.43.0 CPython/3.7.7
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 |
c94f810f85bf080de304ae3d82577a85523c43e1d8bf7eb32c3edd968439b272
|
|
MD5 |
13c313a9bd68eb658cc91e18b727c212
|
|
BLAKE2b-256 |
3eac010e547b9095c80aaddecced12608b2cb54058484020f09e4ebb7ad0378a
|