NIRCam Multistripe Subarrays

The JWST NIRCam detector multistripe subarrays expand the normal subarray capabilities by allowing multiple substripes (rows of pixels) to be read out, sampling different locations on the detector, or re-sampling a single substripe multiple times, within the subarray frame time. The ability to split subarrays into multiple substripes is new for Cycle 4, and is only available for  NIRCam short wavelength grism time series capability, which is now available within the APT NIRCam Grism Time Series template.

On this page

Overview of multistripe subarray operations for H2RG detectors

Words in bold are GUI menus/
panels or data software packages; 
bold italics are buttons in GUI
tools or package parameters.

The detectors in the NIRCam, NIRSpec and NIRISS science instruments (as well as the Fine Guidance Sensor, FGS) have numerous capabilities, particularly in combination with the Application Specific Integrated Circuit (ASIC) that controls each H2RG detector. A new capability, named multistripe has been implemented for JWST Cycle 4. This capability allows multiple groups of rows, i.e., multiple horizontal stripes that need not be contiguous to be read out. The specific application that motivated the development of this capability was using the NIRCam Dispersed Hartmann Sensor (DHS). The DHS produces 10 spectra per each source in the SW field of view. The 10 spectra are separated by approximately 125 pixels. Multistripe  allows skipping over the gaps between the 10 spectra and thus reduces the overall frame time for subarray integrations on very bright sources. The shorter frame time primarily benefits the simultaneous exposures in the LW channel during time series grism spectroscopy obtained using the (updated for Cycle 4) Grism Time Series APT template. 

Multistripe configuration parameters

There are 4 primary parameters controlling the size, number and placement of substripes for a given subarray, as illustrated in Figure 1. All of the substripe parameters are pre-determined and presented in APT as a single subarray choice. The detail provided here is intended to provide a basic understanding of how multistripe exposures operate "under the hood": ovservers will not see them in APT or elsewhere in the planning tools.

Figure 1. Schematic showing multistripe subarrays and associated configuration parameters.

Notional placement and sizes of substripes in a multistripe subarray frame for the case of RepeatStripe set to false (left) or true (right). The dashed lines represent the extent of a single detector, red squares are the origin of the subarray commanding coordinate system, and the extent of the substripes is shown by the shaded or solid line rectangles. Rows of pixels in the Reads1 substripe are used to read the 4 rows of reference pixels in all NIRCam multistripe subarrays. In NIRCam's short wavelength channel Skips1, Reads2 and Skips2 values are optimized to read out 1, 2 or 4 spectra from the NIRCam DHS grisms on a given detector. In NIRCam's long wavelength channel RepeatStripe is true causing the same set of Reads2 rows of pixels to be read out multiple times during a subarray frame time; Skips2 has no effect when RepeatStripe is true.
The 4 primary multistripe commanding parameters are:

  • Reads1: Number of rows of pixels to read in the 1st substripe.
    • The position of the first row is controlled by the RowCorner of the subarray (configured prior to the start of a multistripe exposure).
    • Reads1 is typically set to 4, and the subarray RowCorner set to 1, so that 4 rows of reference pixels are read out at the start of each integration.
  • Skips1: Number of rows of pixels to skip after reading "Reads1" rows of pixels.
  • Reads2: Number of rows of pixels to read in the 2nd and subsequent substripes.
    Note: the number of substripes, nSubstripes, is not explicitly commanded, rather it is determined from the number of rows in the configured subarray, nRowsSubarray, and the values of "Reads1" and "Reads2" as:
        nSubstripes = (nRowsSubarray - Reads1) / Reads2, where nRowsSubarray, "Reads1" and "Reads2" are defined such that nSubstripes is an integer.
  • Skips2: Number of rows of pixels to skip between the first and subsequent sets of "Reads2" rows.

A 5th parameter, RepeatStripe, overrides the "Skips2" parameter, causing the same substripe of "Reads2" rows of pixels to be read out repeatedly during a subarray frame time,  and ignoring the value of "Skips2".

For NIRCam, a single subarray configuration is used on all detectors and in both the short and long wavelength channels for a given exposure. That subarray configuration determines the total number of rows and columns within the subarray and the resulting frame time. Multistripe subarrays obey this same logic, with the same number of rows, columns and frame time on all detectors, but the values of the 5 parameters above are individually configurable for each detector within those constraints. The flexibility to individually set the 5 parameters is used, for example, to sample multiple spectra from the target in the short wavelength channel (Figure 1 left panel) while simultaneously sampling the single spectrum from the target in the long wavelength channel (Figure 1 right panel). The cadence of sampling in the long wavelength channel is higher than in the short wavelength channel by a factor of the number of individual substripes in the short wavelength channel. Skipping over rows occurs during existing overheads, so the frame time for a multistripe subarray is the same as for a normal subarray of the same size.

Multistripe timing equations

The substripes of a multistripe subarray frame are read out within the normal frame time for that subarray: no additional overheads are incurred while stepping over the Skips1 or Skips2 rows of pixels. The current NIRCam multistripe subarrays are all read out through 4 outputs and are 2048 columns wide, and the overall subarray frame time for them is computed as usual:

tframe = ((Ncolumns / Noutputs + 12) × (Nrows + 1) + 1) × 10.00 µsec ,

The two +1 terms above represent overheads that occur once at the end of a completed subarray frame.

Because the two +1 terms occur only once per subarray frame, the time to read a substripe is shorter than the time to read a subarray of the same size:

tstripe = (Ncolumns / Noutputs + 12) × Reads# × 10.00 µsec, where Reads# is either "Reads1" or "Reads2". 

To obtain the total frame time in terms of the individual stripe times, the frame overhead needs to be added back:

tframe = tstripe(Reads1) + tstripe(Reads2) +  ((Ncolumns / Noutputs + 12) × 1 + 1) × 10.00 µsec,

which is equivalent to the first equation because Ncolumns and Noutputs are the same for all substripes in the subarray.

As mentioned above, when RepeatStripe is true, "Reads2" rows of pixels are read out repeatedly during the subarray frame time. The number of repetitions is given by the total number of rows in the subarray, nRowsSubarray minus Reads1, divided by Reads2: nRepeat = (nRowsSubarray - Reads1) / Reads2. (If RepeatStripe = false, the number of substripes is similarly given by nSubStripes =  (nRowsSubarray - Reads1) / Reads2.) Figure 2 is a comparison of the timing of reads within a subarray frame without and with RepeatStripe = true. For NIRCam grism time-series observations the short (long) wavelength channel uses RepeatStripefalse (true), respectively. Both channels have the same total frame time, but the Reads2 substripe in the long wavelength channel is read out once for each  substripe in the short wavelength channel, as shown in Figure 2. 

Figure 2. Timing of reads within a multistripe subarray frame vs. value of RepeatStripe

Click on the figure for a larger view.

Schematic showing the timing of substripe reads for 2 subarrays with the same value of Reads2, one consisting of 5 distinct substripes (RepeatStripe = false, left), and the other with 5 overlapping substripes (RepeatStripe = true, right). In the example at right the single substripe is sampled 5 times more frequently than at left. The solid red lines show the last (first) reset occurring at the beginning (end) of the integration. On the left, the triangles represent the readout of the first pixel of each substripe. The blue-red-blue color sequence of the triangle symbols represents the frames (or groups) within an integration (7 total in this case); the same color scheme is used in the right hand panel and shows the read time of the first pixel of the single substripe: that substripe is read out 5 times per frame time while each substripe at left is read out once per frame time. Note that readout of the Reads1 rows of pixels is not included in the figure: in both panels Reads1 rows would be read out prior to the first substripe sample.


Figure 3. Laboratory images illustrating a multistripe exposure with RepeatStripe = false

Left: Laboratory full frame image with illumination through a focal plane mask with 10 slits representing the 10 spectra produced by the NIRCam DHS grism element. Right: Individual subarray frames from a multistripe integration with the same illumination as in the left-hand panel. Black rectangles at left show the 10 substripes used in the multistripe exposure with RepeatStripe=false; images at right show how reads of the substripes are collected into a single subarray frame with intervening rows of pixels removed. At right, DN increases for all substripes for each frame during the integration.

Figure 4. Laboratory images illustrating a multistripe exposure with RepeatStripe = true

Left: Laboratory full frame image with illumination through a focal plane mask with 10 slits; the image from a single slit is used to represent the single spectrum from the long wavelength grism. Right: Individual subarray frames from a multistripe integration with the same illumination as in the left-hand panel. The black rectangle at left shows the single substripe used in the multistripe exposure with RepeatStripe = true; images at right show how multiple reads of the same substripe are collected into a single subarray frame. At right, DN increases for each repeated substripe within a subarray frame as well as for subsequent frames during the integration.



Latest updates
Originally published