Coverage for tests/test_cellInfo.py: 22%
62 statements
« prev ^ index » next coverage.py v7.5.0, created at 2024-04-26 02:55 -0700
« prev ^ index » next coverage.py v7.5.0, created at 2024-04-26 02:55 -0700
1import unittest
3import lsst.utils.tests
4import lsst.geom
6from lsst.skymap.discreteSkyMap import DiscreteSkyMap
7from lsst.skymap import Index2D
10class CellInfoTestCase(lsst.utils.tests.TestCase):
11 def setUp(self):
12 # These are from the PS1 Medium-Deep fields
13 coords = [(10.6750, 41.2667), # M31
14 (36.2074, -04.5833), # XMM-LSS
15 ]
16 config = DiscreteSkyMap.ConfigClass()
17 config.raList = [c[0] for c in coords]
18 config.decList = [c[1] for c in coords]
19 config.radiusList = [2] * len(coords)
20 config.tractBuilder = "cells"
21 config.validate()
23 self.skymap = DiscreteSkyMap(config=config)
25 def testProperties(self):
26 """Test accessing via properties."""
27 tractInfo = self.skymap[0]
28 patchInfo = tractInfo[0]
29 cellInfo = patchInfo[0]
31 self.assertEqual(cellInfo.index, cellInfo.getIndex())
32 self.assertEqual(cellInfo.inner_bbox, cellInfo.getInnerBBox())
33 self.assertEqual(cellInfo.outer_bbox, cellInfo.getOuterBBox())
34 self.assertEqual(cellInfo.wcs, cellInfo.getWcs())
35 self.assertEqual(cellInfo.wcs, tractInfo.wcs)
36 self.assertEqual(cellInfo.sequential_index, cellInfo.getSequentialIndex())
37 self.assertEqual(cellInfo.inner_sky_polygon,
38 cellInfo.getInnerSkyPolygon(tractWcs=tractInfo.wcs))
39 self.assertEqual(cellInfo.outer_sky_polygon,
40 cellInfo.getOuterSkyPolygon(tractWcs=tractInfo.wcs))
42 def testIndexes(self):
43 """Test accessing by index via tuple and Index2D"""
44 tractInfo = self.skymap[0]
45 patchInfo = tractInfo[0]
47 index = Index2D(x=5, y=2)
48 sequential_index = patchInfo.getSequentialCellIndexFromPair(index)
49 cellInfo = patchInfo[index]
51 self.assertEqual(patchInfo.getSequentialCellIndexFromPair((5, 2)), sequential_index)
52 self.assertEqual(patchInfo.getCellInfo(index), cellInfo)
53 self.assertEqual(patchInfo.getCellInfo((5, 2)), cellInfo)
54 self.assertEqual(patchInfo[index], cellInfo)
55 self.assertEqual(patchInfo[sequential_index], cellInfo)
56 self.assertEqual(patchInfo[(5, 2)], cellInfo)
58 for cellInfo in patchInfo:
59 self.assertEqual(patchInfo[cellInfo.index], cellInfo)
61 def testSequentialIndex(self):
62 """Test cell sequential indices."""
63 tractInfo = self.skymap[0]
64 patchInfo = tractInfo[0]
66 for cellInfo in patchInfo:
67 self.assertEqual(cellInfo.sequential_index,
68 patchInfo.getSequentialCellIndex(cellInfo))
70 def testSkyPolygons(self):
71 """Test retrieving sky polygons."""
72 tractInfo = self.skymap[0]
73 patchInfo = tractInfo[0]
74 cellInfo = patchInfo[0]
76 wcs = tractInfo.wcs
78 innerBBox = cellInfo.inner_bbox
79 points = wcs.pixelToSky(lsst.geom.Box2D(innerBBox).getCorners())
80 poly = lsst.sphgeom.ConvexPolygon([p.getVector() for p in points])
82 self.assertEqual(cellInfo.inner_sky_polygon, poly)
85class MemoryTester(lsst.utils.tests.MemoryTestCase):
86 pass
89def setup_module(module):
90 lsst.utils.tests.init()
93if __name__ == "__main__": 93 ↛ 94line 93 didn't jump to line 94, because the condition on line 93 was never true
94 lsst.utils.tests.init()
95 unittest.main()