Coverage for tests/nopytest_test_processCcd.py : 44%

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 2016 AURA/LSST. # # 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 <https://www.lsstcorp.org/LegalNotices/>. #
"""Tests to run processCcd or tests with processed data""" def setUpClass(cls): """Runs ProcessCcdTask so the test* methods can inspect the results."""
cls.outPath = tempfile.mkdtemp() if OutputName is None else OutputName cls.dataId = {'visit': 229388, 'ccdnum': 1} configPath = os.path.join(getPackageDir("obs_decam"), "config") argsList = [os.path.join(cls.datadir, "rawData"), "--output", cls.outPath, "--id"] argsList += ["%s=%s" % (key, val) for key, val in cls.dataId.items()] argsList += ["--calib", os.path.join(cls.datadir, "rawData/cpCalib")] argsList += ["--config", "calibrate.doPhotoCal=False", "calibrate.doAstrometry=False", # This test uses CP-MasterCal calibration products "-C", "%s/processCcdCpIsr.py" % configPath] argsList.append('--doraise') disableImplicitThreading() # avoid contention with other processes fullResult = ProcessCcdTask.parseAndRun(args=argsList, doReturnResults=True) cls.butler = fullResult.parsedCmd.butler cls.config = fullResult.parsedCmd.config
def tearDownClass(cls): del cls.butler if OutputName is None: shutil.rmtree(cls.outPath) else: print("testProcessCcd.py's output data saved to %r" % (OutputName,))
"""Sanity check of running processCcd with raw data""" exp = self.butler.get("calexp", self.dataId, immediate=True) self.assertIsInstance(exp, afwImage.ExposureF) self.assertEqual(exp.getWidth(), 2048) self.assertEqual(exp.getHeight(), 4096)
"""Test to retrieve calexp using ccd as the ccd key""" exp = self.butler.get("calexp", visit=229388, ccd=1, immediate=True) self.assertIsInstance(exp, afwImage.ExposureF)
"""Test the wcs of postISRCCD products
The postISRCCD wcs should be the same as the raw wcs after adding camera distortion and adjustment of overscan/prescan trimming. Test DM-4859. """ if not self.config.isr.doWrite or not self.config.isr.assembleCcd.doTrim: return expRaw = self.butler.get("raw", self.dataId, immediate=True) expPost = self.butler.get("postISRCCD", self.dataId, immediate=True) self.assertIsInstance(expPost, afwImage.ExposureF) wcsRaw = expRaw.getWcs() wcsPost = expPost.getWcs() # Shift WCS for trimming the prescan and overscan region # ccdnum 1 is S29, with overscan in the bottom wcsRaw = wcsRaw.copyAtShiftedPixelOrigin(afwGeom.Extent2D(-56, -50)) self.assertWcsAlmostEqualOverBBox(wcsRaw, wcsPost, expPost.getBBox())
lsst.utils.tests.init() unittest.main() |