def mscirc2lin(incol, outcol, outms, skipmetadata):
tc = pt.table(outms,readonly=False, ack=False)
dataRL = tc.getcol(incol)
I=numpy.complex(0.0,1.0)
dataXY = 0.5* numpy.transpose(numpy.array([
+dataRL[:,:,0]+dataRL[:,:,1]+dataRL[:,:,2]+dataRL[:,:,3],
I*(+dataRL[:,:,0]-dataRL[:,:,1]+dataRL[:,:,2]-dataRL[:,:,3]),
I*(-dataRL[:,:,0]-dataRL[:,:,1]+dataRL[:,:,2]+dataRL[:,:,3]),
+dataRL[:,:,0]-dataRL[:,:,1]-dataRL[:,:,2]+dataRL[:,:,3] ]),
(1,2,0))
tc.putcol(outcol,dataXY)
#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,['X','Y'])
polariz = pt.table(tc.getkeyword('POLARIZATION'),readonly=False, ack=False)
polariz.putcell('CORR_TYPE',0,[9,10,11,12])
tc.close()
评论列表
文章目录