def field2skycat(msname='', skycat='',fieldpattern=''):
Converts field table in ms to skycatalog
allow overlay on image in the viewer
enumTypes =['J2000','JMEAN','JTRUE','APP','B1950',
'B1950_VLA','BMEAN','BTRUE','GALACTIC','HADEC','AZEL','AZELSW',
'AZELGEO','AZELSWGEO','JNAT','ECLIPTIC','MECLIPTIC','TECLIPTIC','SUPERGAL',
dir=tb.getcol('PHASE_DIR')
if (re.match(fieldpattern,nam[k]) != None):
if(tb.getcolkeyword('PHASE_DIR', 'MEASINFO').has_key('VarRefCol')):
typeid=tb.getcol(tb.getcolkeyword('PHASE_DIR', 'MEASINFO')['VarRefCol'])
if (re.match(fieldpattern,nam[k]) != None):
eltype.append(enumTypes[typeid[k]])
eltype=[tb.getcolkeyword('PHASE_DIR', 'MEASINFO')['Ref']]*nfield
unitra=tb.getcolkeyword('PHASE_DIR', 'QuantumUnits')[0]
unitdec=tb.getcolkeyword('PHASE_DIR', 'QuantumUnits')[1]
des['Type']={'valueType':'string'}
des['Long']={'valueType':'double'}
des['Lat']={'valueType':'double'}
des['FIELD_NAME']={'valueType':'string'}
des['FIELD_ID']={'valueType':'string'}
des['RA']={'valueType':'string'}
des['DEC']={'valueType':'string'}
tb.create(tablename=skycat, tabledesc=des, nrow=n);
tb.putcol('Type', eltype)
if (re.match(fieldpattern,nam[k]) != None):
longi[n]=qa.convert(qa.quantity(dir[0,0,k], unitra),'deg')['value']
lati[n]=qa.convert(qa.quantity(dir[1,0,k], unitdec), 'deg')['value']
RA.append(qa.time(qa.quantity(dir[0,0,k], unitra), prec=10))
DEC.append(qa.angle(qa.quantity(dir[1,0,0], unitdec), prec=10))
fieldname.append(nam[k]);
tb.putcol('FIELD_NAME', fieldname);
tb.putcol('FIELD_ID', fid)
tb.putcolkeyword(columnname='Long', keyword='UNIT', value='deg')
tb.putcolkeyword(columnname='Lat', keyword='UNIT', value='deg')
tb.putinfo({'type':'Skycatalog'})