Coverage for tests/test_matcherSourceSelector.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 2008-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/>. #
"slot_Centroid_flag", "slot_ApFlux_flag", "base_PixelFlags_flag_edge", "base_PixelFlags_flag_interpolatedCenter", "base_PixelFlags_flag_saturated", ]
"""Insert a likely-good source into the catalog.""" """ num is added to various values to distinguish them in catalogs with multiple objects. """ src.addNew() src['coord_ra'][-1] = 1. + num src['coord_dec'][-1] = 2. + num src['slot_Centroid_x'][-1] = 10. + num src['slot_Centroid_y'][-1] = 20. + num src['slot_ApFlux_instFlux'][-1] = 100. + num src['slot_ApFlux_instFluxErr'][-1] = 1.
schema = lsst.meas.base.tests.TestDataset.makeMinimalSchema() schema.addField("slot_ApFlux_instFlux", type=float) schema.addField("slot_ApFlux_instFluxErr", type=float) for flag in badFlags: schema.addField(flag, type="Flag")
self.src = afwTable.SourceCatalog(schema) self.sourceSelector = sourceSelector.sourceSelectorRegistry['matcher']()
del self.src del self.sourceSelector
for i in range(5): add_good_source(self.src, i) result = self.sourceSelector.run(self.src) # TODO: assertEqual doesn't work correctly on source catalogs. # self.assertEqual(result.sourceCat, self.src) for x in self.src['id']: self.assertIn(x, result.sourceCat['id'])
add_good_source(self.src, 1) self.src[0].set('slot_Centroid_x', np.nan) result = self.sourceSelector.run(self.src) self.assertNotIn(self.src['id'][0], result.sourceCat['id'])
add_good_source(self.src, 1) self.src[0].set('parent', 1) result = self.sourceSelector.run(self.src) self.assertNotIn(self.src['id'][0], result.sourceCat['id'])
add_good_source(self.src, 1) add_good_source(self.src, 2) self.src['slot_ApFlux_instFlux'][0] = 20. self.src['slot_ApFlux_instFlux'][1] = 1000.
self.sourceSelector.config.minSnr = 100 result = self.sourceSelector.run(self.src) self.assertNotIn(self.src[0]['id'], result.sourceCat['id']) self.assertIn(self.src[1]['id'], result.sourceCat['id'])
self.sourceSelector.config.minSnr = 0 add_good_source(self.src, 1) self.src['slot_ApFlux_instFlux'][0] = 0 result = self.sourceSelector.run(self.src) self.assertIn(self.src[0]['id'], result.sourceCat['id'])
add_good_source(self.src, 1) self.src[0].set('base_PixelFlags_flag_edge', 1) result = self.sourceSelector.run(self.src) self.assertNotIn(self.src['id'][0], result.sourceCat['id'])
add_good_source(self.src, 1) self.src[0].set('base_PixelFlags_flag_interpolatedCenter', 1) result = self.sourceSelector.run(self.src) self.assertNotIn(self.src['id'][0], result.sourceCat['id'])
add_good_source(self.src, 1) self.src[0].set('base_PixelFlags_flag_saturated', 1) result = self.sourceSelector.run(self.src) self.assertNotIn(self.src['id'][0], result.sourceCat['id'])
lsst.utils.tests.init()
lsst.utils.tests.init() unittest.main() |