DiscreteSkyMap¶
-
class
lsst.skymap.DiscreteSkyMap(config, version=0)¶ Bases:
lsst.skymap.cachingSkyMap.CachingSkyMapDiscrete sky map pixelization.
We put a square Tract at each of the nominated coordinates.
Parameters: Attributes Summary
SKYMAP_DATASET_TYPE_NAMESKYMAP_RUN_COLLECTION_NAMEMethods Summary
findClosestTractPatchList(coordList)Find closest tract and patches that overlap coordinates. findTract(coord)Find the tract whose center is nearest the specified coord. findTractPatchList(coordList)Find tracts and patches that overlap a region. generateTract(index)Generate TractInfo for the specified tract index. getSha1()Return a SHA1 hash that uniquely identifies this SkyMap instance. logSkyMapInfo(log)Write information about a sky map to supplied log register(name, butler)Add skymap, tract, and patch Dimension entries to the given Gen3 Butler. updateSha1(sha1)Add subclass-specific state or configuration options to the SHA1. Attributes Documentation
-
SKYMAP_DATASET_TYPE_NAME= 'skyMap'¶
-
SKYMAP_RUN_COLLECTION_NAME= 'skymaps'¶
Methods Documentation
-
findClosestTractPatchList(coordList)¶ Find closest tract and patches that overlap coordinates.
Parameters: - coordList :
lsst.geom.SpherePoint List of ICRS sky coordinates to search for.
Returns: - retList :
list list of (TractInfo, list of PatchInfo) for tracts and patches that contain, or may contain, the specified region. The list will be empty if there is no overlap.
- coordList :
-
findTract(coord)¶ Find the tract whose center is nearest the specified coord.
Parameters: - coord :
lsst.geom.SpherePoint ICRS sky coordinate to search for.
Returns: - result :
TractInfo TractInfo of tract whose center is nearest the specified coord.
Notes
- If coord is equidistant between multiple sky tract centers then one is arbitrarily chosen.
- The default implementation is not very efficient; subclasses may wish to override.
Warning: If tracts do not cover the whole sky then the returned tract may not include the coord.
- coord :
-
findTractPatchList(coordList)¶ Find tracts and patches that overlap a region.
Parameters: - coordList :
listoflsst.geom.SpherePoint List of ICRS sky coordinates to search for.
Returns: Notes
- warning:
- This uses a naive algorithm that may find some tracts and patches that do not overlap the region (especially if the region is not a rectangle aligned along patch x, y).
- coordList :
-
generateTract(index)¶ Generate TractInfo for the specified tract index.
-
getSha1()¶ Return a SHA1 hash that uniquely identifies this SkyMap instance.
Returns: - sha1 :
bytes A 20-byte hash that uniquely identifies this SkyMap instance.
Notes
Subclasses should almost always override
updateSha1instead of this function to add subclass-specific state to the hash.- sha1 :
-
logSkyMapInfo(log)¶ Write information about a sky map to supplied log
Parameters: - log :
lsst.log.Log Log object that information about skymap will be written
- log :
-
register(name, butler)¶ Add skymap, tract, and patch Dimension entries to the given Gen3 Butler.
Parameters: - name :
str The name of the skymap.
- butler :
lsst.daf.butler.Butler The butler to add to.
Raises: - lsst.daf.butler.registry.ConflictingDefinitionError
Raised if a different skymap exists with the same name.
Notes
Registering the same skymap multiple times (with the exact same definition) is safe, but inefficient; most of the work of computing the rows to be inserted must be done first in order to check for consistency between the new skymap and any existing one.
Re-registering a skymap with different tract and/or patch definitions but the same summary information may not be detected as a conflict but will never result in updating the skymap; there is intentionally no way to modify a registered skymap (aside from manual administrative operations on the database), as it is hard to guarantee that this can be done without affecting reproducibility.
- name :
-
updateSha1(sha1)¶ Add subclass-specific state or configuration options to the SHA1.
-