A software to calibrate the sky background of Space Telescope images
Project description
ROSALIA: ROman Sky Analyst for Low surface brightness Imaging & Astronomy
Explore the docs »
View Demo · Report Bug · Request Feature
Table of Contents
About The Project
ROSALIA (Roman Sky Analyst for Low surface brightness Imaging & Astronomy) is a pipeline to model the sky background level on astronomical images obtained with NASA/Nancy Grace Roman Space Telescope and its direct predecessor, the legendary NASA/Hubble Space Telescope. In particular ROSALIA is focused on the prediction and calibration of stray-light in the Roman Wide Field Instrument, one of the main contaminants in ultra deep low surface brightness observations, and the main source of gradients of parasitic light for space telescopes. ROSALIA combines the information from existing photometric catalogs (Gaia, 2MASS, WISE) with precise optical and payload ray-tracing models of the Roman Space Telescope, allowing to generate images of stray-light and other components of the sky-background for user-defined observational conditions.
ROSALIA is funded through a NASA Grant (D.14 Roman 2022), ROSES/Nancy Grace Roman Space Telescope Research and Support Participation Opportunities.
Sci-PI: Alejandro S. Borlaff (NASA ARC). Admin-PI: Pamela M. Marcum (NASA ARC)
Installation
Managing dependencies
ROSALIA is based on multiple packages, including Astropy, Astroquery, and Romanisim, NumPy, SciPy, and Matplotlib among many others. The easiest way to install all the dependencies is through a package manager like Conda or Mamba. If you have a Conda/Mamba package manager already installed in your system, skip to the following section. If you do not have a package manager, follow the Conda installation instructions at the Space Telescope stenv environment webpage.
Installing ROSALIA
For developers
Create a clean environment for ROSALIA
conda create -n rosalia python=3.12 conda-forge::astromatic-swarp
After the new environment is created, we can activate it.
conda activate rosalia
Once in a clean conda environment, we need to download the ROSALIA package from GitHub.
For general users
Create a clean environment for ROSALIA
conda create -n rosalia python=3.12 conda-forge::astromatic-swarp
After the new environment is created, we can activate it.
conda activate rosalia
Once in a clean conda environment, we can install ROSALIA. The preferred method to install it is through pip.
pip install rosalia-wfi
That is it! We are ready to start analyzing Space Telescope images.
Minimal use example
ROSALIA estimates the amount of stray-light from Roman Space Telescope images. To do that, it calculates how many photons reach the focal plane array from secondary optical paths, based on a function called Normalized Detector Irradiance (NDI, https://link.springer.com/book/10.1007/b97612). Those photons represent a source of contamination and typically, they must be modeled and removed before the images are ready for science. ROSALIA calculates the flux of photons for each pixel of the focal plane array. For Roman/WFI, that is a total of 300,811,392 pixels! (18 4088x4088 H4RG-10 detectors). While Nancy Grace Roman Space Telescope is scheduled to be launched no earlier than September 2026, we can start simulating the observations that this magnificent telescope will provide humanity with using another Roman software, romanisim (https://romanisim.readthedocs.io/en/latest/).
Generating some mock Roman / WFI observations
- Install romanisim and generate a Roman/WFI example image. For our experiment -- and to maximize the visualization of stray-light -- we will simulate an exposure nearby the Orion's Belt.
pip install romanisim
romanisim-make-image --radec 83.3419927 -1.9665163 RST_WFI_ROSALIA_test_Orion_Belt_SCA{}.asdf --roll -45 --sca -1 --bandpass F158 --level 2 --usecrds
Note: romanisim is a package in active development. Please visit the official webpage for more information on usage.
The result from the previous command will be a series of files (18 in total, one ASDF file per Roman WFI detector, or SCA) in the local directory.
ls -lah
-rw-r--r-- 1 user staff 391M Nov 26 16:02 RST_WFI_ROSALIA_test_Orion_Belt_SCAWFI01.asdf
-rw-r--r-- 1 user staff 391M Nov 26 15:39 RST_WFI_ROSALIA_test_Orion_Belt_SCAWFI02.asdf
-rw-r--r-- 1 user staff 391M Nov 26 15:42 RST_WFI_ROSALIA_test_Orion_Belt_SCAWFI03.asdf
-rw-r--r-- 1 user staff 391M Nov 26 15:46 RST_WFI_ROSALIA_test_Orion_Belt_SCAWFI04.asdf
-rw-r--r-- 1 user staff 391M Nov 26 15:49 RST_WFI_ROSALIA_test_Orion_Belt_SCAWFI05.asdf
-rw-r--r-- 1 user staff 391M Nov 26 15:53 RST_WFI_ROSALIA_test_Orion_Belt_SCAWFI06.asdf
-rw-r--r-- 1 user staff 391M Nov 26 15:56 RST_WFI_ROSALIA_test_Orion_Belt_SCAWFI07.asdf
-rw-r--r-- 1 user staff 391M Nov 26 15:59 RST_WFI_ROSALIA_test_Orion_Belt_SCAWFI08.asdf
-rw-r--r-- 1 user staff 391M Nov 26 16:03 RST_WFI_ROSALIA_test_Orion_Belt_SCAWFI09.asdf
-rw-r--r-- 1 user staff 391M Nov 26 16:06 RST_WFI_ROSALIA_test_Orion_Belt_SCAWFI10.asdf
-rw-r--r-- 1 user staff 391M Nov 26 16:10 RST_WFI_ROSALIA_test_Orion_Belt_SCAWFI11.asdf
-rw-r--r-- 1 user staff 391M Nov 26 16:13 RST_WFI_ROSALIA_test_Orion_Belt_SCAWFI12.asdf
-rw-r--r-- 1 user staff 391M Nov 26 16:22 RST_WFI_ROSALIA_test_Orion_Belt_SCAWFI13.asdf
-rw-r--r-- 1 user staff 391M Nov 27 07:14 RST_WFI_ROSALIA_test_Orion_Belt_SCAWFI14.asdf
-rw-r--r-- 1 user staff 391M Nov 27 08:53 RST_WFI_ROSALIA_test_Orion_Belt_SCAWFI15.asdf
-rw-r--r-- 1 user staff 391M Nov 27 08:56 RST_WFI_ROSALIA_test_Orion_Belt_SCAWFI16.asdf
-rw-r--r-- 1 user staff 391M Nov 27 09:00 RST_WFI_ROSALIA_test_Orion_Belt_SCAWFI17.asdf
-rw-r--r-- 1 user staff 391M Nov 27 09:04 RST_WFI_ROSALIA_test_Orion_Belt_SCAWFI18.asdf
These 18 files represent a single Roman/WFI level 2 (calibrated, non-combined) exposure.
Analyze the stray-light level of the Roman/WFI exposures
- Let's analyze the Roman/WFI example image with ROSALIA. The script rosalia-stray will extract all the necessary information from the Roman/WFI exposure file metadata, and generate a series of ASDF and FITS files with the pixel-to-pixel flux level expected for this particular exposure.
rosalia-sky RST_WFI_ROSALIA_test_Orion_Belt_SCAWFI01.asdf
For more examples, please refer to the Documentation
What is ASDF? Where are the FITS files?
ASDF is the successor of FITS format and has been adopted since JWST . While GUI visualizers like SAODS9 are not yet compatible with ASDF, ROSALIA provides an easy way to extract most useful information from the ASDF files through exposure-inspector:
exposure-inspector RST_WFI_ROSALIA_test_Orion_Belt_SCAWFI01.asdf
exposure-inspector will print a series of fields containing basic information from the ASDF tree, including the name of the telescope, instrument, detector, and filter, pointing information like right ascension and declination, transmission curve of the filter, and the WCS of the header.
Roadmap
- Automatic queries of catalogs of bright sources.
- Gaia, 2MASS, WISE
- Horizons/JPL Solar System Objects
- Retrieval of stray-light blocking efficiency from ray-tracing models
- Ingestion of ASDF Roman/WFI simulated files (i.e., https://romanisim.readthedocs.io/en/latest/)
- Add diffraction modelling to Roman/WFI.
- Add thermal emission model (internal stray-light).
- Complete support for Hubble Space Telescope ACS & WFC3/IR.
- Automatic identification of SSOs in Roman/WFI observations.
See the open issues for a full list of proposed features (and known issues).
Contributing
Contributions are what make the open source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.
If you have a suggestion that would make ROSALIA better, there are two options.
- You can also simply open an issue with the tag "enhancement" (see below).
- Fork the repo and create a pull request.
- Email the PI's of the project (a.s.borlaff@nasa.gov) with your ideas.
Instructions for fork/pull contributions.
- Fork the Project
- Create your Feature Branch (
git checkout -b feature/AmazingFeature) - Commit your Changes (
git commit -m 'Add some AmazingFeature') - Push to the Branch (
git push origin feature/AmazingFeature) - Open a Pull Request
Top contributors:
License
ROSALIA © 2025 by Alejandro S. Borlaff is licensed under Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International.
Contact
Alejandro S. Borlaff - @asborlaff - a.s.borlaff@nasa.gov
Project Link: https://github.com/Borlaff/ROSALIA
Acknowledgments
Project details
Release history Release notifications | RSS feed
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 rosalia_wfi-0.9.6.tar.gz.
File metadata
- Download URL: rosalia_wfi-0.9.6.tar.gz
- Upload date:
- Size: 3.2 MB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
59af977a7f79d0a791be4177dd7721fe890f0ba7eeec353cb634314550547455
|
|
| MD5 |
1abd8242ff1f2e16ad31350402ecd8d6
|
|
| BLAKE2b-256 |
6385a838465c76d095d92e655191cc491fff17f797eb009d79c741d571526ac3
|
File details
Details for the file rosalia_wfi-0.9.6-py3-none-any.whl.
File metadata
- Download URL: rosalia_wfi-0.9.6-py3-none-any.whl
- Upload date:
- Size: 3.2 MB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ff4e543190d67c6e5b41ac8de40487949eeccec53ede64e7cca6ae5b59646db0
|
|
| MD5 |
beb5798d5ae0198baf7139798858561e
|
|
| BLAKE2b-256 |
f4ce61a296bdf60a883c562da98152214e2d292543c34cf9b99e709589c8bb83
|