Overview of STIPS
This article provides an overview of the Space Telescope Imaging Product Simulator (STIPS) software for the Nancy Grace Roman Space Telescope (Roman) Wide Field Instrument (WFI), how to install it, and the minimum requirements for a successful simulation.
Code Description
STIPS is a simulation tool for the Roman WFI, capable of quickly generating images of the entire WFI array of detectors. STIPS depends on the Pandeia exposure time calculator and the WebbPSF point spread function (PSF) generator to create these simulations. Users can choose to simulate between 1 and 18 SCAs in any of the WFI imaging filters, insert any number of point or extended sources, and specify a sky background estimate. STIPS will scale input fluxes to observed values, retrieve appropriate PSFs, interpolate to the positions of the sources, and add in additional noise terms.
As described in the Caveats to Using STIPS for Roman, neither pixel saturation nor non-linearity residuals are currently supported.
Installing STIPS
STIPS depends on related simulation packages, such as WebbPSF and Pandeia , as well as several other Python packages. These underlying packages and their supporting datasets must be installed. The full list of dependencies and their versions is maintained in the readthedocs installation documentation. To prevent conflicts with package versions, users are encouraged to install STIPS in its own environment.
Pandeia version 3.1 or high is needed for STIPS to simulate the WFI observations. Pandeia for Roman can be installed by doing the following:
pip install pandeia.engine==2024.12
STIPS can be installed using the source code, available in the STScI-STIPS Gihub Repository, and a Conda environment file. Step-by-step installation instructions are maintained in the readthedocs documentation. To install Conda from scratch, please visit the Anaconda documentation.
Reference Data
In addition to the main code, several sets of reference data are required to support the STIPS , Pandeia , and WebbPSF software. Step-by-step instructions for retrieving the reference data and setting environmental variables are maintained in the readthedocs documentation.
Testing an Installation
Once STIPS is installed, or to verify an existing installation, the software versions can be checked against the versions in the readthedocs installation documentation using the code below.
import stips print(stips.__env__report__)
The output will resemble the one given below, where the place holders x.y.z and a.b.c should match the requirements in the readthedocs installation documentation.
STIPS Version x.y.z with Data Version x.y.z at /Some/Path/To/stips_data STIPS Grid Generated with x.y.z Pandeia version a.b.c with Data Version a.b.c. at /Some/Path/To/pandeia_refdata Webbpsf Version d.e.f with Data Version d.e.f at /Some/Path/To/webbpsf_data_path
STIPS Workflow
The STIPS workflow occurs in three steps: creating an astronomical scene to observe, designing the observation of the scene, and executing the observation. Each part is discussed below.
Creating an Astronomical Scene
STIPS can simulate an astronomical scene to observe using two methods: 1) through user-defined input catalogs and 2) through simulated catalogs with stellar populations and background galaxies using STIPS’ SceneModule class.
- User defined catalogs may be formatted as IPAC text or as a FITS BinTable, both of which are accessible via the Astropy Table API. For more information on any of the available catalog formats, visit the ReadTheDocs documentation.
- Simulated catalogs can be generated using the SceneModule class by defining a set of populations parameters for either point or extended sources (see examples in the STIPS Tutorials). These catalogs can be used as the primary astronomical scene or as injected artificial sources into an existing one. The available parameters to create simulated sources are given below.
Parameters for Stellar Population
- Number of point sources
- Upper and lower limit of the age of the stars (in years)
- Upper and lower limit of the metallicity of the stars
- Initial Mass Funtion
- Binary fraction
- Clustering (true/false)
- Distribution type (Uniform, Inverse power-law)
- Total radius of the population
- Distance of the population
- Offset RA and DEC from the center of the scene being created
Parameters for Galaxy Sources
- Number of galaxies
- Upper and lower limit of the redshift
- Upper and lower limit of the galactic radii
- Range of V-band surface brightness magnitudes
- Clustering (true/false)
- Distribution type (Uniform, Inverse power-law)
- Radius of the distribution
- Offset RA and DEC from the center of the scene being created
Designing the Observation of the Scene
STIPS Inputs
The main object in STIPS is the ObservationModule , which represents a set of exposures with a single instrument (WFI), one or more filters, one or more SCAs (between 1 and 18), a single exposure time (applied to each exposure in the observation), one or more offsets, a sky background and noise residuals. Unlike other Roman simulators, STIPS does not take in Multi Accumulation tables (MA Tables), but instead takes in a fixed exposure time in seconds as an input.
The ObservationModule takes four inputs:
- obs – a Python dictionary that specifies the parameters of the Observation
- output_prefix – user-specified name of the output file’s prefix
- ra, dec – the central coordinates of the field to be simulated
- residual – the error residuals from flat, dark, cosmic ray, Poisson noise, and readnoise
The Observation Dictionary
The Observation dictionary, here called obs , contains the elements of a WFI observation. The Table of Elements in an Observation Dictionary provides a description of its components.
Table of Elements in an Observation Dictionary
Element | Description | Data Type | Allowed Values | |
---|---|---|---|---|
instrument | Name of the instrument to simulate | String | WFI | |
filters | Name(s) of the filter(s) to simulate | List of Strings | One or more of the following: F062 , F087 , F106 , F129 , F146 , F158 , F184 , F213 | |
detectors | Number of detectors to simulate | Integer | Any number from 1 to 18 detectors. (Please see the Panel C of the Figure of Detectors and Focal Plane Array for information about which number corresponds to which detector.) | |
observations_id | Observation label | Integer | Any integer value to label the observation | |
exptime | Simulated exposure time in seconds | Float | Any float | |
distortion | Geometric distortion applied to each detector; Turn on (True) or off (False) | Boolean | True/False | |
offsets | Dictionary that configures an offset location from the input coordinates, used to create mosaics | List of Dictionaries | The dictionary contains the following elements:
| |
background | Parameter that defines what background model is used, or a custom value. | String | The options are: p | |
residuals | Dictionary that configures the noise residuals; noise residuals can be turned on (True) or off (False). | List of Dictionaries | The dictionary contains the following elements:
| |
fast_galaxy | If True, it uses a method that produces less accurate flux values, but is ~8 times faster at injecting extended sources. | Boolean | True/False |
Executing the Observation
Once the inputs are created, STIPS performs a number of tasks:
- An observation is initialized for the specified SCAs and filters at the input coordinates.
- The WebbPSF library is uploaded, which comprises PSFs generated on a 3 by 3 grid for each detector. The default PSFs are sampled at 4 times the native resolution. Inter-Pixel Capacitance (IPC) is applied to the PSF. Additional information on the PSF grids is maintained on the readthedocs documentation.
- For each input in the source catalog:
- An optimal PSF shape is created at the location of the source by interpolating the four closest PSFs in the PSF grid using bilinear interpolation.
- The optimal PSF is then centered at the specified source location in the simulated image. To accurately measure the contribution of the PSF on each pixel, a bicubic interpolation function is used.
- If specified, noise residuals and a background level are added to the image.
- The simulated image is saved as a Flexible Image Transport System (FITS) format file.
In addition to the simulated images in FITS format, STIPS can output:
- Observed Catalogues (text)
- PSF Images (FITS)
- Quicklook Images (PNG)
For additional questions not answered in this article, please contact the Roman Help Desk at STScI.
References
In addition to this documentation, STIPS is described in the following references. Users are encouraged to cite this publication:
- STIPS Development Team et al 2024, "STIPS: The Nancy Grace Roman Space Telescope Imaging Product Simulator", PASP 136 124502