def main(): parser = argparse.ArgumentParser(description="Returns photometric tables of catalog stars") parser.add_argument('catalog',type=str,help='JSON catalog of sources.') parser.add_argument('-WISE',type=str,required=True,help='Directory of WISE tables') parser.add_argument('-2MASS',type=str,dest='MASS',required=True,help='Directory of 2MASS tables') args = parser.parse_args() # Get starlist print 'Loading JSON data from: %s' % args.catalog theList = Star.load(args.catalog) print '\tLoaded %i sources.' % len(theList) print print 'Getting photometry from catalogs...' t = star_photometry(theList) print 'Locating sources in %s' % args.MASS t = add_2MASS(t,theList,args.MASS) print 'Locating sources in %s' % args.WISE t = add_WISE(t,theList,args.WISE) print #t.write('photometry.tsv',format='ascii.tab') #exit() outfile = 'photometry_ZOMG' colnames = [x for x in t.colnames if 'lam' in x] for col in colnames: t[col] = [99.99 if ((x is None) or (x is 'None')) else x for x in t[col]] #for Roberta rTable = Table() rTable.add_columns([t[x] for x in ['ID','Gal']]) for col in ['U','B','V','R','I','J','H','K', '3.6','4.5','5.8','8.0', 'W1','W2','W3','W4', 'F_U_Jy','F_B_Jy','F_V_Jy','F_R_Jy','F_I_Jy', 'F_J_Jy','F_H_Jy','F_K_Jy', 'F_3.6_Jy','F_4.5_Jy','F_5.8_Jy','F_8.0_Jy', 'F_W1_Jy','F_W2_Jy','F_W3_Jy','F_W4_Jy', 'F_0.36_um','lam_F_0.36_um','F_0.44_um','lam_F_0.44_um','F_0.55_um','lam_F_0.55_um','F_0.71_um','lam_F_0.71_um','F_0.97_um','lam_F_0.97_um', 'F_1.24_um','lam_F_1.24_um','F_1.66_um','lam_F_1.66_um','F_2.16_um','lam_F_2.16_um', 'F_3.55_um','lam_F_3.55_um','F_4.44_um','lam_F_4.44_um','F_5.73_um','lam_F_5.73_um','F_7.87_um','lam_F_7.87_um', 'F_3.35_um','lam_F_3.35_um','F_4.60_um','lam_F_4.60_um','F_11.56_um','lam_F_11.56_um','F_22.09_um','lam_F_22.09_um']: c = Column([np.float(x) if x else 99.99 for x in t[col]],name=col,dtype=np.float) rTable.add_column(c) rTable = photo_corr(rTable) rTable.write(outfile+'.tsv',format='ascii.tab') rTable.write(outfile+'.fits') exit() newCols = [] for col in colnames: c = Column([np.float(x) for x in t[col]],name=col,dtype=np.float) newCols.append(c) #print colnames eTable = Table() eTable.add_column(t['ID']) #eTable.add_column(t['lam_F_0.55_um']) #c = Column([str(x) for x in t['ID']],name='ID',dtype=str) #eTable.add_column(c) #eTable.add_columns([t[x] for x in colnames]) eTable.add_columns(newCols) #print eTable['ID'].dtype #exit() #print eTable.colnames #for col in eTable.colnames: # print eTable[col] #print eTable outfile = 'photometry.fits' print 'Writing table to %s' % outfile eTable.write(outfile)