Coverage for tests/test_ScaledApertureFlux.py : 33%

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 2008-2017 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 <http://www.lsstcorp.org/LegalNotices/>. #
SingleFramePluginTransformSetupHelper)
self.center = lsst.geom.Point2D(50.1, 49.8) self.bbox = lsst.geom.Box2I(lsst.geom.Point2I(0, 0), lsst.geom.Extent2I(100, 100)) self.dataset = lsst.meas.base.tests.TestDataset(self.bbox) self.sourceFlux = 100000.0 self.dataset.addSource(self.sourceFlux, self.center)
del self.center del self.bbox del self.dataset
""" Construct a ScaledApertureFluxAlgorithm with an accompanying schema and return them both. """ if ctrl is None: ctrl = lsst.meas.base.ScaledApertureFluxControl() schema = lsst.meas.base.tests.TestDataset.makeMinimalSchema() algorithm = lsst.meas.base.ScaledApertureFluxAlgorithm(ctrl, "base_ScaledApertureFlux", schema) return algorithm, schema
"""Check that we recover the source instFlux.""" ctrl = lsst.meas.base.ScaledApertureFluxControl() algorithm, schema = self.makeAlgorithm(ctrl) exposure, catalog = self.dataset.realize(10.0, schema, randomSeed=0)
# Default aperture should collect ~all source instFlux. algorithm.measure(catalog[0], exposure) self.assertAlmostEqual(catalog[0].get("base_ScaledApertureFlux_instFlux") / self.sourceFlux, 1.0, 2) self.assertFalse(catalog[0].get("base_ScaledApertureFlux_flag")) self.assertFalse(catalog[0].get("base_ScaledApertureFlux_flag_apertureTruncated")) self.assertFalse(catalog[0].get("base_ScaledApertureFlux_flag_sincCoeffsTruncated"))
# Aperture equal to the PSF FWHM should collect ~93.7% of the instFlux. ctrl.scale = 1.0 algorithm, schema = self.makeAlgorithm(ctrl) algorithm.measure(catalog[0], exposure) self.assertAlmostEqual(catalog[0].get("base_ScaledApertureFlux_instFlux") / self.sourceFlux, 0.9375, 2) self.assertFalse(catalog[0].get("base_ScaledApertureFlux_flag")) self.assertFalse(catalog[0].get("base_ScaledApertureFlux_flag_apertureTruncated")) self.assertFalse(catalog[0].get("base_ScaledApertureFlux_flag_sincCoeffsTruncated"))
"""Check that we set a flag appropriately when the aperture overflows the image.""" """ Note that this is a fatal failure: we do not return a useful result, but rather set the global flag. """ ctrl = lsst.meas.base.ScaledApertureFluxControl() ctrl.scale = 100 algorithm, schema = self.makeAlgorithm(ctrl) exposure, catalog = self.dataset.realize(10.0, schema, randomSeed=1)
algorithm.measure(catalog[0], exposure) self.assertTrue(math.isnan(catalog[0].get("base_ScaledApertureFlux_instFlux"))) self.assertTrue(catalog[0].get("base_ScaledApertureFlux_flag")) self.assertTrue(catalog[0].get("base_ScaledApertureFlux_flag_apertureTruncated")) self.assertTrue(catalog[0].get("base_ScaledApertureFlux_flag_sincCoeffsTruncated"))
"""Check that we set a flag appropriately when the coefficient image is clipped.""" """ Note that we don't regard this as a fatal failure, so the global flag is not set and we still provide a numeric result. """ ctrl = lsst.meas.base.ScaledApertureFluxControl() ctrl.scale = 10 algorithm, schema = self.makeAlgorithm(ctrl) exposure, catalog = self.dataset.realize(10.0, schema, randomSeed=2)
algorithm.measure(catalog[0], exposure) self.assertFalse(math.isnan(catalog[0].get("base_ScaledApertureFlux_instFlux"))) self.assertFalse(catalog[0].get("base_ScaledApertureFlux_flag")) self.assertFalse(catalog[0].get("base_ScaledApertureFlux_flag_apertureTruncated")) self.assertTrue(catalog[0].get("base_ScaledApertureFlux_flag_sincCoeffsTruncated"))
SingleFramePluginTransformSetupHelper, lsst.utils.tests.TestCase):
lsst.utils.tests.init()
lsst.utils.tests.init() unittest.main() |