25 from .baseSkyMap
import BaseSkyMap
26 from .tractInfo
import TractInfo
29 numTracts = pexConfig.Field(
30 doc =
"number of tracts; warning: TAN projection requires at least 3",
34 decRange = pexConfig.ListField(
35 doc =
"range of declination (deg)",
38 default = (-1.25, 1.25),
46 """Equatorial sky map pixelization, e.g. for SDSS stripe 82 image data.
48 EquatSkyMap represents an equatorial band of sky divided along declination into overlapping tracts.
50 ConfigClass = EquatSkyMapConfig
54 """Construct a EquatSkyMap
56 @param[in] config: an instance of self.ConfigClass; if None the default config is used
58 BaseSkyMap.__init__(self, config)
60 decRange = tuple(
afwGeom.Angle(dr, afwGeom.degrees)
for dr
in self.config.decRange)
61 midDec = (decRange[0] +decRange[1]) / 2.0
62 tractWidthRA =
afwGeom.Angle(360.0 / self.config.numTracts, afwGeom.degrees)
63 tractOverlap =
afwGeom.Angle(self.config.tractOverlap, afwGeom.degrees)
65 for id
in range(self.config.numTracts):
66 begRA = tractWidthRA * id
67 endRA = begRA + tractWidthRA
75 midRA = begRA + tractWidthRA / 2.0
82 wcs = self._wcsFactory.makeWcs(crPixPos=
afwGeom.Point2D(0,0), crValCoord=crValCoord)
84 self._tractInfoList.append(TractInfo(
86 patchInnerDimensions = self.config.patchInnerDimensions,
87 patchBorder = self.config.patchBorder,
89 vertexCoordList = vertexCoordList,
90 tractOverlap = tractOverlap,
99 @return a dict containing:
100 - version: a pair of ints
105 config = self.config,
111 @param[in] stateDict: a dict containing:
112 - version: a pair of ints
115 version = stateDict[
"version"]
116 if version >= (2, 0):
117 raise runtimeError(
"Version = %s >= (2,0); cannot unpickle" % (version,))
121 """Return version (e.g. for pickle)
123 @return version as a pair of integers
A class to handle Icrs coordinates (inherits from Coord)