def testActualCatalog(self): """ Make sure that the values written to catalogs that are instantiated using setupPhotometryCatalog are correct """ msgroot = ['failed on stars; ', 'failed on galaxies; '] testCatClasses = [testStarCatalog, testGalaxyCatalog] testCatDBs = [self.starDBObj, self.galaxyDBObj] baselineCats = [] baselineCats.append(baselineStarCatalog(self.starDBObj, obs_metadata=self.obs_metadata_compound, column_outputs=['lsst_g', 'sigma_lsst_g', 'lsst_i', 'sigma_lsst_i'])) baselineCats.append(baselineGalaxyCatalog(self.galaxyDBObj, obs_metadata=self.obs_metadata_compound, column_outputs=['lsst_g', 'sigma_lsst_g', 'lsst_i', 'sigma_lsst_i'])) testName = os.path.join(getPackageDir('sims_catUtils'), 'tests', 'scratchSpace', 'testSetUp_testActual_testSetupCat.txt') baseName = os.path.join(getPackageDir('sims_catUtils'), 'tests', 'scratchSpace', 'testSetUp_testActual_baseSetupCat.txt') if os.path.exists(testName): os.unlink(testName) if os.path.exists(baseName): os.unlink(baseName) basedtype = np.dtype([('raObserved', np.float), ('decObserved', np.float), ('lsst_g', np.float), ('sigma_lsst_g', np.float), ('lsst_i', np.float), ('sigma_lsst_i', np.float)]) for (testCatClass, dbo, baselineCat, msgr) in zip(testCatClasses, testCatDBs, baselineCats, msgroot): testdtype = np.dtype([('raObserved', np.float), ('decObserved', np.float), ('lsst_g', np.float)]) testCat = setupPhotometryCatalog(obs_metadata=self.obs_metadata, dbConnection=dbo, catalogClass=testCatClass) testCat.write_catalog(testName) baselineCat.write_catalog(baseName) testData = np.genfromtxt(testName, dtype=testdtype, delimiter=',') baseData = np.genfromtxt(baseName, dtype=basedtype, delimiter=',') self.assertGreater(len(testData), 0) self.assertGreater(len(baseData), 0) ct = 0 for b, t in zip(baseData, testData): self.assertAlmostEqual(b['lsst_g'], t['lsst_g'], 12, msg = '%s single column; %.12e != %.12e' % (msgr, b['lsst_g'], t['lsst_g'])) ct += 1 self.assertGreater(ct, 0) testdtype = np.dtype([('raObserved', np.float), ('decObserved', np.float), ('lsst_g', np.float), ('lsst_i', np.float)]) testCat = setupPhotometryCatalog(obs_metadata=self.obs_metadata_compound, dbConnection=dbo, catalogClass=testCatClass) testCat.write_catalog(testName) testData = np.genfromtxt(testName, dtype=testdtype, delimiter=',') self.assertGreater(len(testData), 0) ct = 0 for b, t in zip(baseData, testData): self.assertAlmostEqual(b['lsst_g'], t['lsst_g'], 12, msg = '%s double column; %.12e != %.12e ' % (msgr, b['lsst_g'], t['lsst_g'])) self.assertAlmostEqual(b['lsst_i'], t['lsst_i'], 12, msg = '%s double column; %.12e != %.12e ' % (msgr, b['lsst_i'], t['lsst_i'])) ct += 1 self.assertGreater(ct, 0) if os.path.exists(testName): os.unlink(testName) if os.path.exists(baseName): os.unlink(baseName)
def testActualCatalogWithUncertainty(self): """ Make sure that the values written to catalogs that are instantiated using setupPhotometryCatalog are correct (include photometric uncertainty) """ msgroot = ['failed on stars; ', 'failed on galaxies; '] testCatClasses = [testStarCatalog, testGalaxyCatalog] testCatDBs = [self.starDBObj, self.galaxyDBObj] baselineCats = [] # need to set up the baseline catalogs with the compound obs_metadata so that they get the # correct m5 values for both magnitudes (otherwise, they will use LSST defaults, which # disagree with our cartoon test case) baselineCats.append(baselineStarCatalog(self.starDBObj, obs_metadata=self.obs_metadata_compound, column_outputs=['lsst_g', 'lsst_i', 'sigma_lsst_g', 'sigma_lsst_i'])) baselineCats.append(baselineGalaxyCatalog(self.galaxyDBObj, obs_metadata=self.obs_metadata_compound, column_outputs=['lsst_g', 'lsst_i', 'sigma_lsst_g', 'sigma_lsst_i'])) testName = os.path.join(getPackageDir('sims_catUtils'), 'tests', 'scratchSpace', 'testSetup_testSetupCatUncertainty.txt') baseName = os.path.join(getPackageDir('sims_catUtils'), 'tests', 'scratchSpace', 'testSetup_baseSetupCatUncertainty.txt') if os.path.exists(testName): os.unlink(testName) if os.path.exists(baseName): os.unlink(baseName) basedtype = np.dtype([('raObserved', np.float), ('decObserved', np.float), ('lsst_g', np.float), ('lsst_i', np.float), ('sigma_lsst_g', np.float), ('sigma_lsst_i', np.float)]) for (testCatClass, dbo, baselineCat, msgr) in zip(testCatClasses, testCatDBs, baselineCats, msgroot): testCat = setupPhotometryCatalog(obs_metadata=self.obs_metadata, dbConnection=dbo, catalogClass=testCatClass, uncertainty=True) testdtype = np.dtype([('raObserved', np.float), ('decObserved', np.float), ('lsst_g', np.float), ('sigma_lsst_g', np.float)]) testCat.write_catalog(testName) baselineCat.write_catalog(baseName) testData = np.genfromtxt(testName, dtype=testdtype, delimiter=',') baseData = np.genfromtxt(baseName, dtype=basedtype, delimiter=',') self.assertGreater(len(testData), 0) self.assertGreater(len(baseData), 0) ct = 0 for b, t in zip(baseData, testData): self.assertAlmostEqual(b['lsst_g'], t['lsst_g'], 12, msg = '%s single column; %.12e != %.12e ' % (msgr, b['lsst_g'], t['lsst_g'])) self.assertAlmostEqual(b['sigma_lsst_g'], t['sigma_lsst_g'], 12, msg = '%s sigle column; %.12e != %.12e ' % (msgr, b['sigma_lsst_i'], t['sigma_lsst_g'])) ct += 1 self.assertGreater(ct, 0) testdtype = np.dtype([('raObserved', np.float), ('decObserved', np.float), ('lsst_g', np.float), ('sigma_lsst_g', np.float), ('lsst_i', np.float), ('sigma_lsst_i', np.float)]) testCat = setupPhotometryCatalog(obs_metadata=self.obs_metadata_compound, dbConnection=dbo, catalogClass=testCatClass, uncertainty=True) testCat.write_catalog(testName) testData = np.genfromtxt(testName, dtype=testdtype, delimiter=',') self.assertGreater(len(testData), 0) ct = 0 for b, t in zip(baseData, testData): self.assertAlmostEqual(b['lsst_g'], t['lsst_g'], 12, msg = '%s double column; %.12e != %.12e ' % (msgr, b['lsst_g'], t['lsst_g'])) self.assertAlmostEqual(b['lsst_i'], t['lsst_i'], 12, msg = '%s double column; %.12e != %.12e ' % (msgr, b['lsst_i'], t['lsst_i'])) self.assertAlmostEqual(b['sigma_lsst_g'], t['sigma_lsst_g'], 12, msg = '%s double column; %.12e != %.12e ' % (msgr, b['sigma_lsst_g'], t['lsst_g'])) self.assertAlmostEqual(b['sigma_lsst_i'], t['sigma_lsst_i'], 12, msg = '%s double column; %.12e != %.12e ' % (msgr, b['sigma_lsst_i'], t['sigma_lsst_i'])) ct += 1 self.assertGreater(ct, 0) if os.path.exists(testName): os.unlink(testName) if os.path.exists(baseName): os.unlink(baseName)
def testSetupPhotometry(self): """ Make sure that catalogs instantiated by setupPhotometryCatalog contain the correct columns. """ # test case with a single bandpass cat = setupPhotometryCatalog(obs_metadata=self.obs_metadata, dbConnection=self.starDBObj, catalogClass=testStarCatalog) self.assertIn('lsst_g', cat.iter_column_names()) self.assertNotIn('lsst_u', cat.iter_column_names()) self.assertNotIn('lsst_r', cat.iter_column_names()) self.assertNotIn('lsst_i', cat.iter_column_names()) self.assertNotIn('lsst_z', cat.iter_column_names()) self.assertNotIn('lsst_y', cat.iter_column_names()) self.assertNotIn('sigma_lsst_g', cat.iter_column_names()) self.assertNotIn('sigma_lsst_u', cat.iter_column_names()) self.assertNotIn('sigma_lsst_r', cat.iter_column_names()) self.assertNotIn('sigma_lsst_i', cat.iter_column_names()) self.assertNotIn('sigma_lsst_z', cat.iter_column_names()) self.assertNotIn('sigma_lsst_y', cat.iter_column_names()) cat = setupPhotometryCatalog(obs_metadata=self.obs_metadata, dbConnection=self.starDBObj, catalogClass=testStarCatalog, uncertainty=True) self.assertIn('lsst_g', cat.iter_column_names()) self.assertNotIn('lsst_u', cat.iter_column_names()) self.assertNotIn('lsst_r', cat.iter_column_names()) self.assertNotIn('lsst_i', cat.iter_column_names()) self.assertNotIn('lsst_z', cat.iter_column_names()) self.assertNotIn('lsst_y', cat.iter_column_names()) self.assertIn('sigma_lsst_g', cat.iter_column_names()) self.assertNotIn('sigma_lsst_u', cat.iter_column_names()) self.assertNotIn('sigma_lsst_r', cat.iter_column_names()) self.assertNotIn('sigma_lsst_i', cat.iter_column_names()) self.assertNotIn('sigma_lsst_z', cat.iter_column_names()) self.assertNotIn('sigma_lsst_y', cat.iter_column_names()) # test case with two bandpasses cat = setupPhotometryCatalog(obs_metadata=self.obs_metadata_compound, dbConnection=self.starDBObj, catalogClass=testStarCatalog) self.assertIn('lsst_g', cat.iter_column_names()) self.assertIn('lsst_i', cat.iter_column_names()) self.assertNotIn('lsst_u', cat.iter_column_names()) self.assertNotIn('lsst_r', cat.iter_column_names()) self.assertNotIn('lsst_z', cat.iter_column_names()) self.assertNotIn('lsst_y', cat.iter_column_names()) self.assertNotIn('sigma_lsst_g', cat.iter_column_names()) self.assertNotIn('sigma_lsst_u', cat.iter_column_names()) self.assertNotIn('sigma_lsst_r', cat.iter_column_names()) self.assertNotIn('sigma_lsst_i', cat.iter_column_names()) self.assertNotIn('sigma_lsst_z', cat.iter_column_names()) self.assertNotIn('sigma_lsst_y', cat.iter_column_names()) cat = setupPhotometryCatalog(obs_metadata=self.obs_metadata_compound, dbConnection=self.starDBObj, catalogClass=testStarCatalog, uncertainty=True) self.assertIn('lsst_g', cat.iter_column_names()) self.assertIn('lsst_i', cat.iter_column_names()) self.assertNotIn('lsst_u', cat.iter_column_names()) self.assertNotIn('lsst_r', cat.iter_column_names()) self.assertNotIn('lsst_z', cat.iter_column_names()) self.assertNotIn('lsst_y', cat.iter_column_names()) self.assertIn('sigma_lsst_g', cat.iter_column_names()) self.assertIn('sigma_lsst_i', cat.iter_column_names()) self.assertNotIn('sigma_lsst_u', cat.iter_column_names()) self.assertNotIn('sigma_lsst_r', cat.iter_column_names()) self.assertNotIn('sigma_lsst_z', cat.iter_column_names()) self.assertNotIn('sigma_lsst_y', cat.iter_column_names()) # make sure that class default columns did not get overwritten cat = testStarCatalog(self.starDBObj, obs_metadata=self.obs_metadata) self.assertNotIn('lsst_u', cat.iter_column_names()) self.assertNotIn('lsst_g', cat.iter_column_names()) self.assertNotIn('lsst_r', cat.iter_column_names()) self.assertNotIn('lsst_i', cat.iter_column_names()) self.assertNotIn('lsst_z', cat.iter_column_names()) self.assertNotIn('lsst_y', cat.iter_column_names())
def testActualCatalogWithUncertainty(self): """ Make sure that the values written to catalogs that are instantiated using setupPhotometryCatalog are correct (include photometric uncertainty) """ msgroot = ['failed on stars; ', 'failed on galaxies; '] testCatClasses = [testStarCatalog, testGalaxyCatalog] testCatDBs = [self.starDBObj, self.galaxyDBObj] baselineCats = [] #need to set up the baseline catalogs with the compound obs_metadata so that they get the #correct m5 values for both magnitudes (otherwise, they will use LSST defaults, which #disagree with our cartoon test case) baselineCats.append(baselineStarCatalog(self.starDBObj, obs_metadata=self.obs_metadata_compound)) baselineCats.append(baselineGalaxyCatalog(self.galaxyDBObj, obs_metadata=self.obs_metadata_compound)) testName = 'testSetupCatUncertainty.txt' baseName = 'baseSetupCatUncertainty.txt' basedtype = numpy.dtype([('raObserved', numpy.float), ('decObserved', numpy.float), ('lsst_u', numpy.float), ('lsst_g', numpy.float), ('lsst_r', numpy.float), ('lsst_i', numpy.float), ('lsst_z', numpy.float), ('lsst_y', numpy.float), ('sigma_lsst_u', numpy.float), ('sigma_lsst_g',numpy.float), ('sigma_lsst_r', numpy.float), ('sigma_lsst_i', numpy.float), ('sigma_lsst_z', numpy.float), ('sigma_lsst_y', numpy.float)]) for (testCatClass, dbo, baselineCat, msgr) in zip(testCatClasses, testCatDBs, baselineCats, msgroot): testCat = setupPhotometryCatalog(obs_metadata=self.obs_metadata, dbConnection=dbo, catalogClass=testCatClass, uncertainty=True) testdtype = numpy.dtype([('raObserved', numpy.float), ('decObserved', numpy.float), ('lsst_g', numpy.float), ('sigma_lsst_g', numpy.float)]) testCat.write_catalog(testName) baselineCat.write_catalog(baseName) testData = numpy.genfromtxt(testName, dtype=testdtype, delimiter=',') baseData = numpy.genfromtxt(baseName, dtype=basedtype, delimiter=',') ct = 0 for b, t in zip(baseData, testData): self.assertAlmostEqual(b['lsst_g'], t['lsst_g'], 12, msg = '%s single column; %.12e != %.12e ' % (msgr, b['lsst_g'], t['lsst_g'])) self.assertAlmostEqual(b['sigma_lsst_g'], t['sigma_lsst_g'], 12, msg = '%s sigle column; %.12e != %.12e ' % (msgr, b['sigma_lsst_i'], t['sigma_lsst_g'])) ct +=1 self.assertTrue(ct>0) testdtype = numpy.dtype([('raObserved', numpy.float), ('decObserved', numpy.float), ('lsst_g', numpy.float), ('sigma_lsst_g', numpy.float), ('lsst_i', numpy.float), ('sigma_lsst_i', numpy.float)]) testCat = setupPhotometryCatalog(obs_metadata=self.obs_metadata_compound, dbConnection=dbo, catalogClass=testCatClass, uncertainty=True) testCat.write_catalog(testName) testData = numpy.genfromtxt(testName, dtype=testdtype, delimiter=',') ct = 0 for b, t in zip(baseData, testData): self.assertAlmostEqual(b['lsst_g'], t['lsst_g'], 12, msg = '%s double column; %.12e != %.12e ' % (msgr, b['lsst_g'], t['lsst_g'])) self.assertAlmostEqual(b['lsst_i'], t['lsst_i'], 12, msg = '%s double column; %.12e != %.12e ' % (msgr, b['lsst_i'], t['lsst_i'])) self.assertAlmostEqual(b['sigma_lsst_g'], t['sigma_lsst_g'], 12, msg = '%s double column; %.12e != %.12e ' % (msgr, b['sigma_lsst_g'], t['lsst_g'])) self.assertAlmostEqual(b['sigma_lsst_i'], t['sigma_lsst_i'], 12, msg = '%s double column; %.12e != %.12e ' % (msgr, b['sigma_lsst_i'], t['sigma_lsst_i'])) ct +=1 self.assertTrue(ct>0) if os.path.exists(testName): os.unlink(testName) if os.path.exists(baseName): os.unlink(baseName)
def testActualCatalog(self): """ Make sure that the values written to catalogs that are instantiated using setupPhotometryCatalog are correct """ msgroot = ['failed on stars; ', 'failed on galaxies; '] testCatClasses = [testStarCatalog, testGalaxyCatalog] testCatDBs = [self.starDBObj, self.galaxyDBObj] baselineCats = [] baselineCats.append(baselineStarCatalog(self.starDBObj, obs_metadata=self.obs_metadata)) baselineCats.append(baselineGalaxyCatalog(self.galaxyDBObj, obs_metadata=self.obs_metadata)) testName = 'testSetupCat.txt' baseName = 'baseSetupCat.txt' basedtype = numpy.dtype([('raObserved', numpy.float), ('decObserved', numpy.float), ('lsst_u', numpy.float), ('lsst_g', numpy.float), ('lsst_r', numpy.float), ('lsst_i', numpy.float), ('lsst_z', numpy.float), ('lsst_y', numpy.float), ('sigma_lsst_u', numpy.float), ('sigma_lsst_g',numpy.float), ('sigma_lsst_r', numpy.float), ('sigma_lsst_i', numpy.float), ('sigma_lsst_z', numpy.float), ('sigma_lsst_y', numpy.float)]) for (testCatClass, dbo, baselineCat, msgr) in zip(testCatClasses, testCatDBs, baselineCats, msgroot): testdtype = numpy.dtype([('raObserved', numpy.float), ('decObserved', numpy.float), ('lsst_g', numpy.float)]) testCat = setupPhotometryCatalog(obs_metadata=self.obs_metadata, dbConnection=dbo, catalogClass=testCatClass) testCat.write_catalog(testName) baselineCat.write_catalog(baseName) testData = numpy.genfromtxt(testName, dtype=testdtype, delimiter=',') baseData = numpy.genfromtxt(baseName, dtype=basedtype, delimiter=',') ct = 0 for b, t in zip(baseData, testData): self.assertAlmostEqual(b['lsst_g'], t['lsst_g'], 12, msg = '%s single column; %.12e != %.12e' % (msgr, b['lsst_g'], t['lsst_g'])) ct +=1 self.assertTrue(ct>0) testdtype = numpy.dtype([('raObserved', numpy.float), ('decObserved', numpy.float), ('lsst_g', numpy.float), ('lsst_i', numpy.float)]) testCat = setupPhotometryCatalog(obs_metadata=self.obs_metadata_compound, dbConnection=dbo, catalogClass=testCatClass) testCat.write_catalog(testName) testData = numpy.genfromtxt(testName, dtype=testdtype, delimiter=',') ct = 0 for b, t in zip(baseData, testData): self.assertAlmostEqual(b['lsst_g'], t['lsst_g'], 12, msg = '%s double column; %.12e != %.12e ' % (msgr, b['lsst_g'], t['lsst_g'])) self.assertAlmostEqual(b['lsst_i'], t['lsst_i'], 12, msg = '%s double column; %.12e != %.12e ' % (msgr, b['lsst_i'], t['lsst_i'])) ct += 1 self.assertTrue(ct>0) if os.path.exists(testName): os.unlink(testName) if os.path.exists(baseName): os.unlink(baseName)
def testSetupPhotometry(self): """ Make sure that catalogs instantiated by setupPhotometryCatalog contain the correct columns. """ #test case with a single bandpass cat = setupPhotometryCatalog(obs_metadata=self.obs_metadata, dbConnection=self.starDBObj, catalogClass=testStarCatalog) self.assertTrue('lsst_g' in cat.iter_column_names()) self.assertFalse('lsst_u' in cat.iter_column_names()) self.assertFalse('lsst_r' in cat.iter_column_names()) self.assertFalse('lsst_i' in cat.iter_column_names()) self.assertFalse('lsst_z' in cat.iter_column_names()) self.assertFalse('lsst_y' in cat.iter_column_names()) self.assertFalse('sigma_lsst_g' in cat.iter_column_names()) self.assertFalse('sigma_lsst_u' in cat.iter_column_names()) self.assertFalse('sigma_lsst_r' in cat.iter_column_names()) self.assertFalse('sigma_lsst_i' in cat.iter_column_names()) self.assertFalse('sigma_lsst_z' in cat.iter_column_names()) self.assertFalse('sigma_lsst_y' in cat.iter_column_names()) cat = setupPhotometryCatalog(obs_metadata=self.obs_metadata, dbConnection=self.starDBObj, catalogClass=testStarCatalog, uncertainty=True) self.assertTrue('lsst_g' in cat.iter_column_names()) self.assertFalse('lsst_u' in cat.iter_column_names()) self.assertFalse('lsst_r' in cat.iter_column_names()) self.assertFalse('lsst_i' in cat.iter_column_names()) self.assertFalse('lsst_z' in cat.iter_column_names()) self.assertFalse('lsst_y' in cat.iter_column_names()) self.assertTrue('sigma_lsst_g' in cat.iter_column_names()) self.assertFalse('sigma_lsst_u' in cat.iter_column_names()) self.assertFalse('sigma_lsst_r' in cat.iter_column_names()) self.assertFalse('sigma_lsst_i' in cat.iter_column_names()) self.assertFalse('sigma_lsst_z' in cat.iter_column_names()) self.assertFalse('sigma_lsst_y' in cat.iter_column_names()) #test case with two bandpasses cat = setupPhotometryCatalog(obs_metadata=self.obs_metadata_compound, dbConnection=self.starDBObj, catalogClass=testStarCatalog) self.assertTrue('lsst_g' in cat.iter_column_names()) self.assertTrue('lsst_i' in cat.iter_column_names()) self.assertFalse('lsst_u' in cat.iter_column_names()) self.assertFalse('lsst_r' in cat.iter_column_names()) self.assertFalse('lsst_z' in cat.iter_column_names()) self.assertFalse('lsst_y' in cat.iter_column_names()) self.assertFalse('sigma_lsst_g' in cat.iter_column_names()) self.assertFalse('sigma_lsst_u' in cat.iter_column_names()) self.assertFalse('sigma_lsst_r' in cat.iter_column_names()) self.assertFalse('sigma_lsst_i' in cat.iter_column_names()) self.assertFalse('sigma_lsst_z' in cat.iter_column_names()) self.assertFalse('sigma_lsst_y' in cat.iter_column_names()) cat = setupPhotometryCatalog(obs_metadata=self.obs_metadata_compound, dbConnection=self.starDBObj, catalogClass=testStarCatalog, uncertainty=True) self.assertTrue('lsst_g' in cat.iter_column_names()) self.assertTrue('lsst_i' in cat.iter_column_names()) self.assertFalse('lsst_u' in cat.iter_column_names()) self.assertFalse('lsst_r' in cat.iter_column_names()) self.assertFalse('lsst_z' in cat.iter_column_names()) self.assertFalse('lsst_y' in cat.iter_column_names()) self.assertTrue('sigma_lsst_g' in cat.iter_column_names()) self.assertTrue('sigma_lsst_i' in cat.iter_column_names()) self.assertFalse('sigma_lsst_u' in cat.iter_column_names()) self.assertFalse('sigma_lsst_r' in cat.iter_column_names()) self.assertFalse('sigma_lsst_z' in cat.iter_column_names()) self.assertFalse('sigma_lsst_y' in cat.iter_column_names()) #make sure that class default columns did not get overwritten cat = testStarCatalog(self.starDBObj, obs_metadata=self.obs_metadata) self.assertFalse('lsst_u' in cat.iter_column_names()) self.assertFalse('lsst_g' in cat.iter_column_names()) self.assertFalse('lsst_r' in cat.iter_column_names()) self.assertFalse('lsst_i' in cat.iter_column_names()) self.assertFalse('lsst_z' in cat.iter_column_names()) self.assertFalse('lsst_y' in cat.iter_column_names())
def testActualCatalog(self): """ Make sure that the values written to catalogs that are instantiated using setupPhotometryCatalog are correct """ msgroot = ['failed on stars; ', 'failed on galaxies; '] testCatClasses = [testStarCatalog, testGalaxyCatalog] testCatDBs = [self.starDBObj, self.galaxyDBObj] baselineCats = [] baselineCats.append(baselineStarCatalog(self.starDBObj, obs_metadata=self.obs_metadata_compound, column_outputs=['lsst_g', 'sigma_lsst_g', 'lsst_i', 'sigma_lsst_i'])) baselineCats.append(baselineGalaxyCatalog(self.galaxyDBObj, obs_metadata=self.obs_metadata_compound, column_outputs=['lsst_g', 'sigma_lsst_g', 'lsst_i', 'sigma_lsst_i'])) basedtype = np.dtype([('raObserved', np.float), ('decObserved', np.float), ('lsst_g', np.float), ('sigma_lsst_g', np.float), ('lsst_i', np.float), ('sigma_lsst_i', np.float)]) for (testCatClass, dbo, baselineCat, msgr) in zip(testCatClasses, testCatDBs, baselineCats, msgroot): testdtype = np.dtype([('raObserved', np.float), ('decObserved', np.float), ('lsst_g', np.float)]) testCat = setupPhotometryCatalog(obs_metadata=self.obs_metadata, dbConnection=dbo, catalogClass=testCatClass) with lsst.utils.tests.getTempFilePath('.txt') as testName: testCat.write_catalog(testName) testData = np.genfromtxt(testName, dtype=testdtype, delimiter=',') with lsst.utils.tests.getTempFilePath('.txt') as baseName: baselineCat.write_catalog(baseName) baseData = np.genfromtxt(baseName, dtype=basedtype, delimiter=',') self.assertGreater(len(testData), 0) self.assertGreater(len(baseData), 0) ct = 0 for b, t in zip(baseData, testData): self.assertAlmostEqual(b['lsst_g'], t['lsst_g'], 12, msg = '%s single column; %.12e != %.12e' % (msgr, b['lsst_g'], t['lsst_g'])) ct += 1 self.assertGreater(ct, 0) testdtype = np.dtype([('raObserved', np.float), ('decObserved', np.float), ('lsst_g', np.float), ('lsst_i', np.float)]) testCat = setupPhotometryCatalog(obs_metadata=self.obs_metadata_compound, dbConnection=dbo, catalogClass=testCatClass) with lsst.utils.tests.getTempFilePath('.txt') as testName: testCat.write_catalog(testName) testData = np.genfromtxt(testName, dtype=testdtype, delimiter=',') self.assertGreater(len(testData), 0) ct = 0 for b, t in zip(baseData, testData): self.assertAlmostEqual(b['lsst_g'], t['lsst_g'], 12, msg = '%s double column; %.12e != %.12e ' % (msgr, b['lsst_g'], t['lsst_g'])) self.assertAlmostEqual(b['lsst_i'], t['lsst_i'], 12, msg = '%s double column; %.12e != %.12e ' % (msgr, b['lsst_i'], t['lsst_i'])) ct += 1 self.assertGreater(ct, 0)