LSST Applications  21.0.0-172-gfb10e10a+18fedfabac,22.0.0+297cba6710,22.0.0+80564b0ff1,22.0.0+8d77f4f51a,22.0.0+a28f4c53b1,22.0.0+dcf3732eb2,22.0.1-1-g7d6de66+2a20fdde0d,22.0.1-1-g8e32f31+297cba6710,22.0.1-1-geca5380+7fa3b7d9b6,22.0.1-12-g44dc1dc+2a20fdde0d,22.0.1-15-g6a90155+515f58c32b,22.0.1-16-g9282f48+790f5f2caa,22.0.1-2-g92698f7+dcf3732eb2,22.0.1-2-ga9b0f51+7fa3b7d9b6,22.0.1-2-gd1925c9+bf4f0e694f,22.0.1-24-g1ad7a390+a9625a72a8,22.0.1-25-g5bf6245+3ad8ecd50b,22.0.1-25-gb120d7b+8b5510f75f,22.0.1-27-g97737f7+2a20fdde0d,22.0.1-32-gf62ce7b1+aa4237961e,22.0.1-4-g0b3f228+2a20fdde0d,22.0.1-4-g243d05b+871c1b8305,22.0.1-4-g3a563be+32dcf1063f,22.0.1-4-g44f2e3d+9e4ab0f4fa,22.0.1-42-gca6935d93+ba5e5ca3eb,22.0.1-5-g15c806e+85460ae5f3,22.0.1-5-g58711c4+611d128589,22.0.1-5-g75bb458+99c117b92f,22.0.1-6-g1c63a23+7fa3b7d9b6,22.0.1-6-g50866e6+84ff5a128b,22.0.1-6-g8d3140d+720564cf76,22.0.1-6-gd805d02+cc5644f571,22.0.1-8-ge5750ce+85460ae5f3,master-g6e05de7fdc+babf819c66,master-g99da0e417a+8d77f4f51a,w.2021.48
LSST Data Management Base Package
Classes | Variables
lsst.pipe.tasks.makeCoaddTempExp Namespace Reference

Classes

class  MissingExposureError
 
class  MakeCoaddTempExpConfig
 
class  MakeCoaddTempExpTask
 Warp and optionally PSF-Match calexps onto an a common projection. More...
 
class  MakeWarpConnections
 

Variables

 log = logging.getLogger(__name__)
 
 bgSubtracted
 
 doApplySkyCorr
 
 doApplyExternalSkyWcs
 
 doApplyExternalPhotoCalib
 

Variable Documentation

◆ bgSubtracted

lsst.pipe.tasks.makeCoaddTempExp.bgSubtracted
ConfigClass = MakeWarpConfig
_DefaultName = "makeWarp"

@utils.inheritDoc(pipeBase.PipelineTask)
def runQuantum(self, butlerQC, inputRefs, outputRefs):
# Ensure all input lists are in same detector order as the calExpList
detectorOrder = [ref.datasetRef.dataId['detector'] for ref in inputRefs.calExpList]
inputRefs = reorderRefs(inputRefs, detectorOrder, dataIdKey='detector')

# Read in all inputs.
inputs = butlerQC.get(inputRefs)

# Construct skyInfo expected by `run`.  We remove the SkyMap itself
# from the dictionary so we can pass it as kwargs later.
skyMap = inputs.pop("skyMap")
quantumDataId = butlerQC.quantum.dataId
skyInfo = makeSkyInfo(skyMap, tractId=quantumDataId['tract'], patchId=quantumDataId['patch'])

# Construct list of input DataIds expected by `run`
dataIdList = [ref.datasetRef.dataId for ref in inputRefs.calExpList]
# Construct list of packed integer IDs expected by `run`
ccdIdList = [dataId.pack("visit_detector") for dataId in dataIdList]

# Run the selector and filter out calexps that were not selected
# primarily because they do not overlap the patch
cornerPosList = lsst.geom.Box2D(skyInfo.bbox).getCorners()
coordList = [skyInfo.wcs.pixelToSky(pos) for pos in cornerPosList]
goodIndices = self.select.run(**inputs, coordList=coordList, dataIds=dataIdList)
inputs = self.filterInputs(indices=goodIndices, inputs=inputs)

# Read from disk only the selected calexps
inputs['calExpList'] = [ref.get() for ref in inputs['calExpList']]

# Extract integer visitId requested by `run`
visits = [dataId['visit'] for dataId in dataIdList]
visitId = visits[0]

if self.config.doApplyExternalSkyWcs:
    if self.config.useGlobalExternalSkyWcs:
        externalSkyWcsCatalog = inputs.pop("externalSkyWcsGlobalCatalog")
    else:
        externalSkyWcsCatalog = inputs.pop("externalSkyWcsTractCatalog")
else:
    externalSkyWcsCatalog = None

if self.config.doApplyExternalPhotoCalib:
    if self.config.useGlobalExternalPhotoCalib:
        externalPhotoCalibCatalog = inputs.pop("externalPhotoCalibGlobalCatalog")
    else:
        externalPhotoCalibCatalog = inputs.pop("externalPhotoCalibTractCatalog")
else:
    externalPhotoCalibCatalog = None

completeIndices = self.prepareCalibratedExposures(**inputs,
                                                  externalSkyWcsCatalog=externalSkyWcsCatalog,
                                                  externalPhotoCalibCatalog=externalPhotoCalibCatalog)
# Redo the input selection with inputs with complete wcs/photocalib info.
inputs = self.filterInputs(indices=completeIndices, inputs=inputs)

results = self.run(**inputs, visitId=visitId,
                   ccdIdList=[ccdIdList[i] for i in goodIndices],
                   dataIdList=[dataIdList[i] for i in goodIndices],
                   skyInfo=skyInfo)
if self.config.makeDirect and results.exposures["direct"] is not None:
    butlerQC.put(results.exposures["direct"], outputRefs.direct)
if self.config.makePsfMatched and results.exposures["psfMatched"] is not None:
    butlerQC.put(results.exposures["psfMatched"], outputRefs.psfMatched)

def filterInputs(self, indices, inputs):
for key in inputs.keys():
    # Only down-select on list inputs
    if isinstance(inputs[key], list):
        inputs[key] = [inputs[key][ind] for ind in indices]
return inputs

def prepareCalibratedExposures(self, calExpList, backgroundList=None, skyCorrList=None,
                           externalSkyWcsCatalog=None, externalPhotoCalibCatalog=None,
                           **kwargs):

Definition at line 598 of file makeCoaddTempExp.py.

◆ doApplyExternalPhotoCalib

lsst.pipe.tasks.makeCoaddTempExp.doApplyExternalPhotoCalib

Definition at line 834 of file makeCoaddTempExp.py.

◆ doApplyExternalSkyWcs

lsst.pipe.tasks.makeCoaddTempExp.doApplyExternalSkyWcs

Definition at line 830 of file makeCoaddTempExp.py.

◆ doApplySkyCorr

lsst.pipe.tasks.makeCoaddTempExp.doApplySkyCorr

Definition at line 827 of file makeCoaddTempExp.py.

◆ log

lsst.pipe.tasks.makeCoaddTempExp.log = logging.getLogger(__name__)

Definition at line 43 of file makeCoaddTempExp.py.