__author__ = 'omniscope' import numpy as np import simulate_visibilities.simulate_visibilities as sv import time bnside = 256 freqs = range(110, 200, 10) raw_beam_data = np.concatenate([np.fromfile('/home/omniscope/data/mwa_beam/healpix_%i_%s.bin' % (bnside, p), dtype='complex64').reshape( (len(freqs), 12 * bnside ** 2, 2)) for p in ['x', 'y']], axis=-1).transpose(0, 2, 1) #freq by 4 by pix sv.plot_jones(raw_beam_data[5]) vstest = sv.Visibility_Simulator() vstest.initial_zenith = np.array([0, np.pi/4]) tm = time.time() beam_heal_equ = np.array( [sv.rotate_healpixmap(beam_healpixi, 0, np.pi / 2 - vstest.initial_zenith[1], vstest.initial_zenith[0]) for beam_healpixi in raw_beam_data[5]]) print (time.time()-tm) / 60. sv.plot_jones(beam_heal_equ)
# print "alpha0", sv.ctos(alpha0)/PI # phi1t = np.cross(local_zenith_vect, -ps_vec) # # if np.min(la.norm(local_zenith_vect-(-ps_vec), axis = -1)) == 0.: # if la.norm(np.cross([0,0,1], -ps_vec)) != 0: # phi1t[np.argmin(la.norm(local_zenith_vect-(-ps_vec), axis = -1))] = np.cross([0,0,1], -ps_vec) # else: # phi1t[np.argmin(la.norm(local_zenith_vect-(-ps_vec), axis = -1))] = np.array([0, 1, 0]) # phi1t = phi1t / (la.norm(phi1t, axis=-1)) # print "phi1t", sv.ctos(phi1t)/PI # Ranglet = np.arctan2(phi1t.dot(alpha0), phi1t.dot(phi0)) # print "final", Ranglet/PI # sys.exit(0) sv.plot_jones(local_beam(160)) vstest = sv.Visibility_Simulator() vstest.initial_zenith = np.array([0, 0]) beam_heal_equ = np.array( [sv.rotate_healpixmap(beam_healpixi, 0, np.pi / 2 - vstest.initial_zenith[1], vstest.initial_zenith[0]) for beam_healpixi in local_beam(160)]) print beam_heal_equ.shape # ps_xxxyyxyy = [1,0,0,0] # plt.subplot(2,1,1) # plt.plot(np.abs(vstest.calculate_pol_pointsource_visibility(0, 0, [0,1,0], 160, beam_healpix_hor=local_beam(160), tlist=np.arange(-12,12,.01)%24)[0].dot(ps_xxxyyxyy)).reshape(4,2400).transpose()) # plt.subplot(2,1,2) # plt.plot(np.angle(vstest.calculate_pol_pointsource_visibility(0, 0, [0,1,0], 160, beam_healpix_hor=local_beam(160), tlist=np.arange(-12,12,.01)%24)[0].dot(ps_xxxyyxyy)).reshape(4,2400).transpose()) # plt.show()