DodecaSkyMap¶
- class lsst.skymap.DodecaSkyMap(config=None)¶
 Bases:
BaseSkyMapDodecahedron-based sky map pixelization.
DodecaSkyMap divides the sky into 12 overlapping Tracts arranged as the faces of a dodecahedron.
- Parameters:
 - config
lsst.skymap.BaseSkyMapConfig(optional) The configuration for this SkyMap; if None use the default config.
- config
 
Attributes Summary
Methods Summary
findClosestTractPatchList(coordList)Find closest tract and patches that overlap coordinates.
findTract(coord)Find the tract whose inner region includes the coord.
findTractIdArray(ra, dec[, degrees])Find array of tract IDs with vectorized operations (where supported).
findTractPatchList(coordList)Find tracts and patches that overlap a region.
getSha1()Return a SHA1 hash that uniquely identifies this SkyMap instance.
Return version (e.g.
Return True if there are tracts centered on the poles.
logSkyMapInfo(log)Write information about a sky map to supplied log
pack_data_id(tract, patch[, band])Pack a skymap-based data ID into an integer.
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.
- coordList
 - 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.
- retList
 
- findTract(coord)¶
 Find the tract whose inner region includes the coord.
- Parameters:
 - coord
lsst.geom.SpherePoint ICRS sky coordinate to search for.
- coord
 - Returns:
 - tractInfo
TractInfo Info for tract whose inner region includes the coord.
- tractInfo
 
- findTractIdArray(ra, dec, degrees=False)¶
 Find array of tract IDs with vectorized operations (where supported).
If a given sky map does not support vectorized operations, then a loop over findTract will be called.
- Parameters:
 - ra
np.ndarray Array of Right Ascension. Units are radians unless degrees=True.
- dec
np.ndarray Array of Declination. Units are radians unless degrees=True.
- degrees
bool, optional Input ra, dec arrays are degrees if True.
- ra
 - Returns:
 - tractId
np.ndarray Array of tract IDs
- tractId
 
Notes
If coord is equidistant between multiple sky tract centers then one is arbitrarily chosen.
Warning: If tracts do not cover the whole sky then the returned tract may not include the given ra/dec.
- findTractPatchList(coordList)¶
 Find tracts and patches that overlap a region.
- Parameters:
 - coordList
listoflsst.geom.SpherePoint List of ICRS sky coordinates to search for.
- coordList
 - 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).
- getSha1()¶
 Return a SHA1 hash that uniquely identifies this SkyMap instance.
- Returns:
 - sha1
bytes A 20-byte hash that uniquely identifies this SkyMap instance.
- sha1
 
Notes
Subclasses should almost always override
updateSha1instead of this function to add subclass-specific state to the hash.
- getVersion()¶
 Return version (e.g. for pickle).
- getWithTractsOnPoles()¶
 Return True if there are tracts centered on the poles.
- 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
 
- pack_data_id(tract, patch, band=None)¶
 Pack a skymap-based data ID into an integer.
- Parameters:
 - tract
int Integer ID for the tract.
- patch
tuple(int) orint Either a 2-element (x, y) tuple (Gen2 patch ID) or a single integer (Gen3 patch ID, corresponding to the “sequential” patch index methods in this package).
- band
str, optional If provided, a filter name present in
SkyMapDimensionPacker.SUPPORTED_FILTERS(which is aspirationally a list of all Gen3 ‘bands’, but in practice may be missing some; see RFC-785). If not provided, the packing algorithm that does not include the filter will be used.
- tract
 - Returns:
 
Notes
This method uses a Gen3
lsst.daf.butler.DimensionPackerobject under the hood to guarantee consistency with pure Gen3 code, but it does not require the caller to actually have a Gen3 butler available. It does, however, require a filter value compatible with the Gen3 “band” dimension.This is a temporary interface intended to aid with the migration from Gen2 to Gen3 middleware. It will be removed with the Gen2 middleware or when DM-31924 provides a longer-term replacement, whichever comes first. Pure Gen3 code should use
lsst.daf.butler.DataCoordinate.packor otherlsst.daf.butler.DimensionPackerinterfaces.
- 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.
- name
 - 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.
- updateSha1(sha1)¶
 Add subclass-specific state or configuration options to the SHA1.