def read_equirectangular(file_name, unit_scale=1, ): f = fit.read_header(file_name) data = fit.read(file_name)[0] data[:, :-1] = np.roll(data[:, :-1], (f['NAXIS1'] - 1) / 2, axis=1)[:, ::-1] data[:, -1] = data[:, 0] dmax = f['DATAMAX'] dmin = f['DATAMIN'] data[data > dmax] = -1e6 * dmax data[data < dmin] = -1e6 * dmax data = sv.equirectangular2heapix(data) data[data <= 0] = np.nan return unit_scale * data
AtNiASi.shape = (len(S_diag), len(S_diag)) AtNiASii = sv.InverseCholeskyMatrix(AtNiASi) AtNiSidata = AtNidata_sum + fake_solution_map / S_diag combined_result = AtNiASii.dotv(AtNiSidata) plot_IQU(combined_result, '+'.join(INSTRUMENTS) + '+GSM', 2, shape=(2, 2), coord='CG') ###parkes parkes_150 = fit.read("/home/omniscope/data/polarized foregrounds/parkes_150mhz.bin")[0] parkes_150[:, :-1] = np.roll(parkes_150[:, :-1], 180, axis=1)[:, ::-1] parkes_150[:, -1] = parkes_150[:, 0] parkes_150[parkes_150 > 7.e3] = -1e-9 parkes_150[parkes_150 <= 0] = -1e-9 parkes_150 = sv.equirectangular2heapix(parkes_150, nside_standard) parkes_150[parkes_150 <= 0] = np.nan hpv.mollview(np.log10(parkes_150), nest=True, min=0, max=4, sub=(2, 2, 3), title='parkes150MHz') ####GSM#### plot_IQU(fake_solution_map, 'GSM', 4, shape=(2, 2), coord='CG') clean = False if clean:#take abt 10 min, not quite working. ringing seems not caused by wiener filter?? bright_pt_mask = np.abs(result/sizes) > np.percentile(np.abs(result/sizes), 99)
sys.exit(0) ns *= 2 resolutions = {} ######################### ###Stockert 2.72######################### ######################### data_x = np.arange(PI/2, -PI/2-.00001, -DEGREE/8)%(2*PI) data_y = np.arange(PI/2+DEGREE*50, PI/2-DEGREE*50-.00001, -DEGREE/8)%(2*PI) stockert11cm = fit.read('/home/omniscope/data/polarized foregrounds/fits27917_stockert11cm_180_100.bin')[0] * 1e-3 stockert11cm_header = fit.read_header('/home/omniscope/data/polarized foregrounds/fits27917_stockert11cm_180_100.bin') stockert11cm[stockert11cm > stockert11cm_header['DATAMAX'] * 1e-3] = -1e6 * stockert11cm_header['DATAMAX'] stockert11cm[stockert11cm < stockert11cm_header['DATAMIN'] * 1e-3] = -1e6 * stockert11cm_header['DATAMAX'] stockert11cm = sv.equirectangular2heapix(stockert11cm, nside=1024, data_x=data_x, data_y=data_y) stockert11cm[stockert11cm < 0] = np.nan stockert11cm = {2.72: stockert11cm} resolutions[2.72] = 21 * ARCMIN#data website uses 21, paper says 4.3 if plot_individual: plot_dataset(stockert11cm) ######################### ###mother file######################### ######################### # motherfile = {} # motherfile_data = np.fromfile("/home/omniscope/data/polarized foregrounds/motherfile_3145728_16_float64.bin", dtype='float64').reshape((3145728, 16))[hpf.nest2ring(512, range(3145728))] # for i in range(motherfile_data.shape[1]): # motherfile[i] = motherfile_data[:, i] # plot_dataset(motherfile)
# AtNiASii = sv.InverseCholeskyMatrix(AtNiASi) # AtNiSidata = AtNidata_sum + fake_solution_map * rescale / S_diag # combined_result = AtNiASii.dotv(AtNiSidata) # # plot_IQU(combined_result / rescale, '+'.join(INSTRUMENTS) + '+GSM', 2, shape=(3, 4), coord='CG') # ###parkes parkes_header = fitsio.read_header("/home/omniscope/data/polarized foregrounds/parkes_150mhz.bin") parkes_150 = fitsio.read("/home/omniscope/data/polarized foregrounds/parkes_150mhz.bin")[0] parkes_150[:, :-1] = np.roll(parkes_150[:, :-1], 180, axis=1)[:, ::-1] parkes_150[:, -1] = parkes_150[:, 0] parkes_150[parkes_150 > parkes_header['DATAMAX']] = -parkes_header['DATAMAX'] parkes_150[parkes_150 < parkes_header['DATAMIN']] = -parkes_header['DATAMAX'] parkes_150 = sv.equirectangular2heapix(parkes_150, nside, nest=False) parkes_150[parkes_150 <= 0] = np.nan ang0, ang1 = hp.rotator.rotateDirection(equ2013_to_gal_matrix, hpf.pix2ang(nside, range(12 * nside ** 2), nest=True)) parkes_150 = hpf.get_interp_val(parkes_150, ang0, ang1) parkes_header = fitsio.read_header("/home/omniscope/data/polarized foregrounds/parkes_85mhz.bin") parkes_85 = fitsio.read("/home/omniscope/data/polarized foregrounds/parkes_85mhz.bin")[0] parkes_85[:, :-1] = np.roll(parkes_85[:, :-1], 180, axis=1)[:, ::-1] parkes_85[:, -1] = parkes_85[:, 0] parkes_85[parkes_85 > parkes_header['DATAMAX']] = -parkes_header['DATAMAX'] parkes_85[parkes_85 < parkes_header['DATAMIN']] = -parkes_header['DATAMAX'] parkes_85 = sv.equirectangular2heapix(parkes_85, nside, nest=False) parkes_85[parkes_85 <= 0] = np.nan equ2013_to_gal_matrix = hp.rotator.Rotator(coord='cg').mat.dot(sv.epoch_transmatrix(2000, stdtime=2013.58)) ang0, ang1 = hp.rotator.rotateDirection(equ2013_to_gal_matrix, hpf.pix2ang(nside, range(12 * nside ** 2), nest=True)) parkes_85 = hpf.get_interp_val(parkes_85, ang0, ang1)