Task to correct an exposure for charge transfer inefficiency.
This uses the methods described by Snyder et al. 2021, Journal of
Astronimcal Telescopes, Instruments, and Systems, 7,
048002. doi:10.1117/1.JATIS.7.4.048002 (Snyder+21).
Definition at line 1198 of file deferredCharge.py.
| lsst.ip.isr.deferredCharge.DeferredChargeTask.flipData |
( |
| ampData, |
|
|
| amp ) |
|
static |
Flip data array such that readout corner is at lower-left.
Parameters
----------
ampData : `numpy.ndarray`, (nx, ny)
Image data to flip.
amp : `lsst.afw.cameraGeom.Amplifier`
Amplifier to get readout corner information.
Returns
-------
ampData : `numpy.ndarray`, (nx, ny)
Flipped image data.
Definition at line 1292 of file deferredCharge.py.
| lsst.ip.isr.deferredCharge.DeferredChargeTask.local_offset_inverse |
( |
| inputArr, |
|
|
| drift_scale, |
|
|
| decay_time, |
|
|
| num_previous_pixels = 15 ) |
|
static |
Remove CTI effects from local offsets.
This implements equation 10 of Snyder+21. For an image with
CTI, s'(m, n), the correction factor is equal to the maximum
value of the set of:
.. code-block::
{A_L s'(m, n - j) exp(-j t / \tau_L)}_j=0^jmax
Parameters
----------
inputArr : `numpy.ndarray`, (nx, ny)
Input image data to correct.
drift_scale : `float`
Drift scale (Snyder+21 A_L value) to use in correction.
decay_time : `float`
Decay time (Snyder+21 \tau_L) of the correction.
num_previous_pixels : `int`, optional
Number of previous pixels to use for correction. As the
CTI has an exponential decay, this essentially truncates
the correction where that decay scales the input charge to
near zero.
Returns
-------
outputArr : `numpy.ndarray`, (nx, ny)
Corrected image data.
Definition at line 1324 of file deferredCharge.py.
| lsst.ip.isr.deferredCharge.DeferredChargeTask.local_trap_inverse |
( |
| inputArr, |
|
|
| trap, |
|
|
| global_cti = 0.0, |
|
|
| num_previous_pixels = 6 ) |
|
static |
Apply localized trapping inverse operator to pixel signals.
This implements equation 13 of Snyder+21. For an image with
CTI, s'(m, n), the correction factor is equal to the maximum
value of the set of:
.. code-block::
{A_L s'(m, n - j) exp(-j t / \tau_L)}_j=0^jmax
Parameters
----------
inputArr : `numpy.ndarray`, (nx, ny)
Input image data to correct.
trap : `lsst.ip.isr.SerialTrap`
Serial trap describing the capture and release of charge.
global_cti: `float`
Mean charge transfer inefficiency, b from Snyder+21.
num_previous_pixels : `int`, optional
Number of previous pixels to use for correction.
Returns
-------
outputArr : `numpy.ndarray`, (nx, ny)
Corrected image data.
Definition at line 1371 of file deferredCharge.py.
| lsst.ip.isr.deferredCharge.DeferredChargeTask.run |
( |
| self, |
|
|
| exposure, |
|
|
| ctiCalib, |
|
|
| gains = None ) |
Correct deferred charge/CTI issues.
Parameters
----------
exposure : `lsst.afw.image.Exposure`
Exposure to correct the deferred charge on.
ctiCalib : `lsst.ip.isr.DeferredChargeCalib`
Calibration object containing the charge transfer
inefficiency model.
gains : `dict` [`str`, `float`]
A dictionary, keyed by amplifier name, of the gains to
use. If gains is None, the nominal gains in the amplifier
object are used.
Returns
-------
exposure : `lsst.afw.image.Exposure`
The corrected exposure.
Notes
-------
This task will read the exposure metadata and determine if
applying gains if necessary. The correction takes place in
units of electrons. If bootstrapping, the gains used
will just be 1.0. and the input/output units will stay in
adu. If the input image is in adu, the output image will be
in units of electrons. If the input image is in electron,
the output image will be in electron.
Definition at line 1208 of file deferredCharge.py.