lsst.pipe.drivers
13.0-19-g8a3047b+12
|
Base class for constructing calibs. More...
Public Member Functions | |
def | __init__ (self, args, kwargs) |
def | batchWallTime (cls, time, parsedCmd, numCores) |
def | run (self, expRefList, butler, calibId) |
Construct a calib from a list of exposure references. More... | |
def | getOutputId (self, expRefList, calibId) |
Generate the data identifier for the output calib. More... | |
def | getMjd (self, butler, dataId, timescale=dafBase.DateTime.UTC) |
def | getFilter (self, butler, dataId) |
def | addMissingKeys (self, dataId, butler, missingKeys=None, calibName=None) |
def | updateMetadata (self, calibImage, exposureTime, darkTime=None, kwargs) |
Update the metadata from the VisitInfo. More... | |
def | scatterProcess (self, pool, ccdIdLists) |
Scatter the processing among the nodes. More... | |
def | process (self, cache, ccdId, outputName="postISRCCD") |
Process a CCD, specified by a data identifier. More... | |
def | processSingle (self, dataRef) |
def | processWrite (self, dataRef, exposure, outputName="postISRCCD") |
Write the processed CCD. More... | |
def | processResult (self, exposure) |
def | scale (self, ccdIdLists, data) |
Determine scaling across CCDs and exposures. More... | |
def | scatterCombine (self, pool, outputId, ccdIdLists, scales) |
Scatter the combination of exposures across multiple nodes. More... | |
def | combine (self, cache, struct, outputId) |
Combine multiple exposures of a particular CCD and write the output. More... | |
def | recordCalibInputs (self, butler, calib, dataIdList, outputId) |
Record metadata including the inputs and creation details. More... | |
def | interpolateNans (self, image) |
def | write (self, butler, exposure, dataId) |
Write the final combined calib. More... | |
Static Public Attributes | |
ConfigClass = CalibConfig | |
RunnerClass = CalibTaskRunner | |
filterName = None | |
calibName = None | |
float | exposureTime = 1.0 |
Base class for constructing calibs.
This should be subclassed for each of the required calib types. The subclass should be sure to define the following class variables:
Definition at line 337 of file constructCalibs.py.
def lsst.pipe.drivers.constructCalibs.CalibTask.__init__ | ( | self, | |
args, | |||
kwargs | |||
) |
Constructor
Definition at line 353 of file constructCalibs.py.
def lsst.pipe.drivers.constructCalibs.CalibTask.addMissingKeys | ( | self, | |
dataId, | |||
butler, | |||
missingKeys = None , |
|||
calibName = None |
|||
) |
Definition at line 470 of file constructCalibs.py.
def lsst.pipe.drivers.constructCalibs.CalibTask.batchWallTime | ( | cls, | |
time, | |||
parsedCmd, | |||
numCores | |||
) |
Definition at line 360 of file constructCalibs.py.
def lsst.pipe.drivers.constructCalibs.CalibTask.combine | ( | self, | |
cache, | |||
struct, | |||
outputId | |||
) |
Combine multiple exposures of a particular CCD and write the output.
Only the slave nodes execute this method.
cache | Process pool cache |
struct | Parameters for the combination, which has the following components:
|
outputId | Data identifier for combined image (exposure part only) |
Definition at line 645 of file constructCalibs.py.
def lsst.pipe.drivers.constructCalibs.CalibTask.getFilter | ( | self, | |
butler, | |||
dataId | |||
) |
Determine the filter from a data identifier
Definition at line 465 of file constructCalibs.py.
def lsst.pipe.drivers.constructCalibs.CalibTask.getMjd | ( | self, | |
butler, | |||
dataId, | |||
timescale = dafBase.DateTime.UTC |
|||
) |
Determine the Modified Julian Date (MJD; in TAI) from a data identifier
Definition at line 452 of file constructCalibs.py.
def lsst.pipe.drivers.constructCalibs.CalibTask.getOutputId | ( | self, | |
expRefList, | |||
calibId | |||
) |
Generate the data identifier for the output calib.
The mean date and the common filter are included, using keywords from the configuration. The CCD-specific part is not included in the data identifier.
expRefList | List of data references at exposure level |
calibId | Data identifier elements for the calib provided by the user |
Definition at line 417 of file constructCalibs.py.
def lsst.pipe.drivers.constructCalibs.CalibTask.interpolateNans | ( | self, | |
image | |||
) |
Interpolate over NANs in the combined image NANs can result from masked areas on the CCD. We don't want them getting into our science images, so we replace them with the median of the image.
Definition at line 717 of file constructCalibs.py.
def lsst.pipe.drivers.constructCalibs.CalibTask.process | ( | self, | |
cache, | |||
ccdId, | |||
outputName = "postISRCCD" |
|||
) |
Process a CCD, specified by a data identifier.
After processing, optionally returns a result (produced by the 'processResult' method) calculated from the processed exposure. These results will be gathered by the master node, and is a means for coordinated scaling of all CCDs for flats, etc.
Only slave nodes execute this method.
cache | Process pool cache |
ccdId | Data identifier for CCD |
outputName | Output dataset name for butler |
Definition at line 539 of file constructCalibs.py.
def lsst.pipe.drivers.constructCalibs.CalibTask.processResult | ( | self, | |
exposure | |||
) |
Extract processing results from a processed exposure This method generates what is gathered by the master node. This can be a background measurement or similar for scaling flat-fields. It must be picklable! Only slave nodes execute this method.
Definition at line 597 of file constructCalibs.py.
def lsst.pipe.drivers.constructCalibs.CalibTask.processSingle | ( | self, | |
dataRef | |||
) |
Process a single CCD, specified by a data reference Generally, this simply means doing ISR. Only slave nodes execute this method.
Definition at line 574 of file constructCalibs.py.
def lsst.pipe.drivers.constructCalibs.CalibTask.processWrite | ( | self, | |
dataRef, | |||
exposure, | |||
outputName = "postISRCCD" |
|||
) |
Write the processed CCD.
We need to write these out because we can't hold them all in memory at once.
Only slave nodes execute this method.
dataRef | Data reference |
exposure | CCD exposure to write |
outputName | Output dataset name for butler. |
Definition at line 583 of file constructCalibs.py.
def lsst.pipe.drivers.constructCalibs.CalibTask.recordCalibInputs | ( | self, | |
butler, | |||
calib, | |||
dataIdList, | |||
outputId | |||
) |
Record metadata including the inputs and creation details.
This metadata will go into the FITS header.
butler | Data butler |
calib | Combined calib exposure. |
dataIdList | List of data identifiers for calibration inputs |
outputId | Data identifier for output |
Definition at line 687 of file constructCalibs.py.
def lsst.pipe.drivers.constructCalibs.CalibTask.run | ( | self, | |
expRefList, | |||
butler, | |||
calibId | |||
) |
Construct a calib from a list of exposure references.
This is the entry point, called by the TaskRunner.__call__
Only the master node executes this method.
expRefList | List of data references at the exposure level |
butler | Data butler |
calibId | Identifier dict for calib |
Definition at line 372 of file constructCalibs.py.
def lsst.pipe.drivers.constructCalibs.CalibTask.scale | ( | self, | |
ccdIdLists, | |||
data | |||
) |
Determine scaling across CCDs and exposures.
This is necessary mainly for flats, so as to determine a consistent scaling across the entire focal plane. This implementation is simply a placeholder.
Only the master node executes this method.
ccdIdLists | Dict of data identifier lists for each CCD tuple |
data | Dict of lists of returned data for each CCD tuple |
Definition at line 608 of file constructCalibs.py.
def lsst.pipe.drivers.constructCalibs.CalibTask.scatterCombine | ( | self, | |
pool, | |||
outputId, | |||
ccdIdLists, | |||
scales | |||
) |
Scatter the combination of exposures across multiple nodes.
In this case, we can only scatter across as many nodes as there are CCDs.
Only the master node executes this method.
pool | Process pool |
outputId | Output identifier (exposure part only) |
ccdIdLists | Dict of data identifier lists for each CCD name |
scales | Dict of structs with scales, for each CCD name |
Definition at line 627 of file constructCalibs.py.
def lsst.pipe.drivers.constructCalibs.CalibTask.scatterProcess | ( | self, | |
pool, | |||
ccdIdLists | |||
) |
Scatter the processing among the nodes.
We scatter each CCD independently (exposures aren't grouped together), to make full use of all available processors. This necessitates piecing everything back together in the same format as ccdIdLists afterwards.
Only the master node executes this method.
pool | Process pool |
ccdIdLists | Dict of data identifier lists for each CCD name |
Definition at line 507 of file constructCalibs.py.
def lsst.pipe.drivers.constructCalibs.CalibTask.updateMetadata | ( | self, | |
calibImage, | |||
exposureTime, | |||
darkTime = None , |
|||
kwargs | |||
) |
Update the metadata from the VisitInfo.
calibImage | The image whose metadata is to be set |
exposureTime | The exposure time for the image |
darkTime | The time since the last read (default: exposureTime) |
Definition at line 491 of file constructCalibs.py.
def lsst.pipe.drivers.constructCalibs.CalibTask.write | ( | self, | |
butler, | |||
exposure, | |||
dataId | |||
) |
Write the final combined calib.
Only the slave nodes execute this method
butler | Data butler |
exposure | CCD exposure to write |
dataId | Data identifier for output |
Definition at line 732 of file constructCalibs.py.
|
static |
Definition at line 350 of file constructCalibs.py.
|
static |
Definition at line 347 of file constructCalibs.py.
|
static |
Definition at line 351 of file constructCalibs.py.
|
static |
Definition at line 349 of file constructCalibs.py.
|
static |
Definition at line 348 of file constructCalibs.py.