Beispiel #1
0
 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]))
Beispiel #2
0
 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]))
Beispiel #3
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)
Beispiel #4
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 )