pyuvis
Python tools for working with Cassini UVIS data
pyuvis provides readers, calibration utilities, and PDS-archive helpers for the Cassini UVIS (Ultraviolet Imaging Spectrograph) instrument. Data discovery and download are delegated to planetarypy; pyuvis focuses on opening the resulting files and turning them into useful arrays (numpy / xarray / pandas) you can analyse.
Install
pip install pyuvisThe package will pull in planetarypy (≥ 0.21) as a dependency. On first use, planetarypy will ask you for a local data directory where it will cache PDS products it downloads on your behalf.
For development:
git clone https://github.com/Cassini-UVIS/pyuvis
cd pyuvis
pip install -e ".[dev,docs]"Supported Python versions: 3.12, 3.13, 3.14.
A first look
from pyuvis import UVPDS
uv = UVPDS("FUV2005_172_03_35") # downloads via planetarypy if not cached
uv.data # numpy array of raw counts
uv.xarray # xarray.DataArray with (spectral, spatial, samples) coords
uv.plot() # quick hvplot
uv.calibrated # calibrated data, if a calibration matrix is presentFor browsing the PDS catalog of UVIS products by date / observation type / target:
from pyuvis.pds import CatalogFilter
cat = CatalogFilter("2002-198") # accepts "yyyy-jjj" or "yyyy-mm-dd"
cat.doydate # "2002-198"
cat.ustare_stars # USTARE-type observations on STAR targets
cat.get_ustare_stars_date("FUV") # filter to FUV stars on the given dateWhere to next
- Tutorials — worked examples (HSP sensitivity, IDL
.savround-trips, Greg & Steffl calibrations, PDS catalog filtering, FUV/EUV stats). - API Reference — every public class and function, generated from the source by
quartodoc.
Citation
If you use pyuvis in your research, please cite via the metadata in CITATION.cff or the Zenodo DOI badge above.
Issues and contributing
Report issues at https://github.com/Cassini-UVIS/pyuvis/issues. Pull requests welcome — please run pytest and render the docs locally (make docs) before opening one.