lsst.cp.pipe  20.0.0-4-gf68bb90+2
Classes | Functions
lsst.cp.pipe.utils Namespace Reference

Classes

class  NonexistentDatasetTaskDataIdContainer
 
class  PairedVisitListTaskRunner
 
class  SingleVisitListTaskRunner
 

Functions

def countMaskedPixels (maskedIm, maskPlane)
 
def parseCmdlineNumberString (inputString)
 
def fitLeastSq (initialParams, dataX, dataY, function)
 
def fitBootstrap (initialParams, dataX, dataY, function, confidenceSigma=1.)
 
def funcPolynomial (pars, x)
 
def funcAstier (pars, x)
 
def checkExpLengthEqual (exp1, exp2, v1=None, v2=None, raiseWithMessage=False)
 
def validateIsrConfig (isrTask, mandatory=None, forbidden=None, desirable=None, undesirable=None, checkTrim=True, logName=None)
 

Function Documentation

◆ checkExpLengthEqual()

def lsst.cp.pipe.utils.checkExpLengthEqual (   exp1,
  exp2,
  v1 = None,
  v2 = None,
  raiseWithMessage = False 
)
Check the exposure lengths of two exposures are equal.

Parameters:
-----------
exp1 : `lsst.afw.image.exposure.ExposureF`
    First exposure to check
exp2 : `lsst.afw.image.exposure.ExposureF`
    Second exposure to check
v1 : `int` or `str`, optional
    First visit of the visit pair
v2 : `int` or `str`, optional
    Second visit of the visit pair
raiseWithMessage : `bool`
    If True, instead of returning a bool, raise a RuntimeError if exposure
times are not equal, with a message about which visits mismatch if the
information is available.

Raises:
-------
RuntimeError
    Raised if the exposure lengths of the two exposures are not equal

Definition at line 324 of file utils.py.

◆ countMaskedPixels()

def lsst.cp.pipe.utils.countMaskedPixels (   maskedIm,
  maskPlane 
)
Count the number of pixels in a given mask plane.

Definition at line 37 of file utils.py.

◆ fitBootstrap()

def lsst.cp.pipe.utils.fitBootstrap (   initialParams,
  dataX,
  dataY,
  function,
  confidenceSigma = 1. 
)
Do a fit using least squares and bootstrap to estimate parameter errors.

The bootstrap error bars are calculated by fitting 100 random data sets.

Parameters
----------
initialParams : `list` of `float`
    initial values for fit parameters. For ptcFitType=POLYNOMIAL, its length
    determines the degree of the polynomial.

dataX : `numpy.array` of `float`
    Data in the abscissa axis.

dataY : `numpy.array` of `float`
    Data in the ordinate axis.

function : callable object (function)
    Function to fit the data with.

confidenceSigma : `float`
    Number of sigmas that determine confidence interval for the bootstrap errors.

Return
------
pFitBootstrap : `list` of `float`
    List with fitted parameters.

pErrBootstrap : `list` of `float`
    List with errors for fitted parameters.

reducedChiSqBootstrap : `float`
    Reduced chi squared.

Definition at line 222 of file utils.py.

◆ fitLeastSq()

def lsst.cp.pipe.utils.fitLeastSq (   initialParams,
  dataX,
  dataY,
  function 
)
Do a fit and estimate the parameter errors using using scipy.optimize.leastq.

optimize.leastsq returns the fractional covariance matrix. To estimate the
standard deviation of the fit parameters, multiply the entries of this matrix
by the unweighted reduced chi squared and take the square root of the diagonal elements.

Parameters
----------
initialParams : `list` of `float`
    initial values for fit parameters. For ptcFitType=POLYNOMIAL, its length
    determines the degree of the polynomial.

dataX : `numpy.array` of `float`
    Data in the abscissa axis.

dataY : `numpy.array` of `float`
    Data in the ordinate axis.

function : callable object (function)
    Function to fit the data with.

Return
------
pFitSingleLeastSquares : `list` of `float`
    List with fitted parameters.

pErrSingleLeastSquares : `list` of `float`
    List with errors for fitted parameters.

reducedChiSqSingleLeastSquares : `float`
    Unweighted reduced chi squared

Definition at line 164 of file utils.py.

◆ funcAstier()

def lsst.cp.pipe.utils.funcAstier (   pars,
  x 
)
Single brighter-fatter parameter model for PTC; Equation 16 of Astier+19.

Parameters
----------
params : `list`
    Parameters of the model: a00 (brightter-fatter), gain (e/ADU), and noise (e^2).

x : `numpy.array`
    Signal mu (ADU).

Returns
-------
C_00 (variance) in ADU^2.

Definition at line 305 of file utils.py.

◆ funcPolynomial()

def lsst.cp.pipe.utils.funcPolynomial (   pars,
  x 
)
Polynomial function definition
Parameters
----------
params : `list`
    Polynomial coefficients. Its length determines the polynomial order.

x : `numpy.array`
    Signal mu (ADU).

Returns
-------
C_00 (variance) in ADU^2.

Definition at line 288 of file utils.py.

◆ parseCmdlineNumberString()

def lsst.cp.pipe.utils.parseCmdlineNumberString (   inputString)
Parse command line numerical expression sytax and return as list of int

Take an input of the form "'1..5:2^123..126'" as a string, and return
a list of ints as [1, 3, 5, 123, 124, 125, 126]

Definition at line 79 of file utils.py.

◆ validateIsrConfig()

def lsst.cp.pipe.utils.validateIsrConfig (   isrTask,
  mandatory = None,
  forbidden = None,
  desirable = None,
  undesirable = None,
  checkTrim = True,
  logName = None 
)
Check that appropriate ISR settings have been selected for the task.

Note that this checks that the task itself is configured correctly rather
than checking a config.

Parameters
----------
isrTask : `lsst.ip.isr.IsrTask`
    The task whose config is to be validated

mandatory : `iterable` of `str`
    isr steps that must be set to True. Raises if False or missing

forbidden : `iterable` of `str`
    isr steps that must be set to False. Raises if True, warns if missing

desirable : `iterable` of `str`
    isr steps that should probably be set to True. Warns is False, info if
missing

undesirable : `iterable` of `str`
    isr steps that should probably be set to False. Warns is True, info if
missing

checkTrim : `bool`
    Check to ensure the isrTask's assembly subtask is trimming the images.
This is a separate config as it is very ugly to do this within the
normal configuration lists as it is an option of a sub task.

Raises
------
RuntimeError
    Raised if ``mandatory`` config parameters are False,
    or if ``forbidden`` parameters are True.

TypeError
    Raised if parameter ``isrTask`` is an invalid type.

Notes
-----
Logs warnings using an isrValidation logger for desirable/undesirable
options that are of the wrong polarity or if keys are missing.

Definition at line 361 of file utils.py.