Correct non-linearity with a polynomial mode.
corrImage = uncorrImage + sum_i c_i uncorrImage^(2 + i)
where c_i are the linearity coefficients for each amplifier.
Lower order coefficients are not included as they duplicate other
calibration parameters:
``"k0"``
A coefficient multiplied by uncorrImage**0 is equivalent to
bias level. Irrelevant for correcting non-linearity.
``"k1"``
A coefficient multiplied by uncorrImage**1 is proportional
to the gain. Not necessary for correcting non-linearity.
Definition at line 597 of file linearize.py.
def lsst.ip.isr.linearize.LinearizePolynomial.__call__ |
( |
|
self, |
|
|
|
image, |
|
|
** |
kwargs |
|
) |
| |
Correct non-linearity.
Parameters
----------
image : `lsst.afw.image.Image`
Image to be corrected
kwargs : `dict`
Dictionary of parameter keywords:
``"coeffs"``
Coefficient vector (`list` or `numpy.array`).
If the order of the polynomial is n, this list
should have a length of n-1 ("k0" and "k1" are
not needed for the correction).
``"log"``
Logger to handle messages (`logging.Logger`).
Returns
-------
output : `tuple` [`bool`, `int`]
If true, a correction was applied successfully. The
integer indicates the number of pixels that were
uncorrectable by being out of range.
Reimplemented from lsst.ip.isr.linearize.LinearizeBase.
Definition at line 614 of file linearize.py.