Python utilities for Fullwave3D VTR model files
Project description
VTRTool
=======
[![PyPI Listing](https://img.shields.io/pypi/v/vtrtool.svg)](https://pypi.python.org/pypi/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
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
vtrtool.arrays[0]
# model property 2 (if it exists) will be available as numpy ndarray in
vtrtool.arrays[1]
# etc...
```
The following instance properties exist for VTRModel:
- `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 in `num_dimensions`
Some convenience functions:
- `vtrtool.vtrfile_to_ndarray(filename, prop_index=0)` quickly takes a vtr file and returns the property specified by `prop_index` as an ndarray
- `vtrtool.print_vtr_metadata(vtrmodel_object)` takes a VTRModel object and prints dimension information to stdout
**Maintained by**
Tim Lin <tim.lin@sub-salt.com>, 2017
=======
[![PyPI Listing](https://img.shields.io/pypi/v/vtrtool.svg)](https://pypi.python.org/pypi/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
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
vtrtool.arrays[0]
# model property 2 (if it exists) will be available as numpy ndarray in
vtrtool.arrays[1]
# etc...
```
The following instance properties exist for VTRModel:
- `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 in `num_dimensions`
Some convenience functions:
- `vtrtool.vtrfile_to_ndarray(filename, prop_index=0)` quickly takes a vtr file and returns the property specified by `prop_index` as an ndarray
- `vtrtool.print_vtr_metadata(vtrmodel_object)` takes a VTRModel object and prints dimension information to stdout
**Maintained by**
Tim Lin <tim.lin@sub-salt.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
vtrtool-0.2.0.tar.gz
(5.5 kB
view hashes)
Built Distribution
Close
Hashes for vtrtool-0.2.0-py2.py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f8457ee8807b2192c06f2d6ccf74412ac43defb0c1089a7050e5e4fdc2b16890 |
|
MD5 | ec66c11c752bbfd70393de646be2a4dd |
|
BLAKE2b-256 | ddc113689000e6b16254293bb3a63f416a023dc2cb3e37ed9c9897913e73ae44 |