Tools to work with fits files for Pandora
Project description
pandora-fits
Tools to work with fits files from Pandora.
pandora-fits wraps astropy.io.fits.HDUList classes to ensure that files conform to Pandora FITS standards.
The standards are defined using excel files in the src/pandorasat/formats/ folder. Changing these files will change the standards that this tool checks against.
Pandora Detectors
Pandora has two detectors, VISDA and NIRDA. You can read more about each of these in pandora-sat.
Pandora File Levels
Pandora will have the following levels of files for each detector
| Level | Description |
|---|---|
| 0 | Raw data from spacecraft |
| 1 | Reorganized raw data, with potential for additional keywords |
| 2 | Calibrated image data products |
| 3 | Spectral time-series data, ready for science. |
Exceptions
pandora-fits will throw exceptions if files are not in the correct format. This includes
- Files do not have the right number of extensions
- Extensions are not the correct type
- Header keywords have the wrong values when compared with the template
Warnings
pandora-fits will log warnings if files are missing keyword headers, but those headers aren't valued in the excel spreadsheet.
Usage
You should treat the pandora-fits objects as though they were astropy.io.fits.HDUList objects. There is one per detector, per file level.
First you can import the correct HDUList object. Note that I am using the logger and setting the logger to the level "ERROR".
from pandorafits.fits import NIRDALevel0HDUList
from pandorafits import logger
logger.setLevel("ERROR")
We can create a dummy file by passing nothing to the object
hdulist = NIRDALevel0HDUList()
hdulist.info()
Filename: (No file associated with this HDUList)
No. Name Ver Type Cards Dimensions Format
0 PRIMARY 1 PrimaryHDU 35 ()
1 SCIENCE 1 ImageHDU 12 (80, 400, 10) int16
This initializes an "empty" file that is compliant with the Pandora scheme. There are several logger "warning" messages that will state that many of the header keywords are not set.
We can write to a file
hdulist.writeto("test.fits", overwrite=True)
We can also read in a file
hdulist = NIRDALevel0HDUList("test.fits")
Finally we can read in an existing HDUList, e.g.
hdulist = fits.HDUList("test.fits")
NIRDALevel0HDUList(hdulist)
Installation
You can install with a git clone, or via PyPI using the command below. Make sure to update to the most recent version.
pip install pandorafits --upgrade
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
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file pandorafits-0.2.0.tar.gz.
File metadata
- Download URL: pandorafits-0.2.0.tar.gz
- Upload date:
- Size: 106.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/2.2.1 CPython/3.9.13 Darwin/24.6.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
9f5248f50db54f6ad5812c235424cd2cdf690c589e1d87fa774dfb2b0895f158
|
|
| MD5 |
1639f3ee9ef7b8a5e7476615037e3df8
|
|
| BLAKE2b-256 |
e6a8e67a0a0ecc5cd46f150850b5f08babee8a8811cd713b03acb3ae0c39d396
|
File details
Details for the file pandorafits-0.2.0-py3-none-any.whl.
File metadata
- Download URL: pandorafits-0.2.0-py3-none-any.whl
- Upload date:
- Size: 132.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/2.2.1 CPython/3.9.13 Darwin/24.6.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
788d11d9feec4e20a3a3b68a90484942675a37c51b3f3e1d47f50c10f1094f94
|
|
| MD5 |
e3a2b697940a32e03732ff38cb78f954
|
|
| BLAKE2b-256 |
f15f5f24132e67f166bf0430b867535d0fae582fd20959a0deb5aba4e4b8e56e
|