Skip to main content

Read functions for Rainbow ASI PNM raw files

Project description

Rainbow All-Sky Imager Raw PGM Data Readfile (GO-Canada AGO/CGSM Rainbow)

Github Actions - Tests PyPI version MIT license PyPI Python versions

Python library for reading Rainbow All-Sky Imager (GO-Canada AGO/CGSM Rainbow) stream0 raw PGM-file data. The data can be found at https://data.phys.ucalgary.ca.

Installation

The rainbow-imager-readfile library is available on PyPI:

$ python3 -m pip install rainbow-imager-readfile

Supported Python Versions

rainbow-imager-readfile officially supports Python 3.8+.

Examples

Example Python notebooks can be found in the "examples" directory. Further, some examples can be found in the "Usage" section below.

Usage

Import the library using import rainbow_imager_readfile

Warning: On Windows, be sure to put any read calls into a main() method. This is because we utilize the multiprocessing library and the method of forking processes in Windows requires it. Note that if you're using Jupyter or other IPython-based interfaces, this is not required.

Read a single file

>>> import rainbow_imager_readfile
>>> filename = "path/to/data/2015/01/01/fsmi_rainbow-11/ut06/20150101_0600_fsmi_rainbow-11_full.pgm.gz"
>>> img, meta, problematic_files = rainbow_imager_readfile.read(filename)

Read multiple files

>>> import rainbow_imager_readfile, glob
>>> file_list = glob.glob("path/to/files/2015/01/01/fsmi_rainbow-11/ut06/*full.pgm*")
>>> img, meta, problematic_files = rainbow_imager_readfile.read(file_list)

Read using multiple worker processes

>>> import rainbow_imager_readfile, glob
>>> file_list = glob.glob("path/to/files/2015/01/01/fsmi_rainbow-11/ut06/*full.pgm*")
>>> img, meta, problematic_files = rainbow_imager_readfile.read(file_list, workers=4)

Read with no output

>>> import rainbow_imager_readfile, glob
>>> file_list = glob.glob("path/to/files/2015/01/01/fsmi_rainbow-11/ut06/*full.pgm*")
>>> img, meta, problematic_files = rainbow_imager_readfile.read(file_list, workers=4, quiet=True)

Read only the first frame of each file

>>> import rainbow_imager_readfile, glob
>>> file_list = glob.glob("path/to/files/2015/01/01/fsmi_rainbow-11/ut06/*full.pgm*")
>>> img, meta, problematic_files = rainbow_imager_readfile.read(file_list, first_frame=True)

Exclude reading the metadata

>>> import rainbow_imager_readfile, glob
>>> file_list = glob.glob("path/to/files/2015/01/01/fsmi_rainbow-11/ut06/*full.pgm*")
>>> img, meta, problematic_files = rainbow_imager_readfile.read(file_list, no_metadata=True)

Development

Clone the repository and install dependencies using Poetry.

$ git clone https://github.com/ucalgary-aurora/rainbow-imager-readfile.git
$ cd rainbow-imager-readfile/python
$ make install

Testing

$ make test
[ or do each test separately ]
$ make test-flake8
$ make test-pylint
$ make test-pytest

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

rainbow_imager_readfile-1.3.1.tar.gz (6.1 kB view details)

Uploaded Source

Built Distribution

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

rainbow_imager_readfile-1.3.1-py3-none-any.whl (6.6 kB view details)

Uploaded Python 3

File details

Details for the file rainbow_imager_readfile-1.3.1.tar.gz.

File metadata

  • Download URL: rainbow_imager_readfile-1.3.1.tar.gz
  • Upload date:
  • Size: 6.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.7.1 CPython/3.11.7 Linux/6.2.0-39-generic

File hashes

Hashes for rainbow_imager_readfile-1.3.1.tar.gz
Algorithm Hash digest
SHA256 36b22732e72a5a77fc780ca7a2f7a13e570ce9a4d6ac643c7c05fd1925448ea1
MD5 d29144557d7439e01b8b5f2494734ac0
BLAKE2b-256 ee475b264a6c174e91916edfde3f4b1bcf3a310e5ae3da238ef43a6d78a28781

See more details on using hashes here.

File details

Details for the file rainbow_imager_readfile-1.3.1-py3-none-any.whl.

File metadata

File hashes

Hashes for rainbow_imager_readfile-1.3.1-py3-none-any.whl
Algorithm Hash digest
SHA256 256b5e31ce1bf6f0cf199b38ed9cbe77ca79814287e4fcbdb79e7aaba8793fe1
MD5 bc2daca37856415bb10ac02d537b4c42
BLAKE2b-256 d28a5eec9f0ef0a4b1dcabe0ce675e74649b6b8922d997734fa43b31ad400a41

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