LSST Applications
21.0.0-147-g0e635eb1+1acddb5be5,22.0.0+052faf71bd,22.0.0+1ea9a8b2b2,22.0.0+6312710a6c,22.0.0+729191ecac,22.0.0+7589c3a021,22.0.0+9f079a9461,22.0.1-1-g7d6de66+b8044ec9de,22.0.1-1-g87000a6+536b1ee016,22.0.1-1-g8e32f31+6312710a6c,22.0.1-10-gd060f87+016f7cdc03,22.0.1-12-g9c3108e+df145f6f68,22.0.1-16-g314fa6d+c825727ab8,22.0.1-19-g93a5c75+d23f2fb6d8,22.0.1-19-gb93eaa13+aab3ef7709,22.0.1-2-g8ef0a89+b8044ec9de,22.0.1-2-g92698f7+9f079a9461,22.0.1-2-ga9b0f51+052faf71bd,22.0.1-2-gac51dbf+052faf71bd,22.0.1-2-gb66926d+6312710a6c,22.0.1-2-gcb770ba+09e3807989,22.0.1-20-g32debb5+b8044ec9de,22.0.1-23-gc2439a9a+fb0756638e,22.0.1-3-g496fd5d+09117f784f,22.0.1-3-g59f966b+1e6ba2c031,22.0.1-3-g849a1b8+f8b568069f,22.0.1-3-gaaec9c0+c5c846a8b1,22.0.1-32-g5ddfab5d3+60ce4897b0,22.0.1-4-g037fbe1+64e601228d,22.0.1-4-g8623105+b8044ec9de,22.0.1-5-g096abc9+d18c45d440,22.0.1-5-g15c806e+57f5c03693,22.0.1-7-gba73697+57f5c03693,master-g6e05de7fdc+c1283a92b8,master-g72cdda8301+729191ecac,w.2021.39
LSST Data Management Base Package
|
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__.partition(".")[2]) | |
bgSubtracted | |
doApplySkyCorr | |
doApplyExternalSkyWcs | |
doApplyExternalPhotoCalib | |
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 596 of file makeCoaddTempExp.py.
lsst.pipe.tasks.makeCoaddTempExp.doApplyExternalPhotoCalib |
Definition at line 843 of file makeCoaddTempExp.py.
lsst.pipe.tasks.makeCoaddTempExp.doApplyExternalSkyWcs |
Definition at line 839 of file makeCoaddTempExp.py.
lsst.pipe.tasks.makeCoaddTempExp.doApplySkyCorr |
Definition at line 836 of file makeCoaddTempExp.py.
lsst.pipe.tasks.makeCoaddTempExp.log = logging.getLogger(__name__.partition(".")[2]) |
Definition at line 42 of file makeCoaddTempExp.py.