def get_bkg_npixels(src_center, nside, npixels=100): order = np.log2(nside).astype(int) bkg_moc_outer = MOC.from_cone(src_center.ra, src_center.dec, 120 * u.arcsec, order) bkg_moc_inner = MOC.from_cone(src_center.ra, src_center.dec, 60 * u.arcsec, order) bkg_moc = bkg_moc_outer.difference(bkg_moc_inner) bkg_npixels = flatten_pixels(bkg_moc._interval_set._intervals, order) return rng.choice(bkg_npixels, size=npixels, replace=False).tolist()
def load_decam(): log.info('downloading and reading DECam field list') url = 'https://github.com/growth-astro/growth-too-marshal/raw/master/growth/too/input/DECam.tess' table = Table.read(url, names=['field_id', 'ra', 'dec'], format='ascii') log.info('building MOCs') mocs = [ MOC.from_cone(row['ra'] * u.deg, row['dec'] * u.deg, 1.1 * u.deg, 10) for row in table ] log.info('creating ORM records') telescope = Telescope(telescope_name='DECam', fields=[ Field.from_moc(moc, field_id=field_id) for field_id, moc in zip(table['field_id'], mocs) ]) log.info('saving') db.session.add(telescope) db.session.commit() log.info('done')