Coverage for tests/test_cellInfo.py: 22%

62 statements  

« prev     ^ index     » next       coverage.py v6.5.0, created at 2022-10-28 10:32 +0000

1import unittest 

2 

3import lsst.utils.tests 

4import lsst.geom 

5 

6from lsst.skymap.discreteSkyMap import DiscreteSkyMap 

7from lsst.skymap import Index2D 

8 

9 

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() 

22 

23 self.skymap = DiscreteSkyMap(config=config) 

24 

25 def testProperties(self): 

26 """Test accessing via properties.""" 

27 tractInfo = self.skymap[0] 

28 patchInfo = tractInfo[0] 

29 cellInfo = patchInfo[0] 

30 

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)) 

41 

42 def testIndexes(self): 

43 """Test accessing by index via tuple and Index2D""" 

44 tractInfo = self.skymap[0] 

45 patchInfo = tractInfo[0] 

46 

47 index = Index2D(x=5, y=2) 

48 sequential_index = patchInfo.getSequentialCellIndexFromPair(index) 

49 cellInfo = patchInfo[index] 

50 

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) 

57 

58 for cellInfo in patchInfo: 

59 self.assertEqual(patchInfo[cellInfo.index], cellInfo) 

60 

61 def testSequentialIndex(self): 

62 """Test cell sequential indices.""" 

63 tractInfo = self.skymap[0] 

64 patchInfo = tractInfo[0] 

65 

66 for cellInfo in patchInfo: 

67 self.assertEqual(cellInfo.sequential_index, 

68 patchInfo.getSequentialCellIndex(cellInfo)) 

69 

70 def testSkyPolygons(self): 

71 """Test retrieving sky polygons.""" 

72 tractInfo = self.skymap[0] 

73 patchInfo = tractInfo[0] 

74 cellInfo = patchInfo[0] 

75 

76 wcs = tractInfo.wcs 

77 

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]) 

81 

82 self.assertEqual(cellInfo.inner_sky_polygon, poly) 

83 

84 

85class MemoryTester(lsst.utils.tests.MemoryTestCase): 

86 pass 

87 

88 

89def setup_module(module): 

90 lsst.utils.tests.init() 

91 

92 

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()