Saturation Check

This step flags saturated pixels by going through all the groups and integrations within an exposure and comparing them with the defined saturation threshold for each pixel, as given in the saturation reference file. The saturation limit can refer to one of three thresholds:

  • the threshold beyond which the linearity correction exceeds a particular accuracy requirement (e.g., 0.25% accuracy in the corrected value),
  • the A/D saturation limit of 65535 ADU in the raw data, or
  • the pixel full-well value.

At present, the pipeline does not distinguish among these thresholds. Header comments in the reference file should indicate which threshold is employed. The saturation check is performed on data that have not been bias (first group) subtracted, so saturation levels should be computed accordingly.

Test Requirements

Requirement Fulfilled by
Check that the saturation flag is set when a pixel is above the threshold given by the reference file. test_groupdq_flagging
Once it is flagged as saturated in a group all subsequent groups should also be flagged as saturated. test_groupdq_flagging
Check that pixels in the reference files that have value NaN are not flagged as saturated in the data and that in the PIXELDQ array the pixel is set to NO_SAT_CHECK. test_groupdq_flagging

Test Procedure

To run these tests the config.json should contain the "saturation" section for example:

{
    "saturation": [
        "saturation/jw82600004001_02101_00001_nrcb1_dqinitstep.fits"
    ]
}

Using the above config.json simply run:

test_pipeline --config config.json

Reference/API

caltest.test_caldetector1.test_saturation Module

Functions

dq_summary(pixeldq)
extract_subarray(array, hdul)
fits_output(fits_input)
fits_saturation(fits_output)
test_groupdq_flagging(fits_output, …)
test_pixeldq_propagation(fits_input, …)
test_saturation_step(fits_input) Make sure the DQInitStep runs without error.
translate_dq(ref_hdul)