23 __all__ = [
'EquatSkyMapConfig',
'EquatSkyMap']
27 import lsst.pex.config
as pexConfig
29 from .baseSkyMap
import BaseSkyMap
30 from .tractInfo
import TractInfo
34 numTracts = pexConfig.Field(
35 doc=
"number of tracts; warning: TAN projection requires at least 3",
39 decRange = pexConfig.ListField(
40 doc=
"range of declination (deg)",
43 default=(-1.25, 1.25),
51 """Equatorial sky map pixelization, e.g. for SDSS stripe 82 image data.
53 EquatSkyMap represents an equatorial band of sky divided along declination
54 into overlapping tracts.
58 config : `lsst.skymap.BaseSkyMapConfig` (optional)
59 The configuration for this SkyMap; if None use the default config.
61 ConfigClass = EquatSkyMapConfig
65 BaseSkyMap.__init__(self, config)
67 decRange = tuple(
geom.Angle(dr, geom.degrees)
for dr
in self.
config.decRange)
68 midDec = (decRange[0] + decRange[1]) / 2.0
72 for id
in range(self.
config.numTracts):
73 begRA = tractWidthRA * id
74 endRA = begRA + tractWidthRA
82 midRA = begRA + tractWidthRA / 2.0
93 patchInnerDimensions=self.
config.patchInnerDimensions,
94 patchBorder=self.
config.patchBorder,
96 vertexCoordList=vertexCoordList,
97 tractOverlap=tractOverlap,
108 - version: a pair of ints
123 - version: a pair of ints
126 version = stateDict[
"version"]
127 if version >= (2, 0):
128 raise RuntimeError(
"Version = %s >= (2,0); cannot unpickle" % (version,))
132 """Return version (e.g. for pickle).
136 result : `tuple` of `int`
137 Version as a pair of integers.
142 """Add subclass-specific state or configuration options to the SHA1."""
143 sha1.update(struct.pack(
"<i2d", self.
config.numTracts, *self.
config.decRange))