コード例 #1
0
ファイル: LBV_photo.py プロジェクト: msgordon/LBV-catalog
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)