def mslin2circ(incol, outcol, outms, skipmetadata):
tc = pt.table(outms, readonly=False, ack=False)
dataXY = tc.getcol(incol)
I=numpy.complex(0.0,1.0)
dataRL = 0.5* numpy.transpose(numpy.array([
+dataXY[:,:,0]-I*dataXY[:,:,1]+I*dataXY[:,:,2]+dataXY[:,:,3],
+dataXY[:,:,0]+I*dataXY[:,:,1]+I*dataXY[:,:,2]-dataXY[:,:,3],
+dataXY[:,:,0]-I*dataXY[:,:,1]-I*dataXY[:,:,2]-dataXY[:,:,3],
+dataXY[:,:,0]+I*dataXY[:,:,1]-I*dataXY[:,:,2]+dataXY[:,:,3]]),
(1,2,0))
tc.putcol(outcol,dataRL)
#Change metadata information to be circular feeds
if not skipmetadata:
feed = pt.table(tc.getkeyword('FEED'),readonly=False,ack=False)
for tpart in feed.iter('ANTENNA_ID'):
tpart.putcell('POLARIZATION_TYPE',0,['R','L'])
polariz = pt.table(tc.getkeyword('POLARIZATION'),readonly=False,ack=False)
polariz.putcell('CORR_TYPE',0,[5,6,7,8])
tc.close()
评论列表
文章目录