1 from __future__
import division
2 from builtins
import range
24 import lsst.pex.config
as pexConfig
25 import lsst.afw.coord
as afwCoord
26 import lsst.afw.geom
as afwGeom
27 from .baseSkyMap
import BaseSkyMap
28 from .tractInfo
import TractInfo
32 numTracts = pexConfig.Field(
33 doc=
"number of tracts; warning: TAN projection requires at least 3",
37 decRange = pexConfig.ListField(
38 doc=
"range of declination (deg)",
41 default=(-1.25, 1.25),
49 """Equatorial sky map pixelization, e.g. for SDSS stripe 82 image data.
51 EquatSkyMap represents an equatorial band of sky divided along declination into overlapping tracts.
53 ConfigClass = EquatSkyMapConfig
57 """Construct a EquatSkyMap
59 @param[in] config: an instance of self.ConfigClass; if None the default config is used
61 BaseSkyMap.__init__(self, config)
63 decRange = tuple(afwGeom.Angle(dr, afwGeom.degrees)
for dr
in self.config.decRange)
64 midDec = (decRange[0] + decRange[1]) / 2.0
65 tractWidthRA = afwGeom.Angle(360.0 / self.config.numTracts, afwGeom.degrees)
66 tractOverlap = afwGeom.Angle(self.config.tractOverlap, afwGeom.degrees)
68 for id
in range(self.config.numTracts):
69 begRA = tractWidthRA * id
70 endRA = begRA + tractWidthRA
72 afwCoord.IcrsCoord(begRA, decRange[0]),
73 afwCoord.IcrsCoord(endRA, decRange[0]),
74 afwCoord.IcrsCoord(endRA, decRange[1]),
75 afwCoord.IcrsCoord(begRA, decRange[1]),
78 midRA = begRA + tractWidthRA / 2.0
79 ctrCoord = afwCoord.IcrsCoord(midRA, midDec)
82 crValCoord = afwCoord.IcrsCoord(midRA, afwGeom.Angle(0.0))
85 wcs = self._wcsFactory.makeWcs(crPixPos=afwGeom.Point2D(0, 0), crValCoord=crValCoord)
87 self._tractInfoList.append(TractInfo(
89 patchInnerDimensions=self.config.patchInnerDimensions,
90 patchBorder=self.config.patchBorder,
92 vertexCoordList=vertexCoordList,
93 tractOverlap=tractOverlap,
100 @return a dict containing:
101 - version: a pair of ints
112 @param[in] stateDict: a dict containing:
113 - version: a pair of ints
116 version = stateDict[
"version"]
117 if version >= (2, 0):
118 raise runtimeError(
"Version = %s >= (2,0); cannot unpickle" % (version,))
122 """Return version (e.g. for pickle)
124 @return version as a pair of integers