def setUp(self, testdir = None): if testdir is None: testdir = os.path.dirname(__file__) self.messier = stilts.tread(os.path.join(testdir, "messier.xml"))
def ioRoundTrip(self, table, fmt): ofile = _UnclosedStringIO() table.write(ofile, fmt=fmt) ifile = cStringIO.StringIO(ofile.getvalue()) table2 = stilts.tread(ifile, fmt=fmt) self.assertEqualTable(table, table2)
sys.setrecursionlimit(2000) #get table filepaths. sys.argv[0] = script name t1name = sys.argv[1] t2name = sys.argv[2] t3name = sys.argv[3] t4name = sys.argv[4] t5name = sys.argv[5] t6name = sys.argv[6] reftab = sys.argv[7] match_radius = sys.argv[8] #in arcsec savename = sys.argv[9] t1 = stilts.tread(t1name) t2 = stilts.tread(t2name) t3 = stilts.tread(t3name) t4 = stilts.tread(t4name) t5 = stilts.tread(t5name) t6 = stilts.tread(t6name) #match to within 0.5arcsec #pair matching to first input table works while multimode=group causes recursion limit error #print 'Pair matching' #matched = stilts.tmatchn(multimode='pair', nin=6, matcher='sky', params=match_radius, in1=t1, in2=t2, in3=t3, in4=t4, in5=t5, in6=t6, values1='RA DEC', values2='RA DEC', values3='RA DEC', values4='RA DEC', values5='RA DEC', values6='RA DEC', iref=reftab) print 'Group matching' matched = stilts.tmatchn(multimode='group', nin=6, matcher='sky', params=match_radius, in1=t1, in2=t2, in3=t3, in4=t4, in5=t5, in6=t6, values1='radiansToDegrees(RA) radiansToDegrees(DEC)', values2='radiansToDegrees(RA) radiansToDegrees(DEC)', values3='radiansToDegrees(RA) radiansToDegrees(DEC)', values4='radiansToDegrees(RA) radiansToDegrees(DEC)', values5='radiansToDegrees(RA) radiansToDegrees(DEC)', values6='radiansToDegrees(RA) radiansToDegrees(DEC)')
import stilts import java import uk import sys import re import StringIO import cStringIO messier = stilts.tread(testdir + "/messier.xml") class TableTest(unittest.TestCase): def testObj(self): cols = messier.columns() self.assertEquals('Name', str(cols[0])) self.assertEquals('ImageURL', cols[-1].getName()) colNgc = cols[2] self.assertEquals('NGC', str(colNgc)) self.assertEquals('messier.xml', messier.parameters()['DemoLoc']) mp = messier.cmd_setparam('-type', 'float', '-unit', 'pint', 'volume', '3.5') self.assertEquals(3.5, mp.parameters()['volume']) volparam = mp.getParameterByName('volume') self.assertEquals('pint', volparam.getInfo().getUnitString()) self.assertEquals(java.lang.Float(0).getClass(), volparam.getInfo().getContentClass()) self.assert_(messier.isRandom()) self.assertEquals(110, len(messier))
intype2 = sys.argv[5] radtodeg2 = sys.argv[6] ra1 = sys.argv[7] dec1 = sys.argv[8] ra2 = sys.argv[9] dec2 = sys.argv[10] match_radius = sys.argv[11] jointype = sys.argv[12] findtype = sys.argv[13] savename = sys.argv[14] print 'Creating: ', savename t1 = stilts.tread(t1name, intype1) t2 = stilts.tread(t2name, intype2) if radtodeg1 == 'True': ra1 = 'radiansToDegrees(' + ra1 + ')' dec1 = 'radiansToDegrees(' + dec1 + ')' if radtodeg2 == 'True': ra2 = 'radiansToDegrees(' + ra2 + ')' dec2 = 'radiansToDegrees(' + dec2 + ')' #match to within match_radius. Keep only rows with a value from table 1 and table 2. find=a'all' keepa all matches between tables 1 and 2 (don't choose the best one), 'best' chooses the best matched = stilts.tskymatch2(in1=t1, in2=t2, ra1=ra1, dec1=dec1,
#!/usr/local/anaconda/bin/python """Create fits file of matching stars in apass and the vphas point source catalogue""" #from astropy.io import fits import os import stilts radius = raw_input('Enter filename radius: ') psc_fname = os.getcwd() + '/psc_' + radius + '.fits' t1 = stilts.tread(psc_fname) apass_fname = os.getcwd() + '/apass_' + radius + '.csv' t2 = stilts.tread(apass_fname, 'csv') err = float(raw_input('Enter topcat matching radius (1.5arcsec)')) #match to within err matched = stilts.tskymatch2(in1=t1, in2=t2, ra1="RAJ2000", dec1="DEJ2000", ra2="radeg", dec2="decdeg", error=err) #save matched file savepath = os.getcwd() + '/psc_apass_' + radius + '_overlap.fits' matched.write(savepath)
# coding: utf8 # Ouverture du catalogue import stilts filename = '../catalogues/gll_psc_v16.fit' table_3fgl = stilts.tread(filename) # selectionne les BL Lacs et les FSRQs table_bll = table_3fgl.cmd_select('equals(CLASS1,"bll") || equals(CLASS1,"BLL")') table_fsrq = table_3fgl.cmd_select('equals(CLASS1,"fsrq") || equals(CLASS1,"FSRQ")') # Faire un plot indice spectral Vs energie pivot stilts.plot2d(in_bll=table_bll, name_bll='BL Lacs', # bll xdata_bll='Pivot_Energy', ydata_bll='PowerLaw_Index', shape_bll='open_circle', colour_bll='blue', size_bll='2', # fsrq in_fsrq=table_fsrq, name_fsrq='FSRQs', xdata_fsrq='Pivot_Energy', ydata_fsrq='PowerLaw_Index', shape_fsrq='open_square', colour_fsrq='red', size_fsrq='2', xlog='true', legend='true', grid='true') # Ajouter de paramètres HR23 et HR34 dans les tables (3FGL direct) # Energy moyenne de la bande en énergie (hypothèse power law) table_3fgl = table_3fgl.cmd_addcol('MeanEnergy2', '(1.-PowerLaw_Index)/(2.-PowerLaw_Index)*\ (pow(1000.,2.-PowerLaw_Index)-pow(300.,2.-PowerLaw_Index))/(pow(1000.,1.-\ PowerLaw_Index)-pow(300.,1.-PowerLaw_Index))') table_3fgl = table_3fgl.cmd_addcol('MeanEnergy3','(1.-PowerLaw_Index)/(2.-PowerLaw_Index)*\ (pow(3000.,2.-PowerLaw_Index)-pow(1000.,2.-PowerLaw_Index))/(pow(3000.,1.-\ PowerLaw_Index)-pow(1000.,1.-PowerLaw_Index))')