noiseX2dTEB=[filt_noiseT, filt_noiseE, filt_noiseB], noiseY2dTEB=[filt_noiseT, filt_noiseE, filt_noiseB], fmaskX2dTEB=[fMaskCMB] * 3, fmaskY2dTEB=[fMaskCMB] * 3, fmaskKappa=fMask, doCurl=False, TOnly=tonly, halo=True, gradCut=cmbellmax, verbose=True, loadPickledNormAndFilters=loadFile, savePickledNormAndFilters=saveFile) print "Reconstructing", i, " ..." qest.updateTEB_X(fot, foe, fob, alreadyFTed=True) qest.updateTEB_Y(alreadyFTed=True) for j, polComb in enumerate(polCombList): kappa = qest.getKappa(polComb) # pl = Plotter() # pl.plot2d(fftshift(qest.AL[polComb])) # pl.done("al.png") # sys.exit() reconLm = lensedTLm.copy() reconLm.data[:, :] = kappa[:, :].real print "crossing with input"
for index in my_tasks: k += 1 if rank == 0: print(("Rank ", rank, " doing cutout ", index)) kappa = enmap.read_map(sigurd_kappa_file(index)) * taper cmb = enmap.read_map(sigurd_cmb_file(index))[0] #/2.7255e6 ltt2d = fmaps.get_simple_power_enmap(cmb * taper) ccents, ltt = lbinner_dat.bin(ltt2d) / w2 mpibox.add_to_stats("lcl", ltt) if rank == 0: print("Reconstructing...") measured = cmb * taper fkmaps = fftfast.fft(measured, axes=[-2, -1]) qest.updateTEB_X(fkmaps, alreadyFTed=True) qest.updateTEB_Y() with io.nostdout(): rawkappa = qest.getKappa("TT").real kappa_recon = enmap.ndmap(rawkappa, wcs_dat) - mf if save_meanfield: mpibox.add_to_stack("meanfield", kappa_recon) #if save is not None: enmap.write_fits(save_func(index),kappa_recon) if rank == 0: print("Calculating kappa powers and binning...") apower = fmaps.get_simple_power_enmap(enmap1=kappa_recon) / w4 data_power_2d_TT = fmaps.get_simple_power_enmap(measured) sd = qest.N.super_dumb_N0_TTTT(data_power_2d_TT) / w2**2. lcents, sdp = lbinner_dat.bin(sd) #np.savetxt(save_func(index,"superdumbn0"),np.vstack((lcents,sdp)).T)
lensedMapX = stamp.copy() * win lensedMapY = stamp.copy() * win try: fotX = np.nan_to_num( fft(lensedMapX, axes=[-2, -1]) / beamTemplate[:, :]) except: print(("skipping ", i, ra, dec)) i -= 1 continue fotY = np.nan_to_num(fft(lensedMapY, axes=[-2, -1]) / beamTemplate[:, :]) if i % 10 == 0: print(("Reconstructing", i, " ...")) qest.updateTEB_X(fotX, alreadyFTed=True) qest.updateTEB_Y(fotY, alreadyFTed=True) kappa = qest.getKappa(polCombList[0]).real / w2 kappaStack += kappa N = i kappaStack /= N saveMf = False try: if doMf: np.savetxt("data/meanfield.dat", kappaStack) print("saved meanfield") saveMf = True except: pass
pl.add(cents, bwf) pl.done(out_dir + "bwfcmb.png") kappa_start = modr_dat * 0. + model_uniform_kappa kappa_model = enmap.samewcs( fmaps.filter_map(kappa_start, wfilter * 0. + 1., modlmap_dat, lowPass=kellmax, highPass=kellmin), measured) io.quickPlot2d(kappa_model, out_dir + "kappa_iter_" + str(k).zfill(3) + ".png") qest_maxlike.updateTEB_X(fkmaps, alreadyFTed=True) qest_maxlike.updateTEB_Y() kappa_recon_single = enmap.samewcs( qest_maxlike.getKappa(polcomb).real, measured) io.quickPlot2d(kappa_recon_single, out_dir + "kappa_recon_single.png") truek_filt = fmaps.filter_map(true_kappa_map_dat, wfilter * 0. + 1., modlmap_dat, lowPass=kellmax, highPass=kellmin) true_ksum = truek_filt[modr_dat < 10.].mean() while k < 20: if k == 0: delensed = maps.copy()