Task to run test stand data through eotest using a butler.
This task is used to produce an eotest report (the project's sensor
acceptance testing package)
Examples of some of its 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 RunEotestTask.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 180 of file runEotestTask.py.
def lsst.cp.pipe.runEotestTask.RunEotestTask.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 293 of file runEotestTask.py.