Skip to content

Instantly share code, notes, and snippets.

@wkerzendorf
Created September 30, 2015 17:09
Show Gist options
  • Save wkerzendorf/f1b22526c613ee8f600e to your computer and use it in GitHub Desktop.
Save wkerzendorf/f1b22526c613ee8f600e to your computer and use it in GitHub Desktop.
matching catalogues
from astropy import coordinates as coord
from astropy import units as u, constants as const
import pandas as pd
cats = ['ut150625_g.h5', 'ut150625_r.h5', 'ut150625_u.h5']
gdata = pd.read_hdf(cats[0], 'data')
gdata = gdata[gdata.type == 1]
gcat = coord.SkyCoord(gdata.RA.values, gdata.Dec.values, unit=u.degree)
rdata = pd.read_hdf(cats[1], 'data')
rdata = rdata[rdata.type == 1]
rcat = coord.SkyCoord(rdata.RA.values, rdata.Dec.values, unit=u.degree)
udata = pd.read_hdf(cats[2], 'data')
udata = udata[udata.type == 1]
ucat = coord.SkyCoord(udata.RA.values, udata.Dec.values, unit=u.degree)
rg_id, rg_dist, _ = rcat.match_to_catalog_sky(gcat)
ru_id, ru_dist, _ = rcat.match_to_catalog_sky(ucat)
close_match_filter = (rg_dist.to(u.arcsecond) < 0.1 * u.arcsecond) & (ru_dist.to(u.arcsecond) < 0.1 * u.arcsecond)
final_catalogue = pd.DataFrame(columns=['RA', 'Dec', 'r', 'r_err'], index=np.arange(np.sum(close_match_filter)))
final_catalogue['RA'] = rdata['RA'].values[close_match_filter]
final_catalogue['Dec'] = rdata['Dec'].values[close_match_filter]
final_catalogue['r'] = rdata['mag'].values[close_match_filter]
final_catalogue['r_err'] = rdata['dM'].values[close_match_filter]
final_catalogue['g'] = gdata['mag'].values[rg_id][close_match_filter]
final_catalogue['g_err'] = gdata['dM'].values[rg_id][close_match_filter]
final_catalogue['u'] = udata['mag'].values[ru_id][close_match_filter]
final_catalogue['u_err'] = udata['dM'].values[ru_id][close_match_filter]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment