aar.grid_convolve(pol='P1', method='NN', distNN=0.5 * FCNST.c / f0, tol=1.0e-6, maxmatch=1, identical_antennas=True, cal_loop=False, gridfunc_freq='scale', mapping='weighted', wts_change=False, parallel=True, pp_method='pool') # fp1 = [ad['flags']['P1'] for ad in update_info['antennas']] # p1f = [a.antpol.flag['P1'] for a in aar.antennas.itervalues()] imgobj = AA.NewImage(antenna_array=aar, pol='P1') imgobj.imagr(weighting='natural', pol='P1') img = imgobj.img['P1'] # for chan in xrange(imgobj.holograph_P1.shape[2]): # imval = NP.abs(imgobj.holograph_P1[imgobj.mf_P1.shape[0]/2,:,chan])**2 # a horizontal slice # imval = imval[NP.logical_not(NP.isnan(imval))] # immax2[it,chan,:] = NP.sort(imval)[-2:] if it == 0: avg_img = NP.copy(img) else: avg_img += NP.copy(img) if NP.any(NP.isnan(avg_img)): PDB.set_trace()
tempdata = calarr_full['P1'].apply_cal(tempdata,meas=True) # doesn't matter which calarr we use cause it's a measurement tempdata += NP.sqrt(rxr_noise) / NP.sqrt(2) * (NP.random.normal(loc=0.0, scale=1, size=tempdata.shape) + 1j * NP.random.normal(loc=0.0, scale=1, size=tempdata.shape)) aar.caldata['P1']['E-fields'][0,:,:]=calarr_full['P1'].apply_cal(tempdata) if i < Nmeas_eff: for anti in xrange(n_antennas): visdata[anti,:,:] += tempdata[anti,:].reshape(1,nchan) * NP.conj(tempdata)/Nmeas_eff if grid_map_method == 'regular': aar.grid_convolve_new(pol='P1', method='NN',distNN=0.5*FCNST.c/f0, tol=1.0e-6,maxmatch=1,identical_antennas=True,gridfunc_freq='scale',mapping='weighted',wts_change=False,parallel=False, pp_method='queue',nproc=16, cal_loop=True,verbose=False) else: if i == 0: aar.genMappingMatrix(pol='P1',method='NN',distNN=0.5*NP.sqrt(ant_sizex**2+ant_sizey**2)/NP.sqrt(2),identical_antennas=True,gridfunc_freq='scale',wts_change=False,parallel=False) if i == 0: imgobj = AA.NewImage(antenna_array=aar,pol='P1',verbose=False) imgobj.imagr(weighting='natural',pol='P1',pad=0,verbose=False,grid_map_method=grid_map_method,cal_loop=True,stack=False) else: #imgobj.update(antenna_array=aar,reset=True,verbose=False) #imgobj.holimg['P1'][64,64,:] = NP.mean(tempdata,axis=0) imgobj.holimg['P1'][64,64,:] = NP.mean(calarr_full['P1'].apply_cal(tempdata),axis=0) #imgobj.imagr(weighting='natural',pol='P1',pad=0,verbose=False,grid_map_method=grid_map_method,cal_loop=True,stack=False) # update calibration calarr_full['P1'].update_cal(tempdata,imgobj) imgobj.holimg['P1'][64,64,:] = NP.mean(calarr_one['P1'].apply_cal(tempdata),axis=0) calarr_one['P1'].update_cal(tempdata,imgobj) if True in NP.isnan(calarr_full['P1'].cal_corr): print 'NAN in calibration gains! exiting!'
do_correlate='FX', parallel=True, verbose=True) iar.grid_convolve(pol='P11', method='NN', distNN=0.5 * FCNST.c / f0, tol=1.0e-6, maxmatch=1, identical_interferometers=True, gridfunc_freq='scale', mapping='weighted', wts_change=False, parallel=True, pp_method='queue') imgobj = AA.NewImage(interferometer_array=iar, pol='P11') imgobj.imagr(weighting='natural', pol='P11') if i == 0: avg_img = imgobj.img['P11'] else: avg_img += imgobj.img['P11'] avg_img /= max_n_timestamps fig = PLT.figure() ax = fig.add_subplot(111) imgplot = ax.imshow(NP.mean(avg_img, axis=2), aspect='equal', origin='lower', extent=(imgobj.gridl.min(), imgobj.gridl.max(),
adict['flags'][pol] = False adict['Et'][pol] = E_timeseries_dict['Et'][:,ind] # adict['wtsinfo'][pol] = [{'orientation':0.0, 'lookup':'/data3/t_nithyanandan/project_MOFF/simulated/MWA/data/lookup/E_illumination_lookup_zenith.txt'}] adict['wtsinfo'][pol] = [{'orientation':0.0, 'lookup':'/data3/t_nithyanandan/project_MOFF/simulated/LWA/data/lookup/E_illumination_isotropic_radiators_lookup_zenith.txt'}] update_info['antennas'] += [adict] progress.update(antnum+1) antnum += 1 progress.finish() aar.update(update_info, parallel=True, verbose=True) aar.grid_convolve(pol=None, method='NN', distNN=0.5*FCNST.c/f0, tol=1.0e-6, maxmatch=1, identical_antennas=True, cal_loop=False, gridfunc_freq='scale', mapping='weighted', wts_change=False, parallel=True, pp_method='pool') aar.make_grid_cube() aar_psf_info = aar.quick_beam_synthesis(pol='P1', keep_zero_spacing=False) efimgobj = AA.NewImage(antenna_array=aar, pol='P1') efimgobj.imagr(pol='P1', weighting='uniform', pad='on') efimg = efimgobj.img['P1'] efimgmax += [efimg[tuple(NP.array(efimg.shape)/2)]] if i == 0: avg_efimg = NP.copy(efimg) else: avg_efimg += NP.copy(efimg) if NP.any(NP.isnan(avg_efimg)): PDB.set_trace() # Begin interferometry FX processing iar = AA.InterferometerArray(antenna_array=aar) iar.refresh_antenna_pairs() iar.stack(on_flags=True, on_data=True, parallel=False, nproc=None)