Overview of STIPS

This article provides an overview of the Space Telescope Imaging Product Simulator (STIPS) software for ithe 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 generating images of the entire WFI array of 18 sensor chip assemblies (SCAs). 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, like WebbPSF and Pandeia , as well as on a number of other Python packages. These underlying packages and their supporting datasets must be installed; the full list of dependencies and their versions is maintained with the readthedocs installation documentation. To prevent conflicts with package versions, users are encouraged to install STIPS in its own environment.

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.

Installation Test
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 current requirements in the readthedocs installation documentation.

STIPS Env Report
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 two steps: preparing inputs for the astronomical scene and finalizing the observation. Each part is discussed below. 

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.

The ObservationModule has two main inputs:

  1.   Input Parameter obs – a Python dictionary that specifies the parameters of the Observation, and
  2.   Input Parameter catalog – an input catalog that provides the locations and specifications of the sources in the astronomical scene.

The Observation Dictionary

The Observation dictionary, here called Input Parameter 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 

ElementDescriptionData TypeAllowed Values 
instrumentName of the instrument to simulateStringWFI
filtersName(s) of the filter(s) to simulateList of StringsOne or more of the following: F062, F087, F106, F129, F146, F158, F184, F213
detectorsNumber of detectors to simulateIntegerAny number from 1 to 18 detectors
observations_idObservation labelIntegerAny integer value to label the observation
exptimeSimulated exposure time in secondsFloatAny float
distortionGeometric distortion applied to each detector; Turn on (True) or off (False)BooleanTrue/False
offsetsDictionary that configures an offset location from the input coordinates, used to create mosaics

List of Dictionaries

The dictionary contains the following elements:
  • offset identifier: offset_id (integer)
  • offset Right Ascension: offset_ra (float)
  • offset Declination: offset_dec (float)
  • offset position angle: offset_pa (float)
backgroundParameter that defines what background model is used, or a custom value.

String

The options are: pandeia, none , min, max, med, or a custom value input in this field.
(warning)  min, max, med refer to the minimum, maximum, or medium of the Zodiacal light

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:

  • flat field residuals: residual_flat (True/False)
  • dark residuals: residual_dark (True/False)
  • cosmic ray residuals: residual_cosmic  (True/False)
  • poisson noise residuals: residual_poisson (True/False)
  • read noise residuals: residual_readnoise (True/False)



Input Catalog

STIPS supports either user defined catalogs or can generate simulated catalogs of sources based on population parameters. 

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 by defining as set of populations parameters for either point or extended sources (see examples in the STIPS Tutorials), and 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
  • Age of the stars in years (set via the input of an upper and lower age limit)
  • Metallicity of the stars (set via the input of an upper and lower metallicity limit)
  • IMF
  • 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


Finalizing an Image

Once the inputs are created,  STIPS performs a number of tasks:

  1. An observation is initialized for the user specified SCAs and filters at the input coordinates.
  2. The WebbPSF library is uploaded, which is comprised of 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.
  3. For each input source in the catalog:
    1. An optimal PSF shape is created at the location of the source by interpolating the four closest PSFs in the PSF grid. This process uses bilinear interpolation.
    2. 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.
  4. If specified, noise residuals and a background level are added to the image.
  5. The simulated image is saved as a Flexible Image Transport System (FITS) format file.


Latest Update

 

Revision for STIPS v2.1 and expansion of 
Publication

 

Initial publication of the article.