SETI / rms-vax

vax Python module
Apache License 2.0
1 stars 1 forks source link

GitHub release; latest by date GitHub Release Date Test Status Documentation Status Code coverage
PyPI - Version PyPI - Format PyPI - Downloads PyPI - Python Version
GitHub commits since latest release GitHub commit activity GitHub last commit
Number of GitHub open issues Number of GitHub closed issues Number of GitHub open pull requests Number of GitHub closed pull requests
GitHub License Number of GitHub stars GitHub forks

Introduction

vax is a set of routines for converting between NumPy floating point and complex scalars/arrays and VAX-format single- and double-precision floats.

vax is a product of the PDS Ring-Moon Systems Node.

Installation

The vax module is available via the rms-vax package on PyPI and can be installed with:

pip install rms-vax

Getting Started

The vax module provides two functions for converting from VAX-format floats:

and two functions for converting to VAX-format floats::

Note that there are no functions to convert a NumPy array to VAX double-precision format.

Details of each function are available in the module documentation.

Basic operation is as follows:

import vax
b = vax.to_vax32([1., 2., 3.])
print(f'b = {b!r}')
ba = vax.to_vax32_bytes([1., 2., 3.])
print(f'ba = {ba!r}')
v = vax.from_vax32(b)
print(f'v = {v!r}')
va = vax.from_vax32(ba)
print(f'va = {va!r}')

yields:

b = array([2.3138e-41, 2.3318e-41, 2.3407e-41], dtype=float32)
ba = b'\x80@\x00\x00\x00A\x00\x00@A\x00\x00'
v = array([1., 2., 3.], dtype=float32)
va = array([1., 2., 3.], dtype=float32)

As NASA data products stored as VAX-format floats are often provided in JPL's VICAR file format, you may also be interested in the rms-vicar package (documentation).

Contributing

Information on contributing to this package can be found in the Contributing Guide.

Links

Licensing

This code is licensed under the Apache License v2.0.