THEMIS All-Sky Imager Raw PGM Data Readfile
Python library for reading THEMIS All-Sky Imager (ASI) stream0 raw PGM-file data. The data can be found at https://data.phys.ucalgary.ca or http://themis.igpp.ucla.edu/index.shtml.
Supported Datasets
- THEMIS ASI raw: stream0 PGM files
Installation
The themis-imager-readfile library is available on PyPI:
$ python3 -m pip install themis-imager-readfile
Supported Python Versions
themis-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 themis_imager_readfile
Read a single file
>>> import themis_imager_readfile
>>> filename = "path/to/data/2020/01/01/atha_themis02/ut06/20200101_0600_atha_themis02_full.pgm.gz"
>>> img, meta, problematic_files = themis_imager_readfile.read(filename)
Read multiple files
>>> import themis_imager_readfile, glob
>>> file_list = glob.glob("path/to/files/2020/01/01/atha_themis02/ut06/*full.pgm*")
>>> img, meta, problematic_files = themis_imager_readfile.read(file_list)
Read using multiple worker processes
>>> import themis_imager_readfile, glob
>>> file_list = glob.glob("path/to/files/2020/01/01/atha_themis02/ut06/*full.pgm*")
>>> img, meta, problematic_files = themis_imager_readfile.read(file_list, workers=4)
Read with no output
>>> import themis_imager_readfile, glob
>>> file_list = glob.glob("path/to/files/2020/01/01/atha_themis02/ut06/*full.pgm*")
>>> img, meta, problematic_files = themis_imager_readfile.read(file_list, workers=4, quiet=True)
Read only the first frame of each file
>>> import themis_imager_readfile, glob
>>> file_list = glob.glob("path/to/files/2020/01/01/atha_themis02/ut06/*full.pgm*")
>>> img, meta, problematic_files = themis_imager_readfile.read(file_list, first_frame=True)
Exclude reading the metadata
>>> import themis_imager_readfile, glob
>>> file_list = glob.glob("path/to/files/2020/01/01/atha_themis02/ut06/*full.pgm*")
>>> img, meta, problematic_files = themis_imager_readfile.read(file_list, no_metadata=True)
Multiprocessing Notes
If you receive error messages about multiprocessing, be sure that your code is wrapped in a main() method. This usually resolves the issue. One example implementation is:
import themis_imager_readfile
def main():
filename = "path/to/data/2020/01/01/atha_themis02/ut06/20200101_0600_atha_themis02_full.pgm.gz"
img, meta, problematic_files = themis_imager_readfile.read(filename)
if (__name__ == "__main__"):
main()
Development
Clone the repository and install dependencies using Poetry.
$ git clone https://github.com/ucalgary-aurora/themis-imager-readfile.git
$ cd themis-imager-readfile/python
$ make install
Testing
$ make test
[ or do each test separately ]
$ make test-flake8
$ make test-pylint
$ make test-pytest
Release files for themis-imager-readfile 1.4.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| themis_imager_readfile-1.4.1.tar.gz | 6.2 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| themis_imager_readfile-1.4.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 12.7 kB
Release files / themis_imager_readfile-1.4.1.tar.gz
| Download URL | themis_imager_readfile-1.4.1.tar.gz |
|---|---|
| Size | 6.2 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
5b10eb26b9c334d1781c511bf55695266f7f86d199f9345e900a1ce2ccd94545
|
|
BLAKE2b-256 checksum How to use checksums |
3d32d5eca14662068c92e6c93fd1d8159021584d6974a548b4f1deaf990fa9ce
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
poetry/1.7.1 CPython/3.11.7 Linux/6.2.0-39-generic
|
Release files / themis_imager_readfile-1.4.1-py3-none-any.whl
| Download URL | themis_imager_readfile-1.4.1-py3-none-any.whl |
|---|---|
| Size | 6.6 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
02f49ef33727cdbc27c78b85e125337028994d05934243e2f15d4a7555ac7f16
|
|
BLAKE2b-256 checksum How to use checksums |
7f13999f4c1f249891b94dd58cbbb7d210f4e858b062840b97d7759a264f907d
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
poetry/1.7.1 CPython/3.11.7 Linux/6.2.0-39-generic
|