lsst.pipe.tasks g8b9e2231ea+fa07cb600e
|
Classes | |
class | NumberDeblendedSourcesMetricConnections |
Variables | |
lsst | sources : `lsst.afw.table.SourceCatalog` or `None` |
lsst | result : `lsst.pipe.base.Struct` |
lsst | catalog : `lsst.afw.table.SourceCatalog` |
numpy | selection : `numpy.ndarray` [`bool`], (N,) |
numpy | filtered : `numpy.ndarray` [`bool`], (N,) |
lsst lsst.pipe.tasks.metrics.catalog : `lsst.afw.table.SourceCatalog` |
if sources is None: self.log.info("Nothing to do: no catalogs found.") meas = None # Use deblend_parentNChild rather than detect_fromBlend because the # latter need not be defined in post-deblending catalogs. elif "deblend_parentNChild" not in sources.schema or "deblend_nChild" not in sources.schema: self.log.info("Nothing to do: no deblending performed.") meas = None 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) meas = Measurement(self.config.metricName, nChildren * u.dimensionless_unscaled) return Struct(measurement=meas) def _filterSkySources(catalog, selection):
Definition at line 216 of file metrics.py.
numpy lsst.pipe.tasks.metrics.filtered : `numpy.ndarray` [`bool`], (N,) |
Definition at line 224 of file metrics.py.
lsst lsst.pipe.tasks.metrics.result : `lsst.pipe.base.Struct` |
Definition at line 86 of file metrics.py.
numpy lsst.pipe.tasks.metrics.selection : `numpy.ndarray` [`bool`], (N,) |
Definition at line 218 of file metrics.py.
lsst lsst.pipe.tasks.metrics.sources : `lsst.afw.table.SourceCatalog` or `None` |
_DefaultName = "numDeblendedSciSources" ConfigClass = NumberDeblendedSourcesMetricConfig def run(self, sources):
if sources is None: self.log.info("Nothing to do: no catalogs found.") meas = None elif "deblend_nChild" not in sources.schema: self.log.info("Nothing to do: no deblending performed.") meas = None 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) meas = Measurement(self.config.metricName, nDeblended * u.dimensionless_unscaled) return Struct(measurement=meas) 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 @register("numDeblendChildSciSources") class NumberDeblendChildSourcesMetricTask(MetricTask):
_DefaultName = "numDeblendChildSciSources" ConfigClass = NumberDeblendChildSourcesMetricConfig def run(self, sources):
Definition at line 81 of file metrics.py.