Calibration (Products) Production (CP) task.
This task is used to produce the calibration products required to calibrate cameras.
Examples of such operations are as follows:
* Given a set of flat-field images, find the dark pixels and columns.
* Given a set of darks, find the bright pixels and columns.
* Given a set of Fe55 exposures, calulate the gain of the readout chain, in e-/ADU
* Given a set of Fe55 exposures, calulate the instrinsic PSF of the silicon, and the degradation of
* the PSF due to CTE.
* Given a set of flat-pairs, measure the photon transfer curve (PTC).
* Given a set of bias frames, calculate the read noise of the system in e-.
* Given a set of pocket-pumping exposures, find charge-traps in the silicon.
The CpTask.runEotestDirect() is only applicable to LSST sensors, and only for a specific type of dataset
This method takes a dafPersistance.Butler corresponding to a repository in which a full eotest run has
been taken and ingested, and runs each of the tasks in eotest directly, allowing for bitwise comparison
with results given by the camera team.
See http://ls.st/ldm-151 Chapter 4, Calibration Products Production for further details
regarding the inputs and outputs.
Definition at line 182 of file cpTask.py.
def lsst.cp.pipe.cpTask.CpTask.runEotestDirect |
( |
|
self, |
|
|
|
butler, |
|
|
|
run = None |
|
) |
| |
Generate calibration products using eotest algorithms.
Generate all calibration products possible using the vanilla eotest implementation,
given a butler for a TS8 (raft-test) repo. It can contain multiple runs, but must correspond to
only a single raft/RTM.
- Run all eotest tasks possible, using the butler to gather the data
- Write outputs in eotest format
In order to replicate the canonical eotest analysis, the tasks should be run in a specific order.
This is given/defined in the "Steps" section here:
http://lsst-camera.slac.stanford.edu/eTraveler/exp/LSST-CAMERA/displayProcess.jsp?processPath=1179
But is replicated here for conveniece:
* 55Fe Analysis
* CCD Read Noise Analysis
* Bright Defects Analysis
* Dark Defects Analysis
* Traps Finding
* Dark Current X - will not be implemented here
* Charge Transfer Efficiencies
* Photo-response analysis X - will not be implemented here
* Flat Pairs Analysis
* Photon Transfer Curve
* Quantum Efficiency X - will not be implemented here
List of tasks that exist in the eotest package but aren't mentioned on the above link:
* linearityTask()
* fe55CteTask()
* eperTask()
* crosstalkTask()
* persistenceTask()
# TODO: For each eotest task, find out what the standard raft testing does for the optional params.
i.e. many have optional params for gains, bias-frames etc - if we want bitwise identicallity then we
need to know what is typically provided to these tasks when the camera team runs this code.
This can probably be worked out from https://github.com/lsst-camera-dh/lcatr-harness
but it sounds like Jim Chiang doesn't recommend trying to do that.
DM-12939
Parameters
----------
butler : `lsst.daf.persistence.butler`
Butler for the repo containg the eotest data to be used
run : `str` or `int`
Optional run number, to be used for repos containing multiple runs
Definition at line 290 of file cpTask.py.