LSST Applications  21.0.0-172-gfb10e10a+18fedfabac,22.0.0+297cba6710,22.0.0+80564b0ff1,22.0.0+8d77f4f51a,22.0.0+a28f4c53b1,22.0.0+dcf3732eb2,22.0.1-1-g7d6de66+2a20fdde0d,22.0.1-1-g8e32f31+297cba6710,22.0.1-1-geca5380+7fa3b7d9b6,22.0.1-12-g44dc1dc+2a20fdde0d,22.0.1-15-g6a90155+515f58c32b,22.0.1-16-g9282f48+790f5f2caa,22.0.1-2-g92698f7+dcf3732eb2,22.0.1-2-ga9b0f51+7fa3b7d9b6,22.0.1-2-gd1925c9+bf4f0e694f,22.0.1-24-g1ad7a390+a9625a72a8,22.0.1-25-g5bf6245+3ad8ecd50b,22.0.1-25-gb120d7b+8b5510f75f,22.0.1-27-g97737f7+2a20fdde0d,22.0.1-32-gf62ce7b1+aa4237961e,22.0.1-4-g0b3f228+2a20fdde0d,22.0.1-4-g243d05b+871c1b8305,22.0.1-4-g3a563be+32dcf1063f,22.0.1-4-g44f2e3d+9e4ab0f4fa,22.0.1-42-gca6935d93+ba5e5ca3eb,22.0.1-5-g15c806e+85460ae5f3,22.0.1-5-g58711c4+611d128589,22.0.1-5-g75bb458+99c117b92f,22.0.1-6-g1c63a23+7fa3b7d9b6,22.0.1-6-g50866e6+84ff5a128b,22.0.1-6-g8d3140d+720564cf76,22.0.1-6-gd805d02+cc5644f571,22.0.1-8-ge5750ce+85460ae5f3,master-g6e05de7fdc+babf819c66,master-g99da0e417a+8d77f4f51a,w.2021.48
LSST Data Management Base Package
Public Member Functions | Static Public Attributes | List of all members
lsst.ip.isr.linearize.LinearizeSpline Class Reference
Inheritance diagram for lsst.ip.isr.linearize.LinearizeSpline:
lsst.ip.isr.linearize.LinearizeBase

Public Member Functions

def __call__ (self, image, **kwargs)
 

Static Public Attributes

string LinearityType = "Spline"
 

Detailed Description

Correct non-linearity with a spline model.

corrImage = uncorrImage - Spline(coeffs, uncorrImage)

Notes
-----

The spline fit calculates a correction as a function of the
expected linear flux term.  Because of this, the correction needs
to be subtracted from the observed flux.

Definition at line 690 of file linearize.py.

Member Function Documentation

◆ __call__()

def lsst.ip.isr.linearize.LinearizeSpline.__call__ (   self,
  image,
**  kwargs 
)
Correct for 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`).
    ``"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 705 of file linearize.py.

705  def __call__(self, image, **kwargs):
706  """Correct for non-linearity.
707 
708  Parameters
709  ----------
710  image : `lsst.afw.image.Image`
711  Image to be corrected
712  kwargs : `dict`
713  Dictionary of parameter keywords:
714  ``"coeffs"``
715  Coefficient vector (`list` or `numpy.array`).
716  ``"log"``
717  Logger to handle messages (`logging.Logger`).
718 
719  Returns
720  -------
721  output : `tuple` [`bool`, `int`]
722  If true, a correction was applied successfully. The
723  integer indicates the number of pixels that were
724  uncorrectable by being out of range.
725  """
726  splineCoeff = kwargs['coeffs']
727  centers, values = np.split(splineCoeff, 2)
728  interp = afwMath.makeInterpolate(centers.tolist(), values.tolist(),
729  afwMath.stringToInterpStyle("AKIMA_SPLINE"))
730 
731  ampArr = image.getArray()
732  delta = interp.interpolate(ampArr.flatten())
733  ampArr -= np.array(delta).reshape(ampArr.shape)
734 
735  return True, 0
736 
737 
Interpolate::Style stringToInterpStyle(std::string const &style)
Conversion function to switch a string to an Interpolate::Style.
Definition: Interpolate.cc:256
std::shared_ptr< Interpolate > makeInterpolate(std::vector< double > const &x, std::vector< double > const &y, Interpolate::Style const style=Interpolate::AKIMA_SPLINE)
A factory function to make Interpolate objects.
Definition: Interpolate.cc:342

Member Data Documentation

◆ LinearityType

string lsst.ip.isr.linearize.LinearizeSpline.LinearityType = "Spline"
static

Definition at line 703 of file linearize.py.


The documentation for this class was generated from the following file: