Coverage for python/lsst/faro/measurement/TractMeasurement.py : 69%

Hot-keys on this page
r m x p toggle line displays
j k next/prev highlighted chunk
0 (zero) top of page
1 (one) first highlighted chunk
1import lsst.pipe.base as pipeBase
2from lsst.verify.tasks import MetricConnections
4from lsst.faro.base.CatalogMeasurementBase import CatalogMeasurementBaseTaskConfig, CatalogMeasurementBaseTask
6__all__ = ("TractMeasurementTaskConnections", "TractMeasurementTaskConfig",
7 "TractMeasurementTask",
8 "TractMultiBandMeasurementTaskConnections", "TractMultiBandMeasurementTaskConfig",
9 "TractMultiBandMeasurementTask")
12class TractMeasurementTaskConnections(MetricConnections,
13 dimensions=("tract", "skymap",
14 "band"),
15 defaultTemplates={"coaddName": "deepCoadd",
16 "photoCalibName": "deepCoadd_calexp.photoCalib"}):
18 cat = pipeBase.connectionTypes.Input(doc="Object catalog.",
19 dimensions=("tract", "skymap",
20 "band"),
21 storageClass="SourceCatalog",
22 name="deepCoadd_forced_src")
24 photo_calibs = pipeBase.connectionTypes.Input(doc="Photometric calibration object.",
25 dimensions=("tract", "skymap",
26 "band"),
27 storageClass="PhotoCalib",
28 name="{photoCalibName}",
29 multiple=True)
31 measurement = pipeBase.connectionTypes.Output(doc="Per-tract measurement.",
32 dimensions=("tract", "skymap",
33 "band"),
34 storageClass="MetricValue",
35 name="metricvalue_{package}_{metric}")
38class TractMeasurementTaskConfig(CatalogMeasurementBaseTaskConfig,
39 pipelineConnections=TractMeasurementTaskConnections):
40 pass
43class TractMeasurementTask(CatalogMeasurementBaseTask):
45 ConfigClass = TractMeasurementTaskConfig
46 _DefaultName = "tractMeasurementTask"
48 def run(self, cat, photo_calibs, vIds):
49 return self.measure.run(cat, photo_calibs, self.config.connections.metric, vIds)
51 def runQuantum(self, butlerQC, inputRefs, outputRefs):
52 inputs = butlerQC.get(inputRefs)
53 inputs['vIds'] = [butlerQC.registry.expandDataId(el.dataId) for el in inputRefs.cat]
54 outputs = self.run(**inputs)
55 if outputs.measurement is not None:
56 butlerQC.put(outputs, outputRefs)
57 else:
58 self.log.debugf("Skipping measurement of {!r} on {} "
59 "as not applicable.", self, inputRefs)
62class TractMultiBandMeasurementTaskConnections(TractMeasurementTaskConnections,
63 dimensions=("tract", "skymap"),
64 defaultTemplates={"coaddName": "deepCoadd", "photoCalibName":
65 "deepCoadd_calexp.photoCalib"}):
67 cat = pipeBase.connectionTypes.Input(doc="Object catalog.",
68 dimensions=("tract", "skymap", "patch",
69 "band"),
70 storageClass="SourceCatalog",
71 name="deepCoadd_forced_src",
72 multiple=True)
74 photo_calibs = pipeBase.connectionTypes.Input(doc="Photometric calibration object.",
75 dimensions=("tract", "skymap",
76 "patch", "band"),
77 storageClass="PhotoCalib",
78 name="{photoCalibName}",
79 multiple=True)
81 measurement = pipeBase.connectionTypes.Output(doc="Per-tract measurement.",
82 dimensions=("tract", "skymap"),
83 storageClass="MetricValue",
84 name="metricvalue_{package}_{metric}")
87class TractMultiBandMeasurementTaskConfig(CatalogMeasurementBaseTaskConfig,
88 pipelineConnections=TractMultiBandMeasurementTaskConnections):
89 pass
92class TractMultiBandMeasurementTask(TractMeasurementTask):
94 ConfigClass = TractMultiBandMeasurementTaskConfig
95 _DefaultName = "tractMultiBandMeasurementTask"