-
Notifications
You must be signed in to change notification settings - Fork 0
/
pull_pol.py
34 lines (27 loc) · 937 Bytes
/
pull_pol.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
import aipy as a
import sys,os,optparse
o = optparse.OptionParser()
o.set_usage('pull_pol.py [options] *.uv')
o.set_description(__doc__)
o.add_option('-p','--pols',dest='pols',type='str',default=8,help='Which polarizations do you like?')
opts,args = o.parse_args(sys.argv[1:])
for filename in args:
outfile = filename+opts.pols
print filename,'-->',outfile
if os.path.exists(outfile):
print 'File exists, skipping'
continue
pols2use = opts.pols.split(',')
def mfunc(uv,p,d):
pol = a.miriad.pol2str[uv['pol']]
if pol in pols2use: return p,d
else: return None,None
uvi = a.miriad.UV(filename)
uvo = a.miriad.UV(outfile,status='new')
uvo.init_from_uv(uvi)
histstr = 'PULL POLS: pols='
for pol in pols2use:
histstr += str(pol)+','
if pol == pols2use[-1]: histstr += '\n'
uvo.pipe(uvi,mfunc=mfunc,append2hist=histstr)
del uvo,uvi