Coverage for tests/test_getRaw.py : 27%

Hot-keys on this page
r m x p toggle line displays
j k next/prev highlighted chunk
0 (zero) top of page
1 (one) first highlighted chunk
# # LSST Data Management System # Copyright 2012, 2015 LSST Corporation. # # This product includes software developed by the # LSST Project (http://www.lsst.org/). # # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the LSST License Statement and # the GNU General Public License along with this program. If not, # see <http://www.lsstcorp.org/LegalNotices/>. #
# Desired VisitInfo values for visit 229388, shared between test_getRaw.py and # test_getInstcal.py
"dateAvg": DateTime("2013-09-01T06:06:00.876924000", DateTime.TAI), "exposureTime": 200.0, "darkTime": 201.15662, "era": 1.25232*radians, "boresightRaDec": SpherePoint(42.81995833, -0.00158305, degrees), "boresightAzAlt": SpherePoint(61.24, 90 - 50.46, degrees), "boresightAirmass": 1.57, "boresightRotAngle": float("nan")*degrees, "rotType": RotType.UNKNOWN, "obs_longitude": -70.81489000000001*degrees, "obs_latitude": -30.16606*degrees, "obs_elevation": 2215.0, "weath_airTemperature": 11.9, "weath_airPressure": 77900., "weath_humidity": 23.0}
"""Testing butler raw image retrieval"""
try: datadir = getPackageDir("testdata_decam") except pexExcept.NotFoundError: message = "testdata_decam not setup. Skipping." warnings.warn(message) raise unittest.SkipTest(message)
self.repoPath = os.path.join(datadir, "rawData") calibPath = os.path.join(datadir, "rawData/cpCalib") self.butler = dafPersist.Butler(root=self.repoPath, calibRoot=calibPath) self.size = (2160, 4146) self.dataId = {'visit': 229388, 'ccdnum': 1} self.filter = "z"
del self.butler
name = dafPersist.Butler.getMapperClass(root=self.repoPath).packageName self.assertEqual(name, "obs_decam")
"""Test retrieval of raw image""" exp = self.butler.get("raw", self.dataId)
print("dataId: %s" % self.dataId) print("width: %s" % exp.getWidth()) print("height: %s" % exp.getHeight()) print("detector id: %s" % exp.getDetector().getId())
self.assertEqual(exp.getWidth(), self.size[0]) self.assertEqual(exp.getHeight(), self.size[1]) self.assertEqual(exp.getDetector().getId(), self.dataId["ccdnum"]) self.assertEqual(exp.getFilter().getFilterProperty().getName(), self.filter) self.assertTrue(exp.hasWcs())
# Metadata which should have been copied from zeroth extension. visitInfo = exp.getInfo().getVisitInfo() self.assertEqual(visitInfo.getDate(), visit229388_info['dateAvg']) self.assertEqual(visitInfo.getExposureTime(), visit229388_info['exposureTime']) self.assertEqual(visitInfo.getDarkTime(), visit229388_info['darkTime']) self.assertEqual(visitInfo.getExposureId(), int("%07d%02d" % (229388, 1))) self.assertAnglesAlmostEqual(visitInfo.getEra(), visit229388_info['era'], maxDiff=0.0001*radians) self.assertSpherePointsAlmostEqual(visitInfo.getBoresightRaDec(), visit229388_info['boresightRaDec'], maxSep=0.1*arcseconds) self.assertSpherePointsAlmostEqual(visitInfo.getBoresightAzAlt(), visit229388_info['boresightAzAlt']) self.assertAlmostEqual(visitInfo.getBoresightAirmass(), visit229388_info['boresightAirmass']) self.assertTrue(math.isnan(visitInfo.getBoresightRotAngle().asDegrees())) self.assertEqual(visitInfo.getRotType(), visit229388_info['rotType']) observatory = visitInfo.getObservatory() self.assertAnglesAlmostEqual(observatory.getLongitude(), visit229388_info['obs_longitude']) self.assertAnglesAlmostEqual(observatory.getLatitude(), visit229388_info['obs_latitude']) self.assertAlmostEqual(observatory.getElevation(), visit229388_info['obs_elevation']) weather = visitInfo.getWeather() self.assertAlmostEqual(weather.getAirTemperature(), visit229388_info['weath_airTemperature']) self.assertAlmostEqual(weather.getAirPressure(), visit229388_info['weath_airPressure']) self.assertAlmostEqual(weather.getHumidity(), visit229388_info['weath_humidity'])
"""Test retrieval of metadata""" md = self.butler.get("raw_md", self.dataId) print("EXPNUM(visit): %s" % md.getScalar('EXPNUM')) print("ccdnum: %s" % md.getScalar('CCDNUM')) self.assertEqual(md.getScalar('EXPNUM'), self.dataId["visit"]) self.assertEqual(md.getScalar('CCDNUM'), self.dataId["ccdnum"])
"""Test retrieval of bias image""" exp = self.butler.get("cpBias", self.dataId) print("dataId: %s" % self.dataId) print("detector id: %s" % exp.getDetector().getId()) self.assertEqual(exp.getDetector().getId(), self.dataId["ccdnum"]) self.assertTrue(exp.hasWcs())
"""Test retrieval of flat image""" exp = self.butler.get("cpFlat", self.dataId) print("dataId: %s" % self.dataId) print("detector id: %s" % exp.getDetector().getId()) print("filter: %s" % self.filter) self.assertEqual(exp.getDetector().getId(), self.dataId["ccdnum"]) self.assertEqual(exp.getFilter().getFilterProperty().getName(), self.filter) self.assertTrue(exp.hasWcs())
"""Test retrieval of fringe image""" exp = self.butler.get("fringe", self.dataId) print("dataId: %s" % self.dataId) print("detector id: %s" % exp.getDetector().getId()) print("filter: %s" % self.filter) self.assertEqual(exp.getDetector().getId(), self.dataId["ccdnum"]) self.assertEqual(exp.getFilter().getFilterProperty().getName(), self.filter)
"""Test retrieval of defect list""" defectList = self.butler.get("defects", self.dataId) self.assertEqual(len(defectList), 395) for d in defectList: self.assertIsInstance(d, afwImage.DefectBase)
lsst.utils.tests.init()
lsst.utils.tests.init() unittest.main() |