lsst.skymap
ga8c6da7877+f1d96605c8
Loading...
Searching...
No Matches
python
lsst
skymap
cellInfo.py
Go to the documentation of this file.
1
#
2
# LSST Data Management System
3
# Copyright 2008, 2009, 2010 LSST Corporation.
4
#
5
# This product includes software developed by the
6
# LSST Project (http://www.lsst.org/).
7
#
8
# This program is free software: you can redistribute it and/or modify
9
# it under the terms of the GNU General Public License as published by
10
# the Free Software Foundation, either version 3 of the License, or
11
# (at your option) any later version.
12
#
13
# This program is distributed in the hope that it will be useful,
14
# but WITHOUT ANY WARRANTY; without even the implied warranty of
15
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16
# GNU General Public License for more details.
17
#
18
# You should have received a copy of the LSST License Statement and
19
# the GNU General Public License along with this program. If not,
20
# see <http://www.lsstcorp.org/LegalNotices/>.
21
#
22
23
__all__ = [
"CellInfo"
]
24
25
from
.detail
import
makeSkyPolygonFromBBox
26
27
28
class
CellInfo
:
29
"""Information about a cell within a patch of a tract of a sky map.
30
31
See `PatchInfo` and `TractInfo` for more information.
32
33
Parameters
34
----------
35
index : `lsst.skymap.Index2D`
36
x,y index of a cell (a pair of ints)
37
innerBBox : `lsst.geom.Box2I`
38
Inner bounding box.
39
outerBBox : `lsst.geom.Box2I`
40
Outer bounding box.
41
sequentialIndex : `int`
42
Cell sequential index.
43
tractWcs : `lsst.afw.geom.SkyWcs`
44
Tract WCS object.
45
"""
46
def
__init__
(self, index, innerBBox, outerBBox, sequentialIndex, tractWcs):
47
self.
_index
= index
48
self.
_sequentialIndex
= sequentialIndex
49
self.
_innerBBox
= innerBBox
50
self.
_outerBBox
= outerBBox
51
self.
_wcs
= tractWcs
52
if
not
outerBBox.contains(innerBBox):
53
raise
RuntimeError(
"outerBBox=%s does not contain innerBBox=%s"
% (outerBBox, innerBBox))
54
55
def
getIndex
(self):
56
"""Return cell index: a tuple of (x, y)
57
58
Returns
59
-------
60
result : `lsst.skymap.Index2D`
61
Patch index (x, y).
62
"""
63
return
self.
_index
64
65
index = property(getIndex)
66
67
def
getSequentialIndex
(self):
68
"""Return cell sequential index.
69
70
Returns
71
-------
72
result : `int`
73
Sequential cell index.
74
"""
75
return
self.
_sequentialIndex
76
77
sequential_index = property(getSequentialIndex)
78
79
def
getWcs
(self):
80
"""Return the associated tract wcs
81
82
Returns
83
-------
84
wcs : `lsst.afw.geom.SkyWcs`
85
Tract WCS.
86
"""
87
return
self.
_wcs
88
89
wcs = property(getWcs)
90
91
def
getInnerBBox
(self):
92
"""Get inner bounding box.
93
94
Returns
95
-------
96
bbox : `lsst.geom.Box2I`
97
The inner bounding Box.
98
"""
99
return
self.
_innerBBox
100
101
inner_bbox = property(getInnerBBox)
102
103
def
getOuterBBox
(self):
104
"""Get outer bounding box.
105
106
Returns
107
-------
108
bbox : `lsst.geom.Box2I`
109
The outer bounding Box.
110
"""
111
return
self.
_outerBBox
112
113
outer_bbox = property(getOuterBBox)
114
115
def
getInnerSkyPolygon
(self, tractWcs=None):
116
"""Get the inner on-sky region.
117
118
Parameters
119
----------
120
tractWcs : `lsst.afw.image.SkyWcs`, optional
121
WCS for the associated tract.
122
123
Returns
124
-------
125
result : `lsst.sphgeom.ConvexPolygon`
126
The inner sky region.
127
"""
128
_tractWcs = tractWcs
if
tractWcs
is
not
None
else
self.
_wcs
129
return
makeSkyPolygonFromBBox(bbox=self.
getInnerBBox
(), wcs=_tractWcs)
130
131
@property
132
def
inner_sky_polygon
(self):
133
return
self.
getInnerSkyPolygon
()
134
135
def
getOuterSkyPolygon
(self, tractWcs=None):
136
"""Get the outer on-sky region.
137
138
Parameters
139
----------
140
tractWcs : `lsst.afw.image.SkyWcs`, optional
141
WCS for the associated tract.
142
143
Returns
144
-------
145
result : `lsst.sphgeom.ConvexPolygon`
146
The outer sky region.
147
"""
148
_tractWcs = tractWcs
if
tractWcs
is
not
None
else
self.
_wcs
149
return
makeSkyPolygonFromBBox(bbox=self.
getOuterBBox
(), wcs=_tractWcs)
150
151
@property
152
def
outer_sky_polygon
(self):
153
return
self.
getOuterSkyPolygon
()
154
155
def
__eq__
(self, rhs):
156
return
(self.
getIndex
() == rhs.getIndex()) \
157
and
(self.
getInnerBBox
() == rhs.getInnerBBox()) \
158
and
(self.
getOuterBBox
() == rhs.getOuterBBox())
159
160
def
__ne__
(self, rhs):
161
return
not
self.
__eq__
(rhs)
162
163
def
__str__
(self):
164
return
"CellInfo(index=%s)"
% (self.
getIndex
(),)
165
166
def
__repr__
(self):
167
return
"CellInfo(index=%s, innerBBox=%s, outerBBox=%s)"
% \
168
(self.
getIndex
(), self.
getInnerBBox
(), self.
getOuterBBox
())
lsst.skymap.cellInfo.CellInfo
Definition
cellInfo.py:28
lsst.skymap.cellInfo.CellInfo.inner_sky_polygon
inner_sky_polygon(self)
Definition
cellInfo.py:132
lsst.skymap.cellInfo.CellInfo._innerBBox
_innerBBox
Definition
cellInfo.py:49
lsst.skymap.cellInfo.CellInfo.__init__
__init__(self, index, innerBBox, outerBBox, sequentialIndex, tractWcs)
Definition
cellInfo.py:46
lsst.skymap.cellInfo.CellInfo.outer_sky_polygon
outer_sky_polygon(self)
Definition
cellInfo.py:152
lsst.skymap.cellInfo.CellInfo.getSequentialIndex
getSequentialIndex(self)
Definition
cellInfo.py:67
lsst.skymap.cellInfo.CellInfo.getOuterBBox
getOuterBBox(self)
Definition
cellInfo.py:103
lsst.skymap.cellInfo.CellInfo.__eq__
__eq__(self, rhs)
Definition
cellInfo.py:155
lsst.skymap.cellInfo.CellInfo.getWcs
getWcs(self)
Definition
cellInfo.py:79
lsst.skymap.cellInfo.CellInfo.getOuterSkyPolygon
getOuterSkyPolygon(self, tractWcs=None)
Definition
cellInfo.py:135
lsst.skymap.cellInfo.CellInfo._index
_index
Definition
cellInfo.py:47
lsst.skymap.cellInfo.CellInfo._outerBBox
_outerBBox
Definition
cellInfo.py:50
lsst.skymap.cellInfo.CellInfo.__ne__
__ne__(self, rhs)
Definition
cellInfo.py:160
lsst.skymap.cellInfo.CellInfo.getInnerBBox
getInnerBBox(self)
Definition
cellInfo.py:91
lsst.skymap.cellInfo.CellInfo._sequentialIndex
_sequentialIndex
Definition
cellInfo.py:48
lsst.skymap.cellInfo.CellInfo.__repr__
__repr__(self)
Definition
cellInfo.py:166
lsst.skymap.cellInfo.CellInfo.getIndex
getIndex(self)
Definition
cellInfo.py:55
lsst.skymap.cellInfo.CellInfo.__str__
__str__(self)
Definition
cellInfo.py:163
lsst.skymap.cellInfo.CellInfo._wcs
_wcs
Definition
cellInfo.py:51
lsst.skymap.cellInfo.CellInfo.getInnerSkyPolygon
getInnerSkyPolygon(self, tractWcs=None)
Definition
cellInfo.py:115
Generated on Wed Apr 24 2024 10:07:56 for lsst.skymap by
1.10.0