PerTractInput

class lsst.drp.tasks.update_visit_summary.PerTractInput(catalogs_by_tract: list[tuple[lsst.skymap.tractInfo.TractInfo, lsst.afw.table.ExposureCatalog]])

Bases: PossiblyMultipleInput

Wrapper class for input ExposureCatalog datasets that are per-tract.

This selects the best tract via the minimum average distance (on the sky) from the detector’s corners to the tract center.

Methods Summary

best_for_detector(detector_id[, center, bbox])

Return the exposure record for this detector that is the best match for this detector.

load(butler, sky_map, refs)

Load and wrap input catalogs.

Methods Documentation

best_for_detector(detector_id: int, center: SpherePoint | None = None, bbox: Box2I | None = None) tuple[int, lsst.afw.table.ExposureRecord | None]

Return the exposure record for this detector that is the best match for this detector.

Parameters:
detector_idint

Detector ID; used to find the right row in the catalog or catalogs.

centerlsst.geom.SpherePoint or None

Center of the detector in sky coordinates. If not provided, one will be computed via compute_center_for_detector_record.

bboxlsst.geom.Box2I, optional

Bounding box for the detector in its own pixel coordinates.

Returns:
tract_idint

ID of the tract that supplied this record, or -1 if record is None or if the input was not per-tract.

recordlsst.afw.table.ExposureRecord or None

Best record for this detector, or None if there either were no records for this detector or no WCS available to compute a center.

classmethod load(butler: QuantumContext | Butler, sky_map: BaseSkyMap, refs: Iterable[DatasetRef]) PerTractInput

Load and wrap input catalogs.

Parameters:
butlerlsst.pipe.base.QuantumContext

Butler proxy used in runQuantum.

sky_maplsst.skymap.BaseSkyMap

Definition of tracts and patches.

refsIterable [lsst.daf.butler.DatasetRef]

References to the catalog datasets to load.

Returns:
wrapperPerTractInput

Wrapper object for the loaded catalogs.