Skip to main content

Unpack binary messages from Satlantic instruments.

Project description

pySatlantic

Python 3 license MIT

Python package to unpack binary messages from Satlantic instruments.

This module provides a simple way to unpack binary messages from Satlantic instruments (e.g. HTSRB, HyperNav, HyperPro, HyperSAS, and Suna). This is likely not the fastest implementation of the Satlantic protocol. However, it is easy to use and fast enough to process hyperspectral spectrum from multiple sensors (e.g. HyperSAS & Es) on single board computers in real-time.

Installation

The package runs with python 3 and can be installed from the setup file or directly with pip.

# Installation through setup file
python setup.py install

# Installation through pip
pip install pySatlantic

Convert binary files recorded with SatView to CSV

The module can be used to convert raw files recorded with SatView to CSV files.

python -m pySatlantic [-h] [-v] [--version] [-i] cal src

or directly from the installed module

python -m pySatlantic.__main__ [-h] [-v] [--version] [-i] cal src

positional arguments: cal Calibration file. src Raw file to decode and calibrate.

optional arguments: -h, --help show this help message and exit -v, --verbose Enable verbosity. --version Prints version information. -i, --immersed Apply immersion coefficients.

Integrate in other software

The class Instrument provides key methods to handle the binary frames from Satlantic instruments

  • read_calibration_file/read_calibration_dir/read_sip_file: Parse calibration file(s) needed to unpack and calibrate binary frames.
  • find_frame: Find known frame in a binary array
  • parse_frame: Unpack binary frame and apply calibration fit to convert data in scientific units

The class Instrument support the immersed flag for each sensor independently. The immersion flag is accessible through Instrument.cal[<frame_header>].immersed with frame_header being the sensor to be immersed or not.

The class BinReader helps to separate individual frames looking for the registration bytes b'SAT'. An example of usage of that class is SatViewRawToCSV which converts a raw file recorded with SatView into a CSV file.

Sensors Tested

List of frames and associated calibration files tested:

  • Es:
    • HED
    • HSE
  • HyperSAS
    • HLD
    • HSL
  • pySAS Tower
    • UMTWR
  • HTSRB
    • HSD
    • HST
    • THS
  • HyperPro
    • HPE
    • HPL
    • MPR
    • PED
    • PLD
    • SATBB2F
    • SATFLCD
  • HyperNAV
    • SATXDZ
    • SATXLZ
    • SATXCZ
    • SATYCZ
  • OCR-504
    • SATDI4
  • NMEA
    • $GPRMC

Some functionalities of the Satlantic protocol are not implemented. Use GitHub Issues for feature requests.

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

pysatlantic-0.4.3.tar.gz (23.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

pysatlantic-0.4.3-py3-none-any.whl (22.7 kB view details)

Uploaded Python 3

File details

Details for the file pysatlantic-0.4.3.tar.gz.

File metadata

  • Download URL: pysatlantic-0.4.3.tar.gz
  • Upload date:
  • Size: 23.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.12

File hashes

Hashes for pysatlantic-0.4.3.tar.gz
Algorithm Hash digest
SHA256 375c8517fd29b73695eb5567c6b8bbec292799a84815c52d79d53946835df283
MD5 587e4ed15a98cd9abd4f2d54908fd2fb
BLAKE2b-256 d74a7f4aada54bd12ef141875854aa31a7692e8555947bc792ef2b8b9565ce2b

See more details on using hashes here.

File details

Details for the file pysatlantic-0.4.3-py3-none-any.whl.

File metadata

  • Download URL: pysatlantic-0.4.3-py3-none-any.whl
  • Upload date:
  • Size: 22.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.12

File hashes

Hashes for pysatlantic-0.4.3-py3-none-any.whl
Algorithm Hash digest
SHA256 0cddb966e33c259b95ca94b279eb116cd5d097069f565cff059afc207706483e
MD5 ca5fad7c7efd1e52353ef7719ce17727
BLAKE2b-256 75e6e63b4bc7da4011b1a0cc40b506c60a282050f8d2398e09f111a4155162c3

See more details on using hashes here.

Supported by

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