Esempio n. 1
0
 def setUp(self, testdir = None):
     if testdir is None:
         testdir = os.path.dirname(__file__)
     self.messier = stilts.tread(os.path.join(testdir, "messier.xml"))
Esempio n. 2
0
 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)
Esempio n. 3
0
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)')
Esempio n. 4
0
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))
Esempio n. 5
0
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,
Esempio n. 6
0
#!/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)
Esempio n. 7
0
# 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))')