Exemplo n.º 1
0
def recon_from_config(Config,
                      recon_section,
                      parray,
                      theory,
                      lmax,
                      grad_cut=None,
                      pol=False,
                      u_equals_l=True):
    min_ell = fmaps.minimum_ell(parray.shape, parray.wcs)
    lb = ellbounds_from_config(Config, recon_section, min_ell)
    tellmin = lb['tellminY']
    tellmax = lb['tellmaxY']
    pellmin = lb['pellminY']
    pellmax = lb['pellmaxY']
    kellmin = lb['kellmin']
    kellmax = lb['kellmax']

    lxmap_dat, lymap_dat, modlmap_dat, angmap_dat, lx_dat, ly_dat = fmaps.get_ft_attributes_enmap(
        parray.shape, parray.wcs)
    template_dat = fmaps.simple_flipper_template_from_enmap(
        parray.shape, parray.wcs)
    nT = parray.nT
    nP = parray.nP
    kbeam_dat = parray.lbeam
    fMaskCMB_T = fmaps.fourierMask(lx_dat,
                                   ly_dat,
                                   modlmap_dat,
                                   lmin=tellmin,
                                   lmax=tellmax)
    fMaskCMB_P = fmaps.fourierMask(lx_dat,
                                   ly_dat,
                                   modlmap_dat,
                                   lmin=pellmin,
                                   lmax=pellmax)
    fMask = fmaps.fourierMask(lx_dat,
                              ly_dat,
                              modlmap_dat,
                              lmin=kellmin,
                              lmax=kellmax)
    with oio.nostdout():
        from alhazen.quadraticEstimator import Estimator
        qest = Estimator(template_dat,
                         theory,
                         theorySpectraForNorm=None,
                         noiseX2dTEB=[nT, nP, nP],
                         noiseY2dTEB=[nT, nP, nP],
                         fmaskX2dTEB=[fMaskCMB_T, fMaskCMB_P, fMaskCMB_P],
                         fmaskY2dTEB=[fMaskCMB_T, fMaskCMB_P, fMaskCMB_P],
                         fmaskKappa=fMask,
                         kBeamX=kbeam_dat,
                         kBeamY=kbeam_dat,
                         doCurl=False,
                         TOnly=not (pol),
                         halo=True,
                         uEqualsL=u_equals_l,
                         gradCut=grad_cut,
                         bigell=lmax)

    return tellmin, tellmax, pellmin, pellmax, kellmin, kellmax, qest
Exemplo n.º 2
0
    def _init_qests(self):

        
        mlist = ['e','s','r']
        self.qest = {}
        tellminY = 500
        tellmaxY = 3000
        pellminY = 500
        pellmaxY = 3000
        tellminX = 500
        tellmaxX = 3000
        pellminX = 500
        pellmaxX = 3000
        kellmin = 80
        kellmax = 3000
        self.kellmin = kellmin
        self.kellmax = kellmax
        
        for m in mlist:
            lxmap_dat,lymap_dat,modlmap_dat,angmap_dat,lx_dat,ly_dat = fmaps.get_ft_attributes_enmap(self.shape[m],self.wcs[m])
            nT = modlmap_dat.copy()*0.
            nP = modlmap_dat.copy()*0.
            lbeam = modlmap_dat.copy()*0.+1.
            template_dat = fmaps.simple_flipper_template_from_enmap(self.shape[m],self.wcs[m])
            fMaskCMB_TX = fmaps.fourierMask(lx_dat,ly_dat,modlmap_dat,lmin=tellminX,lmax=tellmaxX)
            fMaskCMB_TY = fmaps.fourierMask(lx_dat,ly_dat,modlmap_dat,lmin=tellminY,lmax=tellmaxY)
            fMaskCMB_PX = fmaps.fourierMask(lx_dat,ly_dat,modlmap_dat,lmin=pellminX,lmax=pellmaxX)
            fMaskCMB_PY = fmaps.fourierMask(lx_dat,ly_dat,modlmap_dat,lmin=pellminY,lmax=pellmaxY)
            fMask = fmaps.fourierMask(lx_dat,ly_dat,modlmap_dat,lmin=kellmin,lmax=kellmax)
            with io.nostdout():
                self.qest[m] = Estimator(template_dat,
                                         self.theory,
                                         theorySpectraForNorm=None,
                                         noiseX2dTEB=[nT,nP,nP],
                                         noiseY2dTEB=[nT,nP,nP],
                                         fmaskX2dTEB=[fMaskCMB_TX,fMaskCMB_PX,fMaskCMB_PX],
                                         fmaskY2dTEB=[fMaskCMB_TY,fMaskCMB_PY,fMaskCMB_PY],
                                         fmaskKappa=fMask,
                                         kBeamX = lbeam,
                                         kBeamY = lbeam,
                                         doCurl=False,
                                         TOnly=True,
                                         halo=True,
                                         uEqualsL=True,
                                         gradCut=None,verbose=False,
                                         bigell=self.lmax)
Exemplo n.º 3
0
    ) * 0. + gGenT.power / beamTemplate[:, :]**2. / TCMB**2.
    filt_noiseE = fot.copy(
    ) * 0. + gGenP1.power / beamTemplate[:, :]**2. / TCMB**2.
    filt_noiseB = fot.copy(
    ) * 0. + gGenP2.power / beamTemplate[:, :]**2. / TCMB**2.

    if k == 0:

        qest = Estimator(lensedTLm,
                         theory,
                         theorySpectraForNorm=None,
                         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)
Exemplo n.º 4
0
        kellmax = 4000

        fMaskCMB = fmaps.fourierMask(lx,
                                     ly,
                                     modLMap,
                                     lmin=cmbellmin,
                                     lmax=cmbellmax)
        fMask = fmaps.fourierMask(lx, ly, modLMap, lmin=kellmin, lmax=kellmax)
        qest = Estimator(smap,
                         theory,
                         theorySpectraForNorm=None,
                         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=True,
                         halo=True,
                         gradCut=gradCut,
                         verbose=False,
                         loadPickledNormAndFilters=None,
                         savePickledNormAndFilters=None)

    lensedMapX = stamp.copy() * win
    lensedMapY = stamp.copy() * win

    try:
        fotX = np.nan_to_num(
            fft(lensedMapX, axes=[-2, -1]) / beamTemplate[:, :])
    except:
Exemplo n.º 5
0
                               lmax=pellmax)
fMask = fmaps.fourierMask(lx_dat,
                          ly_dat,
                          modlmap_dat,
                          lmin=kellmin,
                          lmax=kellmax)

qest = Estimator(template_dat,
                 theory,
                 theorySpectraForNorm=None,
                 noiseX2dTEB=[nT, nP, nP],
                 noiseY2dTEB=[nT, nP, nP],
                 fmaskX2dTEB=[fMaskCMB_T, fMaskCMB_P, fMaskCMB_P],
                 fmaskY2dTEB=[fMaskCMB_T, fMaskCMB_P, fMaskCMB_P],
                 fmaskKappa=fMask,
                 kBeamX=kbeampass,
                 kBeamY=kbeampass,
                 doCurl=False,
                 TOnly=not (pol),
                 halo=True,
                 uEqualsL=True,
                 gradCut=gradCut,
                 verbose=False,
                 bigell=lmax)

clkk2d = theory.gCl('kk', modlmap_dat)

for k, index in enumerate(my_tasks):
    if rank == 0:
        print(
            ("Rank ", rank, " doing job ", k + 1, " / ", len(my_tasks), "..."))
Exemplo n.º 6
0
lxMap,lyMap,modLMap,thetaMap,lx,ly  = fmaps.getFTAttributesFromLiteMap(templateMap)

print "Making white noise..."
nT,nP = fmaps.whiteNoise2D([noiseT,noiseP],beamArcmin,modLMap,TCMB=TCMB)
fMask = fmaps.fourierMask(lx,ly,modLMap,lmin=cmbellmin,lmax=cmbellmax)
fMaskK = fmaps.fourierMask(lx,ly,modLMap,lmin=kellmin,lmax=kellmax)


qest = Estimator(templateMap,
                 theory,
                 theorySpectraForNorm=None,
                 noiseX2dTEB=[nT,nP,nP],
                 noiseY2dTEB=[nT,nP,nP],
                 fmaskX2dTEB=[fMask]*3,
                 fmaskY2dTEB=[fMask]*3,
                 fmaskKappa=fMaskK,
                 doCurl=False,
                 TOnly=len(polCombList)==1,
                 halo=True,
                 gradCut=10000,
                 verbose=True,                 
                 loadPickledNormAndFilters=loadFile,
                 savePickledNormAndFilters=saveFile)


modLMap = qest.N.modLMap
bin_edges = np.arange(2,kellmax,10)
pl = Plotter(scaleY='log',scaleX='log')
pl.add(ellkk,4.*Clkk/2./np.pi)

# CHECK THAT NORM MATCHES HU/OK
Exemplo n.º 7
0
                          ly_dat,
                          modlmap_dat,
                          lmin=kellmin,
                          lmax=kellmax)

with io.nostdout():
    qest = Estimator(template_dat,
                     theory,
                     theorySpectraForNorm=None,
                     noiseX2dTEB=[nT, nP, nP],
                     noiseY2dTEB=[nT, nP, nP],
                     fmaskX2dTEB=[fMaskCMB_T, fMaskCMB_P, fMaskCMB_P],
                     fmaskY2dTEB=[fMaskCMB_T, fMaskCMB_P, fMaskCMB_P],
                     fmaskKappa=fMask,
                     kBeamX=kbeampass,
                     kBeamY=kbeampass,
                     doCurl=False,
                     TOnly=not (pol),
                     halo=True,
                     uEqualsL=True,
                     gradCut=10000,
                     verbose=False,
                     loadPickledNormAndFilters=None,
                     savePickledNormAndFilters=None,
                     bigell=9000)

taper_percent = 14.0
pad_percent = 2.0
Ny, Nx = shape_dat
taper = fmaps.cosineWindow(Ny,
                           Nx,
Exemplo n.º 8
0
                                  lmin=kellmin,
                                  lmax=kellmax)
        if deconvolve_beam:
            kbeampass = None
        else:
            kbeampass = kbeam_dat

        qest = Estimator(template_dat,
                         theory,
                         theorySpectraForNorm=None,
                         noiseX2dTEB=[nT, nP, nP],
                         noiseY2dTEB=[nT, nP, nP],
                         fmaskX2dTEB=[fMaskCMB_T, fMaskCMB_P, fMaskCMB_P],
                         fmaskY2dTEB=[fMaskCMB_T, fMaskCMB_P, fMaskCMB_P],
                         fmaskKappa=fMask,
                         kBeamX=kbeampass,
                         kBeamY=kbeampass,
                         doCurl=False,
                         TOnly=not (pol),
                         halo=True,
                         gradCut=gradCut,
                         verbose=False,
                         loadPickledNormAndFilters=None,
                         savePickledNormAndFilters=None)

        if maxlike:
            qest_maxlike = Estimator(
                template_dat,
                theory,
                theorySpectraForNorm=None,
                noiseX2dTEB=[nT, nP, nP],
Exemplo n.º 9
0
nT,nP,nP = fmaps.whiteNoise2D([1.0,1.0,1.0],1.0,modLMap,TCMB = TCMB)
gradCut = 2000
cmbellmin = 200
cmbellmax = 8000
kellmin = 100
kellmax = 8000

fMaskCMB = fmaps.fourierMask(lx,ly,modLMap,lmin=cmbellmin,lmax=cmbellmax)
fMask = fmaps.fourierMask(lx,ly,modLMap,lmin=kellmin,lmax=kellmax)
qest = Estimator(templateLM,
                 theory,
                 theorySpectraForNorm=None,
                 noiseX2dTEB=[nT,nP,nP],
                 noiseY2dTEB=[nT,nP,nP],
                 fmaskX2dTEB=[fMaskCMB]*3,
                 fmaskY2dTEB=[fMaskCMB]*3,
                 fmaskKappa=fMask,
                 doCurl=False,
                 TOnly=not(pol),
                 halo=True,
                 gradCut=gradCut,verbose=True,
                 loadPickledNormAndFilters=None,
                 savePickledNormAndFilters=None)


# bin_edges = np.arange(kellmin,kellmax,20)
# b = bin2D(modLMap,bin_edges)
# ls,Nls = b.bin(qest.N.Nlkk['EB'])

# pl = Plotter(scaleY='log')
# pl.add(bin_edges,theory.gCl("kk",bin_edges))
# pl.add(ls,Nls)
Exemplo n.º 10
0
nT = parray_dat.nT
nP = parray_dat.nP
kbeam_dat = parray_dat.lbeam
kbeampass = kbeam_dat
fMaskCMB_T = fmaps.fourierMask(lx_dat,ly_dat,modlmap_dat,lmin=tellmin,lmax=tellmax)
fMaskCMB_P = fmaps.fourierMask(lx_dat,ly_dat,modlmap_dat,lmin=pellmin,lmax=pellmax)
fMask = fmaps.fourierMask(lx_dat,ly_dat,modlmap_dat,lmin=kellmin,lmax=kellmax)
with io.nostdout():
    qest = Estimator(template_dat,
                     theory,
                     theorySpectraForNorm=None,
                     noiseX2dTEB=[nT,nP,nP],
                     noiseY2dTEB=[nT,nP,nP],
                     fmaskX2dTEB=[fMaskCMB_T,fMaskCMB_P,fMaskCMB_P],
                     fmaskY2dTEB=[fMaskCMB_T,fMaskCMB_P,fMaskCMB_P],
                     fmaskKappa=fMask,
                     kBeamX = kbeampass,
                     kBeamY = kbeampass,
                     doCurl=False,
                     TOnly=not(pol),
                     halo=True,
                     uEqualsL=True,
                     gradCut=args.grad_cut,bigell=lmax)

covseed = 0


def l(cseed,kseed,returnk=False,index=None):
    cname = fout_dir+"lensed_covseed_"+str(args.covseed).zfill(3)+"_cmbseed_"+str(cseed).zfill(5)+"_kseed_"+str(kseed).zfill(5)+".hdf"
    if unlensed:
        seedroot = (covseed)*Nsets*Nsims