3from lsst.pipe.base
import Struct, TaskRunner
9 """Get a butler into the Task scripts"""
12 """Task.runDataRef should receive a butler in the kwargs"""
13 return TaskRunner.getTargetList(parsedCmd, butler=parsedCmd.butler, **kwargs)
17 """Construct a dataRef from a butler and data identifier"""
18 dataRefList = [ref for ref
in butler.subset(datasetType, **dataId)]
19 assert len(dataRefList) == 1
24 """Select images by taking everything we're given without further examination
26 This is useful
if the examination (e.g., Wcs checking) has been performed
27 previously,
and we
've been provided a good list.
30 def runDataRef(self, patchRef, coordList, makeDataRefList=True, selectDataList=[]):
32 dataRefList=[s.dataRef
for s
in selectDataList],
34 s.dataRef.dataId,
None)
for s
in selectDataList],
41 """Make self.refList from self.idList
43 It's difficult to make a data reference that merely points to an entire
44 tract: there is no data product solely at the tract level. Instead, we
45 generate a list of data references
for patches within the tract.
47 datasetType = namespace.config.coaddName + "Coadd_calexp"
48 validKeys = set([
"tract",
"filter",
"patch"])
50 def getPatchRefList(tract):
51 return [namespace.butler.dataRef(datasetType=datasetType,
53 filter=dataId[
"filter"],
54 patch=
"%d,%d" % patch.getIndex())
58 for dataId
in self.idList:
60 if key
in (
"tract",
"patch",):
64 raise argparse.ArgumentError(
65 None,
"--id must include " + key)
67 skymap = self.getSkymap(namespace)
70 tractId = dataId[
"tract"]
71 if tractId
not in tractRefs:
72 tractRefs[tractId] = []
74 tractRefs[tractId].append(namespace.butler.dataRef(datasetType=datasetType, tract=tractId,
77 patch=dataId[
'patch']))
79 tractRefs[tractId] += getPatchRefList(skymap[tractId])
81 tractRefs = dict((tract.getId(), tractRefs.get(tract.getId(), []) +
82 getPatchRefList(tract))
for tract
in skymap)
84 self.
refListrefList = list(tractRefs.values())
def getTargetList(parsedCmd, **kwargs)
def runDataRef(self, patchRef, coordList, makeDataRefList=True, selectDataList=[])
def makeDataRefList(self, namespace)
def getDataRef(butler, dataId, datasetType="raw")