Coverage for python/lsst/faro/measurement/PatchMeasurement.py : 61%

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,
5 CatalogMeasurementBaseTask)
7__all__ = ("PatchMeasurementTaskConnections", "PatchMeasurementTaskConfig", "PatchMeasurementTask")
10class PatchMeasurementTaskConnections(MetricConnections,
11 dimensions=("tract", "patch", "skymap",
12 "band")):
14 cat = pipeBase.connectionTypes.Input(doc="Object catalog.",
15 dimensions=("tract", "patch", "skymap",
16 "band"),
17 storageClass="SourceCatalog",
18 name="deepCoadd_forced_src")
20 measurement = pipeBase.connectionTypes.Output(doc="Per-patch measurement.",
21 dimensions=("tract", "patch", "skymap",
22 "band"),
23 storageClass="MetricValue",
24 name="metricvalue_{package}_{metric}")
27class PatchMeasurementTaskConfig(CatalogMeasurementBaseTaskConfig,
28 pipelineConnections=PatchMeasurementTaskConnections):
29 pass
32class PatchMeasurementTask(CatalogMeasurementBaseTask):
34 ConfigClass = PatchMeasurementTaskConfig
35 _DefaultName = "patchMeasurementTask"
37 def run(self, cat, vIds):
38 return self.measure.run(cat, self.config.connections.metric, vIds)
40 def runQuantum(self, butlerQC, inputRefs, outputRefs):
41 inputs = butlerQC.get(inputRefs)
42 inputs['vIds'] = inputRefs.cat.dataId
43 outputs = self.run(**inputs)
44 if outputs.measurement is not None:
45 butlerQC.put(outputs, outputRefs)
46 else:
47 self.log.debug("Skipping measurement of {!r} on {} "
48 "as not applicable.", self, inputRefs)