A Classic Nonlinearity Correction Algorithm for Detectors Read Out Up-the-ramp
/ Authors
/ Abstract
We derive an algorithm for computing a classic nonlinearity correction—applicable to constant and uniform illumination—in the presence of read noise and photon noise. The algorithm operates simultaneously on many nondestructive ramps at a range of count rates and directly computes the function transforming measured counts into linearized counts. We also compute χ2 for the corrected ramps, enabling the user to identify the polynomial degree beyond which χ2 ceases to improve significantly. The computational cost of our algorithm is linear in the number of reads and ramps, reaching ∼100 hr to derive a correction for all 4096 × 4096 pixels of a Hawaii-4 RG detector from 186 illuminated 55-read ramps on a 2023 Macbook Pro laptop (≈10,000 reads per pixel). We identify a potential source of bias in the nonlinearity correction when combining ramps of very different illuminations, together with effective mitigations. We apply our algorithm to a random set of pixels from the Roman Space Telescope’s Wide Field Instrument. We find that a ≥9th order nonlinearity correction is needed, at which point χ2 is close to its theoretically expected value and beyond which χ2 improves little with increasing polynomial order. Python software implementing our algorithm is available at https://github.com/RomanSpaceTelescope/SOCReferenceFileCode.
Journal: Publications of the Astronomical Society of the Pacific