24"""Consider tweaking pixel scale so the average scale is as specified, rather
25than the scale at the center.
28__all__ = [
'DodecaSkyMapConfig',
'DodecaSkyMap']
35from .baseSkyMap
import BaseSkyMap
36from .tractInfo
import TractInfo
40 withTractsOnPoles = pexConfig.Field(
41 doc=
"if True center a tract on each pole, else put a vertex on each pole",
55 """Dodecahedron-based sky map pixelization.
57 DodecaSkyMap divides the sky into 12 overlapping Tracts arranged as the
58 faces of a dodecahedron.
63 The configuration
for this SkyMap;
if None use the default config.
65 ConfigClass = DodecaSkyMapConfig
69 BaseSkyMap.__init__(self, config)
76 tractCoord = detail.coordFromVec(tractVec, defRA=
geom.Angle(0))
77 tractRA = tractCoord.getLongitude()
78 vertexVecList = self.
_dodecahedron_dodecahedron.getVertices(id)
88 vertexCoordList=[detail.coordFromVec(vec, defRA=tractRA)
for vec
in vertexVecList],
89 tractOverlap=tractOverlap,
101 - version: a pair of ints
115 - version: a pair of ints
118 version = stateDict["version"]
119 if version >= (2, 0):
120 raise RuntimeError(
"Version = %s >= (2,0); cannot unpickle" % (version,))
124 """Find the tract whose inner region includes the coord.
129 ICRS sky coordinate to search for.
133 tractInfo : `TractInfo`
134 Info
for tract whose inner region includes the coord.
136 return self[self.
_dodecahedron_dodecahedron.getFaceInd(coord.getVector())]
139 """Return version (e.g. for pickle).
143 version : `tuple` of `int`
144 Version as a pair of integers.
149 """Return True if there are tracts centered on the poles.
154 """Add subclass-specific state or configuration options to the SHA1."""
155 sha1.update(struct.pack(
"<?", self.
configconfig.withTractsOnPoles))
def __init__(self, config=None)
def __setstate__(self, stateDict)
def getWithTractsOnPoles(self)
def __init__(self, config=None)
def updateSha1(self, sha1)
def findTract(self, coord)