lsst.cp.pipe  20.0.0-23-g10eeb28+ce669332e7
Classes | Functions
lsst.cp.pipe.astierCovPtcUtils Namespace Reference

Classes

class  CovFft
 
class  LoadParams
 

Functions

def fftSize (s)
 
def computeCovDirect (diffImage, weightImage, maxRange)
 
def covDirectValue (diffImage, weightImage, dx, dy)
 
def loadData (tupleName, params)
 
def fitData (tupleName, maxMu=1e9, r=8, nSigmaFullFit=5.5, maxIterFullFit=3)
 
def getFitDataFromCovariances (i, j, mu, fullCov, fullCovModel, fullCovSqrtWeights, gain=1.0, divideByMu=False, returnMasked=False)
 

Function Documentation

◆ computeCovDirect()

def lsst.cp.pipe.astierCovPtcUtils.computeCovDirect (   diffImage,
  weightImage,
  maxRange 
)
Compute covariances of diffImage in real space.

For lags larger than ~25, it is slower than the FFT way.
Taken from https://github.com/PierreAstier/bfptc/

Parameters
----------
diffImage : `numpy.array`
    Image to compute the covariance of.

weightImage : `numpy.array`
    Weight image of diffImage (1's and 0's for good and bad pixels, respectively).

maxRange : `int`
    Last index of the covariance to be computed.

Returns
-------
outList : `list`
    List with tuples of the form (dx, dy, var, cov, npix), where:
    dx : `int`
        Lag in x
    dy : `int`
        Lag in y
    var : `float`
        Variance at (dx, dy).
    cov : `float`
        Covariance at (dx, dy).
    nPix : `int`
        Number of pixel pairs used to evaluate var and cov.

Definition at line 128 of file astierCovPtcUtils.py.

◆ covDirectValue()

def lsst.cp.pipe.astierCovPtcUtils.covDirectValue (   diffImage,
  weightImage,
  dx,
  dy 
)
Compute covariances of diffImage in real space at lag (dx, dy).

Taken from https://github.com/PierreAstier/bfptc/ (c.f., appendix of Astier+19).

Parameters
----------
diffImage : `numpy.array`
    Image to compute the covariance of.

weightImage : `numpy.array`
    Weight image of diffImage (1's and 0's for good and bad pixels, respectively).

dx : `int`
    Lag in x.

dy : `int`
    Lag in y.

Returns
-------
cov : `float`
    Covariance at (dx, dy)

nPix : `int`
    Number of pixel pairs used to evaluate var and cov.

Definition at line 179 of file astierCovPtcUtils.py.

◆ fftSize()

def lsst.cp.pipe.astierCovPtcUtils.fftSize (   s)
Calculate the size fof one dimension for the FFT

Definition at line 122 of file astierCovPtcUtils.py.

◆ fitData()

def lsst.cp.pipe.astierCovPtcUtils.fitData (   tupleName,
  maxMu = 1e9,
  r = 8,
  nSigmaFullFit = 5.5,
  maxIterFullFit = 3 
)
Fit data to models in Astier+19.

Parameters
----------
tupleName: `numpy.recarray`
    Recarray with rows with at least ( mu1, mu2, cov ,var, i, j, npix), where:
        mu1: mean value of flat1
        mu2: mean value of flat2
        cov: covariance value at lag (i, j)
        var: variance (covariance value at lag (0, 0))
        i: lag dimension
        j: lag dimension
        npix: number of pixels used for covariance calculation.

r: `int`, optional
    Maximum lag considered (e.g., to eliminate data beyond a separation "r": ignored in the fit).

maxMu: `float`, optional
    Maximum signal, in ADU (e.g., to eliminate data beyond saturation).

nSigmaFullFit : `float`, optional
    Sigma cut to get rid of outliers in full model fit.

maxIterFullFit : `int`, optional
    Number of iterations for full model fit.

Returns
-------
covFitList: `dict`
    Dictionary of CovFit objects, with amp names as keys.

covFitNoBList: `dict`
   Dictionary of CovFit objects, with amp names as keys (b=0 in Eq. 20 of Astier+19).

Notes
-----
The parameters of the full model for C_ij(mu) ("C_ij" and "mu" in ADU^2 and ADU, respectively)
in Astier+19 (Eq. 20) are:

    "a" coefficients (r by r matrix), units: 1/e
    "b" coefficients (r by r matrix), units: 1/e
    noise matrix (r by r matrix), units: e^2
    gain, units: e/ADU

"b" appears in Eq. 20 only through the "ab" combination, which is defined in this code as "c=ab".

Definition at line 323 of file astierCovPtcUtils.py.

◆ getFitDataFromCovariances()

def lsst.cp.pipe.astierCovPtcUtils.getFitDataFromCovariances (   i,
  j,
  mu,
  fullCov,
  fullCovModel,
  fullCovSqrtWeights,
  gain = 1.0,
  divideByMu = False,
  returnMasked = False 
)
Get measured signal and covariance, cov model, weigths, and mask at covariance lag (i, j).

Parameters
----------
i :  `int`
    Lag for covariance matrix.

j: `int`
    Lag for covariance matrix.

mu : `list`
    Mean signal values.

fullCov: `list` of `numpy.array`
    Measured covariance matrices at each mean signal level in mu.

fullCovSqrtWeights: `list` of `numpy.array`
    List of square root of measured covariances at each mean signal level in mu.

fullCovModel : `list` of `numpy.array`
    List of modeled covariances at each mean signal level in mu.

gain : `float`, optional
    Gain, in e-/ADU. If other than 1.0 (default), the returned quantities will be in
    electrons or powers of electrons.

divideByMu: `bool`, optional
    Divide returned covariance, model, and weights by the mean signal mu?

returnMasked : `bool`, optional
    Use mask (based on weights) in returned arrays (mu, covariance, and model)?

Returns
-------
mu : `numpy.array`
    list of signal values at (i, j).

covariance : `numpy.array`
    Covariance at (i, j) at each mean signal mu value (fullCov[:, i, j]).

covarianceModel : `numpy.array`
    Covariance model at (i, j).

weights : `numpy.array`
    Weights at (i, j).

mask : `numpy.array`, optional
    Boolean mask of the covariance at (i,j).

Notes
-----
This function is a method of the `CovFit` class.

Definition at line 386 of file astierCovPtcUtils.py.

◆ loadData()

def lsst.cp.pipe.astierCovPtcUtils.loadData (   tupleName,
  params 
)
Returns a list of CovFit objects, indexed by amp number.

Params
------
tupleName: `numpy.recarray`
    Recarray with rows with at least ( mu1, mu2, cov ,var, i, j, npix), where:
        mu1: mean value of flat1
        mu2: mean value of flat2
        cov: covariance value at lag (i, j)
        var: variance (covariance value at lag (0, 0))
        i: lag dimension
        j: lag dimension
        npix: number of pixels used for covariance calculation.

params: `covAstierptcUtil.LoadParams`
    Object with values to drive the bahaviour of fits.

Returns
-------
covFitList: `dict`
    Dictionary with amps as keys, and CovFit objects as values.

Definition at line 273 of file astierCovPtcUtils.py.