CrosstalkSolveTask#

class lsst.cp.pipe.CrosstalkSolveTask(*, config: PipelineTaskConfig | None = None, log: logging.Logger | LsstLogAdapter | None = None, initInputs: dict[str, Any] | None = None, **kwargs: Any)#

Bases: PipelineTask

Task to solve crosstalk from pixel ratios.

Methods Summary

debugRatios(stepname, ratios, i, j[, coeff, ...])

Utility function to examine the final CT ratio set.

filterCrosstalkCalib(inCalib)

Apply valid constraints to the measured values.

measureCrosstalkCoefficients(ratios, ...)

Measure crosstalk coefficients from the ratios.

run(inputRatios[, inputFluxes, camera, ...])

Combine ratios to produce crosstalk coefficients.

runQuantum(butlerQC, inputRefs, outputRefs)

Ensure that the input and output dimensions are passed along.

Methods Documentation

debugRatios(stepname, ratios, i, j, coeff=0.0, valid=False)#

Utility function to examine the final CT ratio set.

Parameters#

stepnamestr

State of processing to view.

ratiosdict [dict [numpy.ndarray]]

Array of measured CT ratios, indexed by source/victim amplifier. These arrays are one-dimensional.

istr

Index of the target amplifier.

jstr

Index of the source amplifier.

coefffloat, optional

Coefficient calculated to plot along with the simple mean.

validbool, optional

Validity to be added to the plot title.

static filterCrosstalkCalib(inCalib)#

Apply valid constraints to the measured values.

Any measured coefficient that is determined to be invalid is set to zero, and has the error set to nan. The validation is determined by checking that the measured coefficient is larger than the calculated standard error of the mean.

Parameters#

inCaliblsst.ip.isr.CrosstalkCalib

Input calibration to filter.

Returns#

outCaliblsst.ip.isr.CrosstalkCalib

Filtered calibration.

measureCrosstalkCoefficients(ratios, ordering, rejIter, rejSigma)#

Measure crosstalk coefficients from the ratios.

Given a list of ratios for each target/source amp combination, we measure a sigma clipped mean and error.

The coefficient errors returned are the standard deviation of the final set of clipped input ratios.

Parameters#

ratiosdict [dict [numpy.ndarray]]

Catalog of arrays of ratios. The ratio arrays are one-dimensional

orderinglist [str] or None

List to use as a mapping between amplifier names (the elements of the list) and their position in the output calibration (the matching index of the list). If no ordering is supplied, the order of the keys in the ratio catalog is used.

rejIterint

Number of rejection iterations.

rejSigmafloat

Rejection threshold (sigma).

Returns#

caliblsst.ip.isr.CrosstalkCalib

The output crosstalk calibration.

run(inputRatios, inputFluxes=None, camera=None, inputDims=None, outputDims=None)#

Combine ratios to produce crosstalk coefficients.

Parameters#

inputRatioslist [dict [dict [dict [dict [list]]]]]

A list of nested dictionaries of ratios indexed by target and source chip, then by target and source amplifier.

inputFluxeslist [dict [dict [list]]]

A list of nested dictionaries of source pixel fluxes, indexed by source chip and amplifier.

cameralsst.afw.cameraGeom.Camera

Input camera.

inputDimslist [lsst.daf.butler.DataCoordinate]

DataIds to use to construct provenance.

outputDimslist [lsst.daf.butler.DataCoordinate]

DataIds to use to populate the output calibration.

Returns#

resultslsst.pipe.base.Struct

The results struct containing:

outputCrosstalk

Final crosstalk calibration (lsst.ip.isr.CrosstalkCalib).

outputProvenance

Provenance data for the new calibration (lsst.ip.isr.IsrProvenance).

Raises#

RuntimeError

Raised if the input data contains multiple target detectors.

runQuantum(butlerQC, inputRefs, outputRefs)#

Ensure that the input and output dimensions are passed along.

Parameters#

butlerQClsst.daf.butler.QuantumContext

Butler to operate on.

inputRefslsst.pipe.base.InputQuantizedConnection

Input data refs to load.

ouptutRefslsst.pipe.base.OutputQuantizedConnection

Output data refs to persist.