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) |