The response of the NICMOS detectors is inherently nonlinear. As was described in
Section 3.3.2, the
calnica pipeline applies a nonlinearity correction with the step NLINCORR. Early nonlinearity calibrations, used for all Cycle 7 and 7N data processed retrieved from the
HST Archive before 26 September 2001, used a low-order correction, which worked well for most purposes. However, the STScI NICMOS group has subsequently re-calibrated the detector nonlinearities and produced improved NLINFILE reference files. There are two significant changes:
The new nonlinearity reference files are now used by default when data are retrieved from the archive and processed by OTFR. Version 3.3 and later versions of
calnica accommodate second order correction scheme used in the new reference files.
As described in Section 4.2.2 above, the first non-destructive readout after a reset provides the reference bias level for the counts in each pixel of a NICMOS science image. This “zeroth readout” is transmitted to the ground with MULTIACCUM data, but is directly subtracted from the final readouts on-board the telescope for all the other readout modes. Due to physical limitation in the readout speed, the zeroth read happens 0.203 seconds after the reset of the detector. NICMOS does not have a shutter, and therefore when a bright source is being observed, a non-negligible amount of charge may accumulate on the detector by the time the zeroth read is performed, enough to significantly affect detector nonlinearity. However, zeroth read subtraction is the first step of the calibration processing for MULTIACCUM data (ZOFFCORR in
calnica), and is automatically done on-board the telescope from the final read in a ACCUM exposure. The zeroth read signal information is therefore lost before nonlinearity correction (NLINCORR in
calnica) is performed, and for bright sources this correction may therefore be inaccurate.
In November 1997, an additional step was added to the calnica pipeline processing software (version 3.0 and higher) to account for this zero read signal correction, and an additional keyword, ZSIGCORR, was included in NICMOS image headers to control this step. The ZSIGCORR step computes an estimate of the number of counts for each pixel in the zeroth readout of a MULTIACCUM, based on the count rate measured later in the exposure. This information is then used in the NLINCORR step to estimate the absolute charge in each pixel and the appropriate linearity correction for that charge level. The optional
calnica parameter
zsthresh controls a threshold above which the ZSIGCORR correction is made.
Pipeline-processed data that were retrieved from the STScI Archive before November 1997 has no ZSIGCORR correction. When reprocessing such data, the current version of
calnica will automatically apply this step to all MULTIACCUM mode observations if both ZOFFCORR and NLINCORR are also being performed.
Occasionally, for reasons which are not fully understood, NICMOS MULTIACCUM images of bright targets will saturate at an ADU level which is below the nominal saturation threshold specified in the nonlinearity calibration reference file. This could happen, for example, when the variable quadrant bias levels (pedestal) are at unusually large values. When this happens, the accumulating counts vs. time for the affected pixels level out at the saturated value. However, because the saturation flag is not set at the NLINCORR stage of
calnica, when the CRIDCALC step fits “up the ramp” of counts vs. time to determine the count rate slope, it does not know to exclude the saturated data values, and fits a linear slope to a highly nonlinear data set. Among other unpleasant consequences, this tends to trigger the CRIDCALC cosmic ray detection flags, causing wholesale rejection of many or most time steps for the affected pixel. Images which have been affected by this problem will generally have anomalously low count rates for bright pixels, but the saturation flag (64) will not be set in the DQ arrays.
The simplest cure is to modify the nonlinearity reference file to reduce the threshold where saturation flagging is triggered, and then to reprocess the data. The saturation level for each pixel is set in the
[NODE,2] extension of the nonlinearity reference file. As an example, let us say that the science image is called
n4ux22hbq_raw.fits and the corresponding nonlinearity reference file is
h7n1654cn_lin.fits. We reduce the saturation threshold by 5%, edit the science image primary header to point to the new reference file, and reprocess:
If the problem reoccurs, reduce the [NODE,2] values further until the saturation threshold is properly triggered.