1 from __future__
import division
2 from builtins
import range
29 from .baseSkyMap
import BaseSkyMap
30 from .tractInfo
import TractInfo
32 __all__ = [
'EquatSkyMapConfig',
'EquatSkyMap']
36 numTracts = pexConfig.Field(
37 doc=
"number of tracts; warning: TAN projection requires at least 3",
41 decRange = pexConfig.ListField(
42 doc=
"range of declination (deg)",
45 default=(-1.25, 1.25),
53 """Equatorial sky map pixelization, e.g. for SDSS stripe 82 image data. 55 EquatSkyMap represents an equatorial band of sky divided along declination into overlapping tracts. 57 ConfigClass = EquatSkyMapConfig
61 """Construct a EquatSkyMap 63 @param[in] config: an instance of self.ConfigClass; if None the default config is used 65 BaseSkyMap.__init__(self, config)
67 decRange = tuple(afwGeom.Angle(dr, afwGeom.degrees)
for dr
in self.
config.decRange)
68 midDec = (decRange[0] + decRange[1]) / 2.0
69 tractWidthRA = afwGeom.Angle(360.0 / self.
config.numTracts, afwGeom.degrees)
70 tractOverlap = afwGeom.Angle(self.
config.tractOverlap, afwGeom.degrees)
72 for id
in range(self.
config.numTracts):
73 begRA = tractWidthRA * id
74 endRA = begRA + tractWidthRA
76 afwCoord.IcrsCoord(begRA, decRange[0]),
77 afwCoord.IcrsCoord(endRA, decRange[0]),
78 afwCoord.IcrsCoord(endRA, decRange[1]),
79 afwCoord.IcrsCoord(begRA, decRange[1]),
82 midRA = begRA + tractWidthRA / 2.0
83 ctrCoord = afwCoord.IcrsCoord(midRA, midDec)
86 crValCoord = afwCoord.IcrsCoord(midRA, afwGeom.Angle(0.0))
89 wcs = self.
_wcsFactory.makeWcs(crPixPos=afwGeom.Point2D(0, 0), crValCoord=crValCoord)
93 patchInnerDimensions=self.
config.patchInnerDimensions,
94 patchBorder=self.
config.patchBorder,
96 vertexCoordList=vertexCoordList,
97 tractOverlap=tractOverlap,
104 @return a dict containing: 105 - version: a pair of ints 116 @param[in] stateDict: a dict containing: 117 - version: a pair of ints 120 version = stateDict[
"version"]
121 if version >= (2, 0):
122 raise RuntimeError(
"Version = %s >= (2,0); cannot unpickle" % (version,))
126 """Return version (e.g. for pickle) 128 @return version as a pair of integers 133 """Add subclass-specific state or configuration options to the SHA1.""" 134 sha1.update(struct.pack(
"<i2d", self.
config.numTracts, *self.
config.decRange))
def updateSha1(self, sha1)
def __init__(self, config=None)
def __setstate__(self, stateDict)
def __init__(self, config=None)