32 __all__ = [
"DetectDcrCoaddSources",
"MergeDcrDetectionsTask",
33 "MeasureMergedDcrCoaddSourcesTask",
"MergeDcrMeasurementsTask"]
35 """Measure sources and their sub-filter spectrum from a DCR model.""" 39 """Task runner for the MergeSourcesTask. 41 Required because the run method requires a list of dataRefs 42 rather than a single dataRef. 47 """Provide a list of patch and filter references for each tract. 49 The filter references within the list will have different subfilters. 56 Key word arguments (unused) 61 List of all matching data references for a given patch. 66 if multiple references are provided for the same combination of 67 tract, patch, filter, and subfilter 70 for ref
in parsedCmd.id.refList:
71 tract = ref.dataId[
"tract"]
72 patch = ref.dataId[
"patch"]
73 filter = ref.dataId[
"filter"]
74 subfilter = ref.dataId[
"subfilter"]
75 if tract
not in refList:
77 if patch
not in refList[tract]:
78 refList[tract][patch] = {}
79 if filter
not in refList[tract][patch]:
80 refList[tract][patch][filter] = {}
81 if subfilter
in refList[tract][patch][filter]:
82 raise RuntimeError(
"Multiple versions of %s" % (ref.dataId,))
83 refList[tract][patch][filter][subfilter] = ref
84 return [(list(f.values()), kwargs)
85 for t
in list(refList.values())
86 for p
in list(t.values())
87 for f
in list(p.values())]
91 """Detect sources on a DCR coadd.""" 94 def _makeArgumentParser(cls):
96 parser.add_id_argument(name=
"--id",
97 datasetType=
"dcrCoadd",
98 help=
"data ID, e.g. --id tract=12345 patch=1,2 filter=g, subfilter=0",
99 ContainerClass=ExistingCoaddDataIdContainer)
104 """Merge dcrCoadd detections from multiple subfilters.""" 106 RunnerClass = MergeDcrSourcesRunner
109 def _makeArgumentParser(cls):
110 """Create a suitable ArgumentParser. 112 We will use the ArgumentParser to get a provide a list of data 113 references for patches; the RunnerClass will sort them into lists 114 of data references for the same patch 117 parser.add_id_argument(name=
"--id",
119 ContainerClass=ExistingCoaddDataIdContainer,
120 help=
"data ID, e.g. --id tract=12345 patch=1,2 filter=g, subfilter=0^1^2")
125 """Deblend sources from master catalog in each coadd seperately and measure.""" 128 def _makeArgumentParser(cls):
130 parser.add_id_argument(name=
"--id",
131 datasetType=
"dcrCoadd_calexp",
132 help=
"data ID, e.g. --id tract=12345 patch=1,2 filter=g, subfilter=0",
133 ContainerClass=ExistingCoaddDataIdContainer)
138 """Merge measurements from multiple subfilters.""" 140 RunnerClass = MergeDcrSourcesRunner
143 def _makeArgumentParser(cls):
144 """Create a suitable ArgumentParser. 146 We will use the ArgumentParser to get a provide a list of data 147 references for patches; the RunnerClass will sort them into lists 148 of data references for the same patch 151 parser.add_id_argument(name=
"--id",
153 ContainerClass=ExistingCoaddDataIdContainer,
154 help=
"data ID, e.g. --id tract=12345 patch=1,2 filter=g, subfilter=0^1^2")
Merge coadd detections from multiple bands.
Task runner for the MergeSourcesTask. Required because the run method requires a list of dataRefs rat...
Merge measurements from multiple bands.
Deblend sources from master catalog in each coadd seperately and measure.
def getTargetList(parsedCmd, kwargs)
Detect sources on a coadd.