lsst.pipe.tasks g9fbc5161f1+30b2b595e6
|
Classes | |
class | NumberDeblendedSourcesMetricConnections |
Variables | |
sources : `lsst.afw.table.SourceCatalog` | |
result : `lsst.pipe.base.Struct` | |
catalog : `lsst.afw.table.SourceCatalog` | |
selection : `numpy.ndarray` [`bool`], (N,) | |
filtered : `numpy.ndarray` [`bool`], (N,) | |
lsst.pipe.tasks.metrics.catalog : `lsst.afw.table.SourceCatalog` |
# Use deblend_parentNChild rather than detect_fromBlend because the # latter need not be defined in post-deblending catalogs. if "deblend_parentNChild" not in sources.schema or "deblend_nChild" not in sources.schema: raise NoWorkFound("Nothing to do: no deblending performed.") else: try: children = ((sources["deblend_parentNChild"] > 1) # deblend child & (sources["deblend_nChild"] == 0) # not deblended ) children = _filterSkySources(sources, children) except LookupError as e: # Probably "parent"; all other columns already checked raise MetricComputationError("Invalid input catalog") from e else: nChildren = np.count_nonzero(children) return Struct(measurement=Measurement(self.config.metricName, nChildren * u.dimensionless_unscaled)) def _filterSkySources(catalog, selection):
Definition at line 203 of file metrics.py.
lsst.pipe.tasks.metrics.filtered : `numpy.ndarray` [`bool`], (N,) |
Definition at line 211 of file metrics.py.
lsst.pipe.tasks.metrics.result : `lsst.pipe.base.Struct` |
Definition at line 84 of file metrics.py.
lsst.pipe.tasks.metrics.selection : `numpy.ndarray` [`bool`], (N,) |
Definition at line 205 of file metrics.py.
lsst.pipe.tasks.metrics.sources : `lsst.afw.table.SourceCatalog` |
_DefaultName = "numDeblendedSciSources" ConfigClass = NumberDeblendedSourcesMetricConfig def run(self, sources):
if "deblend_nChild" not in sources.schema: raise NoWorkFound("Nothing to do: no deblending performed.") else: try: deblended = ((sources["parent"] == 0) # top-level source & (sources["deblend_nChild"] > 0) # deblended ) deblended = _filterSkySources(sources, deblended) except LookupError as e: # Probably "parent"; all other columns already checked raise MetricComputationError("Invalid input catalog") from e else: nDeblended = np.count_nonzero(deblended) return Struct(measurement=Measurement(self.config.metricName, nDeblended * u.dimensionless_unscaled)) class NumberDeblendChildSourcesMetricConnections( MetricConnections, defaultTemplates={"package": "pipe_tasks", "metric": "numDeblendChildSciSources"}, dimensions={"instrument", "visit", "detector"}, ): sources = connectionTypes.Input( doc="The catalog of science sources.", name="src", storageClass="SourceCatalog", dimensions={"instrument", "visit", "detector"}, ) class NumberDeblendChildSourcesMetricConfig( MetricConfig, pipelineConnections=NumberDeblendChildSourcesMetricConnections): pass class NumberDeblendChildSourcesMetricTask(MetricTask):
_DefaultName = "numDeblendChildSciSources" ConfigClass = NumberDeblendChildSourcesMetricConfig def run(self, sources):
Definition at line 79 of file metrics.py.