def test_median(self): if Database().engine == "monetdb": qry = """ SELECT sys.median(id) as median_id ,sys.median(rms_max) as median_rms_max FROM image WHERE dataset = %(dataset_id)s """ else: qry = """ SELECT median(id) as median_id ,median(rms_max) as median_rms_max FROM image WHERE dataset = %(dataset_id)s """ cursor = execute(qry, {"dataset_id": self.dataset.id}) results = db_subs.get_db_rows_as_dicts(cursor) # self.assertAlmostEqual(results[0]['median_id'], median(self.image_ids)) self.assertAlmostEqual(results[0]["median_rms_max"], median([p["rms_max"] for p in self.im_params]))
def test_median(self): if Database().engine == 'monetdb': qry = (""" SELECT sys.median(id) as median_id ,sys.median(rms_max) as median_rms_max FROM image WHERE dataset = %(dataset_id)s """) else: qry = (""" SELECT median(id) as median_id ,median(rms_max) as median_rms_max FROM image WHERE dataset = %(dataset_id)s """) cursor = execute(qry, {'dataset_id': self.dataset.id}) results = db_subs.get_db_rows_as_dicts(cursor) # self.assertAlmostEqual(results[0]['median_id'], median(self.image_ids)) self.assertAlmostEqual(results[0]['median_rms_max'], median([p['rms_max'] for p in self.im_params]))
def test_one2one_flux_infinite_error(self): dataset = tkp.db.DataSet(database=self.database, data={'description': 'flux test set: 1-1'}) n_images = 3 im_params = db_subs.generate_timespaced_dbimages_data(n_images) src_list = [] src = db_subs.example_extractedsource_tuple() src0 = src._replace(flux=2.0) src_list.append(src0) src1 = src._replace(flux=2.5) src_list.append(src1) src2 = src._replace(flux=0.0001, flux_err=float('inf'), peak=0.0001, peak_err=float('inf')) src_list.append(src2) for idx, im in enumerate(im_params): image = tkp.db.Image(database=self.database, dataset=dataset, data=im) image.insert_extracted_sources([src_list[idx]]) associate_extracted_sources(image.id, deRuiter_r=3.717) query = """\ SELECT rf.avg_f_int ,rf.f_datapoints FROM runningcatalog r ,runningcatalog_flux rf WHERE r.dataset = %(dataset)s AND r.id = rf.runcat """ cursor = tkp.db.execute(query, {'dataset': dataset.id}) results = db_subs.get_db_rows_as_dicts(cursor) self.assertEqual(len(results), 1) self.assertEqual(results[0]['f_datapoints'], 2) self.assertAlmostEqual(results[0]['avg_f_int'], (src0.flux + src1.flux) / 2.0)
def test_one2one_flux_infinite_error(self): dataset = tkp.db.DataSet(database=self.database, data={'description': 'flux test set: 1-1'}) n_images = 3 im_params = db_subs.generate_timespaced_dbimages_data(n_images) src_list = [] src = db_subs.example_extractedsource_tuple() src0 = src._replace(flux=2.0) src_list.append(src0) src1 = src._replace(flux=2.5) src_list.append(src1) src2 = src._replace(flux=0.0001, flux_err=float('inf'), peak=0.0001, peak_err=float('inf')) src_list.append(src2) for idx, im in enumerate(im_params): image = tkp.db.Image(database=self.database, dataset=dataset, data=im) image.insert_extracted_sources([src_list[idx]]) associate_extracted_sources(image.id, deRuiter_r=3.717) query = """\ SELECT rf.avg_f_int ,rf.f_datapoints FROM runningcatalog r ,runningcatalog_flux rf WHERE r.dataset = %(dataset)s AND r.id = rf.runcat """ cursor = tkp.db.execute(query, {'dataset': dataset.id}) results = db_subs.get_db_rows_as_dicts(cursor) self.assertEqual(len(results),1) self.assertEqual(results[0]['f_datapoints'],2) self.assertAlmostEqual(results[0]['avg_f_int'], (src0.flux + src1.flux)/2.0 )