Hubble Slitlessutils 2.0: A Forward-Modeling Python Replacement for aXe

STScI Newsletter
2026 / Volume 43 / Issue 01

About this Article



Russell Ryan (rryan[at]stsci.edu) and the Slitlessutils team

Published June 16, 2026

Wide-Field Slitless Spectroscopy (WFSS) observations from Hubble remain a key capability for low-resolution spectroscopy of all sources in a field. The community has long relied on aXe to reduce this data. We are pleased to share that we have released version 2.0 of the Slitlessutils package to replace aXe in most applications. The new software is designed to handle WFSS images obtained by Hubble’s Advanced Camera for Surveys (ACS) and Wide Field Camera 3 (WFC3).

Slitlessutils is written entirely in Python and uses most of the same, or similar, calibration files as aXe. Slitlessutils employs a full-forward-model that transforms the direct image and segmentation map into predicted WFSS images, capturing the wavelength-dependent flux distribution of every source.

The outputs of this forward model are cached and used by Slitlessutils to simulate WFSS images, extract one-dimensional spectra, create simple regions files highlighting the pixels for each source and spectral order, and group regions (i.e., regions whose spectral traces overlap in a collection of WFSS images). The simulation module includes a simplified noise model of each detector, but can also produce noiseless images, which are effectively equivalent to the contamination images generated by aXe.

Four-part image. Large graph on left half has y- and x-axes labeled direct (pix). Both range from 0 to 1,200. A simulated direct image within the graph shows five points scattered across the scene. At 600 on the x-axis, a short red arrow pointing to the top right ends before 800 and is labeled wavelength. On the right half are three thin horizontal graphs, all with the same y- and x-axes: grism (pix). Both range from 400 to 600, and 300 to 1,000, respectively. The top and middle graphs model a simulation of G102, with several horizontal lines appearing within the charts. The bottom chart models residuals.
Slitlessutils Simulations: The left side shows a simulated direct image of several Gaussian point sources with the relative position of a WFC3/IR G102 image in grey. The red arrow indicates the direction of increasing wavelength. At right, simulated G102 images are shown with spectral orders. At top and middle are modeled images that result from the multi-orient extraction technique. At bottom are the residuals, the data minus the model. For this example, we only modeled the +1 order, so the off orders (-1, 0, +2) are not shown.

For the extraction, Slitlessutils offers two modes: simple fixed aperture extraction and the linear-reconstruction methods developed by Ryan, Casertano, and Pirzkal (2018). The regions and grouping modules are useful to inspect the anticipated contamination, astrometric alignments, and other data introspection needs.

Additionally, Slitlessutils provides methods for several necessary preprocessing steps, including astrometric registration, background subtraction, and cosmic-ray flagging.

An extensive documentation suite describes the algorithms, calibrations, and relevant internal and external data structures. Slitlessutils also provides many examples for analysis and simulation of in-flight ACS and WFC3 data. These examples are provided as both a submodule that may be directly imported into Python and as Jupyter notebooks to provide interactive data exploration. The primary codes have docstrings that describe their APIs for users who may wish to extend Slitlessutils or develop additional capabilities.

There are several improvements planned for future versions of Slitlessutils. These may include support for ACS SBC observations; extension to Webb, including reorganization of the Hubble reference file structure to align with Webb’s; cleaner control of the fixed-aperture widths, the contamination model, and the preprocessing utilities; implementation of the IFU-like flux-cube spectral extraction; and non-uniform cross-dispersion weights either from calibrations (for point sources) or observed models (for extended sources).

Slitlessutils may be obtained directly from GitHub or installed from PyPI.

Share This Page

This site is protected by reCAPTCHA and the Google

Contact our News Team 

Contact our Outreach Office