Overview of WebbPSF

A brief overview of WebbPSF is given in this article. We discuss the motivation for  WebbPSF , its basic infrastructure, and some of the key inputs for generating Roman PSFs.


WebbPSF is an easy-to-use Python package to simulate the point spread function (PSF) for James Webb and the Roman space telescope optics. The software provides a highly flexible and scriptable toolkit for simulating a wide range of observing modes and science scenarios, using efficient computational methods (e.g. optional parallelization and use of GPUs) and the latest mission-specific reference data. 

The current version of WebbPSF for Roman implements the imaging mode in all filters as well as the Prism and Grism modes (i.e. undispersed PSF) for the Wide-Field Instrument (WFI). It also includes a prototype coronographic mode for the CoronoGraph Instrument. The software also provides a suite of tools for quantifying PSF properties such as full width at half maximum (FWHM), encircled energy, Strehl ratio, etc.


Note

Despite its name, WebbPSF also supports simulating PSFs for the Nancy Grace Roman Space Telescope, including its Wide Field Instrument (WFI) and a preliminary version of the Coronagraph Instrument.


Why WebbPSF

PSF simulations are useful for informing the types of science that will be possible with any given telescope as well as for developing ancillary processing and analysis tools that will support the mission. As such, WebbPSF simulations are based on various observatory design parameters and and as-built telescope and instrument properties. WebbPSF simulations are a key building block in higher-level observatory simulators, including STIPS Space Telescope Imaging Product Simulator, Pandeia the Exposure Time Calculator , and RomanISim Roman WFI Image Simulator


How to work with WebbPSF 

At a high level, WebbPSF simulates point spread functions by (1) specifying the pupil and incoming aberrated wavefront and (2) propagating the resulting wavefront through the optical system under the assumption of plane-wave Fraunhofer diffraction, which is implemented using Fast Fourier transform(s). The tool incorporates the properties of relevant optics such as bandpass filters and pupil plane masks (for coronagraphic imaging) as well as the location, orientation, and pixel scales at the detector plane. A more detailed discussion of the algorithms can be found in the readthedocs documentation for WebbPSF and the readthedocs documentation for the Poppy software.

Upon the instantiation of a WFI object, the software automatically populates the instrument model with the appropriate filters, pupils, aberration interpolators, etc., and it is straightforward to then generate a PSF, as shown below.  By default, PSFs are polychromatic, where the wavelength sampling is done over the bandwidth of the selected filter, but the user may override the calculation to produce monochromatic PSFs.  Moreover, the software will automatically update the field-dependent aberrations and the pupil mask upon selecting a different detector and/or filter.

WebbPSF for Roman example
import webbpsf

wfi = webbpsf.WFI()

wfi.filter = 'F106'
wfi.detector = 'SCA10'
wfi.detector_position = (1048, 1048)

wfi.calc_psf(display=True)

An example WFI PSF calculation from WebbPSF using filter F106. There are four figures, three showing the PSF phase at different points in the optical path, and the fourth image is the 12 pointed PSF recorded by the WFI detector.

Example PSF calculation for Roman using WebbPSF.

  Attributes of the WFI object can be checked for a complete list of available filters, detectors, and pupil masks:

Examples of useful attributes of the WFI class
wfi.filter_list
wfi.detector_list
wfi.pupil_mask_list

More examples are given in the WebbPSF Tutorials article as well as on the readthedocs documentation.

Finally, WebbPSF also implements the GriddedPSFModel class from  Photutils that allows the user to generate a large number of individual PSFs effectively by interpolating PSFs from a grid of models, i.e. without having to perform a full PSF calculation at each location. We refer the interested user to the PSF Grids documentation on readthedocs.


Roman-specific Input Data

WebbPSF for Roman uses the same tool core functionalities as JWST; only the telescope and instrument models that specify the actual optical system are different. The optical system is specified using Roman-specific data, which include the filter transmission curves, the pupil masks (which vary with detector and filters), as well as the field-dependent aberrations. These data are taken from the Cycle 9 instrument reference information, which were generated and delivered by the Roman team at Goddard Space Flight Center (GSFC).

Below, we show the filter transmission curves as well as the entrance pupil as a function of SCA and filter.

This figure shows the WFI figure throughput curves for the Roman filters, with wavelength in micrometers on the X axis and the transmission fraction on the Y axis. Each filter is shown in a different color. The transmission curves are typically rectangular in shape, with a steep rise on each side and a plateau across the width of the transmission curve. The throughput curves show that the Roman filters cover a wavelength range of approximately 0.5 to 2.35 micrometers. The majority of the filters have a transmission fraction of approximately 0.65.

Transmission curves for Roman WFI.



Animation showing the variation of the entrance pupil as a function of SCA and filter.


The field-dependent aberrations used in WebbPSF are provided in the forms of Noll Zernike coefficients at five field points for each of the 18 detectors. WebbPSF interpolates these Zernike coefficients both in position and wavelength to calculate the total wavefront at a specific position on any given detector, which is then used to calculate the PSF. Below, we show the variation of three Zernikes (defocus, 0-degree and 45-degree astigmatism; Z4, Z5, Z6 respectively) over all 18 detectors at 0.48 μm. 


Examples of the variation of the first three Zernikes over the WFI focal plane array, as taken from the Cycle 9 reference data. The reference data include Zernikes up to Z22.


WebbPSF calculates PSFs by simulating an instrument's response to a source spectrum, and users can tailor both the instrument and the source to fit their intended purposes.

Modifiable parameters pertaining to the instrumentation include:

  • the desired Input Parameter WFI detector
  • Input Parameter PSF location
  • Input Parameter filter
  • Input Parameter pupil mask .

For input spectrum, WebbPSF can:

  • take a custom input
  • assume a flat spectrum
  • assume a stellar spectrum.

WebbPSF Tutorials includes more information on how these options work in practice. The PSF simulation process is amenable to both usage in interactive sessions and batch scripting to serve as input for another purpose. For example, both STIPS Space Telescope Imaging Product Simulator and Pandeia the Exposure Time Calculator use  WebbPSF on the back end to carry out some of their operations.

WebbPSF also offers instrument-agnostic tools for calculating and visualizing commonly-sought properties of existing PSFs, such as the full width at half maximum (FWHM) or radial profile. See the Detailed API Reference for a full list of available properties.




Development

Users interested in contributing to the ongoing development of WebbPSF may clone or fork from the main Github repository.  Pull requests with code enhancements are welcomed.




For additional questions not answered in this article, please contact the Roman Help Desk at STScI.




References

In addition to this documentation, WebbPSF is described in the following references. Users are encouraged to cite one of these publications:

  1. Perrin et al. 2014, “Updated point spread function simulations for JWST with WebbPSF”, Proc. SPIE. 9143,
  2. Perrin et al. 2012, “Simulating point spread functions for the James Webb Space Telescope with WebbPSF”, Proc SPIE 8842, and

  3. Perrin 2011, "Improved PSF Simulations for JWST: Methods, Algorithms, and Validation", JWST Technical report JWST-STScI-002469.

Additionally, this page uses data from the Cycle 9 instrument reference information, which were generated and delivered by the Roman team at Goddard Space Flight Center (GSFC).




 
Latest Update

 

Updated for version 1.2.1.
Publication

 

Initial publication of the article.