Skip to main content

Python utilities for Fullwave3D VTR model files

Project description

VTRTool

PyPI Listing

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 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 tlin@s-cube.com, 2017

Project details


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.8.8.tar.gz (12.9 kB view hashes)

Uploaded Source

Built Distribution

vtrtool-0.8.8-py2.py3-none-any.whl (16.6 kB view hashes)

Uploaded Python 2 Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page