Esempio n. 1
0
 def test_unpack_calpar(self):
     calpar = np.zeros((2,3,Oc.calpar_size(self.info.nAntenna, len(self.info.ublcount))), dtype=np.float32)
     m,g,v = Oc.unpack_calpar(self.info,calpar)
     self.assertEqual(m['iter'].shape, (2,3))
     self.assertTrue(np.all(m['iter'] == 0))
     self.assertTrue(np.all(m['chisq'] == 0))
     self.assertEqual(len(g), 32)
     for i in xrange(32):
         self.assertTrue(np.all(g[i] == 1)) # 1 b/c 10**0 = 1
     self.assertEqual(len(v), len(self.info.ublcount))
     ubls = {}
     for i,j in v:
         n = self.info.bl1dmatrix[i,j]
         ubls[self.info.bltoubl[n]] = n
     for u in xrange(len(self.info.ublcount)):
         self.assertTrue(ubls.has_key(u))
Esempio n. 2
0
 def test_pack_calpar(self):
     calpar = np.zeros((2,3,Oc.calpar_size(self.info.nAntenna, len(self.info.ublcount))), dtype=np.float32)
     self.assertTrue(np.all(Oc.pack_calpar(self.info,calpar) == 0))
     self.assertRaises(AssertionError, Oc.pack_calpar, self.info, calpar[...,:-1])
     bp = np.array([[1+2j,3+4j,5+6j],[2+1j,4+3j,6+5j]])
     amp,phs = np.log10(np.abs(bp)), np.angle(bp)
     gains = {0:bp}
     Oc.pack_calpar(self.info,calpar,gains=gains)
     self.assertTrue(np.allclose(calpar[...,3+0], amp))
     self.assertTrue(np.allclose(calpar[...,32+3+0],phs))
     calpar *= 0
     gains = {1:bp[0]}
     Oc.pack_calpar(self.info,calpar,gains=gains)
     self.assertTrue(np.allclose(calpar[0,:,3+1], amp[0]))
     self.assertTrue(np.allclose(calpar[1,:,3+1], amp[0]))
     self.assertTrue(np.allclose(calpar[0,:,32+3+1],phs[0]))
     self.assertTrue(np.allclose(calpar[1,:,32+3+1],phs[0]))
     vis = {(0,16):bp}
     Oc.pack_calpar(self.info,calpar,vis=vis)
     self.assertTrue(np.allclose(calpar[...,3+2*32+2*12], bp.real))
     self.assertTrue(np.allclose(calpar[...,3+2*32+2*12+1], bp.imag))