################# TOD tod=mm.map2tod(maps,rnd_pointing,qubic,kmax=2) ################# Spoil bolometers calibration calerror=1e-2 tod_spoiled=tod.copy() rndcal=np.random.normal(loc=1.,scale=calerror,size=(len(detectors),2)) for i in np.arange(len(detectors)): for j in np.arange(2): tod_spoiled[i,:,j]=rndcal[i,j]*tod[i,:,j] ################# Maps output_maps_all,call=mm.tod2map(tod,rnd_pointing,qubic,disp=False) output_maps_all_spoiled,call_spoiled=mm.tod2map(tod_spoiled,rnd_pointing,qubic,disp=False) output_maps_det,cdet=mm.tod2map_perdet(tod,rnd_pointing,qubic,disp=False) output_maps_det_spoiled,cdet_spoiled=mm.tod2map_perdet(tod_spoiled,rnd_pointing,qubic,disp=False) covmin=np.arange(12*nside**2) for i in np.arange(12*nside**2): covmin[i]=np.min([call[i],call_spoiled[i],cdet[i],cdet_spoiled[i]]) clf() thr = 100 mm.display(output_maps_all,'',center=center,lim=[200,3,3],reso=15,mask=covmin < thr) mm.display(output_maps_det,'',center=center,lim=[200,3,3],reso=15,mask=covmin < thr) mm.display(output_maps_all_spoiled,'',center=center,lim=[200,3,3],reso=15,mask=covmin < thr) mm.display(output_maps_det_spoiled,'',center=center,lim=[200,3,3],reso=15,mask=covmin < thr) rr=0.2 figure()
print(' ') print('#############################') print('####### mc '+str(n)) print('#############################') mapi,mapq,mapu=hp.synfast(spectra[1:],nside,fwhm=fwhmrad,pixwin=True,new=True) rnd_pointing=create_random_pointings([racenter, deccenter],npointings,dtheta) tod=mm.map2tod(maps,rnd_pointing,qubic) tod_spoiled=tod.copy() rndcal=np.random.normal(loc=1.,scale=calerror,size=(len(detectors),2)) for i in np.arange(len(detectors)): for j in np.arange(2): tod_spoiled[i,:,j]=rndcal[i,j]*tod[i,:,j] output_maps_all,call=mm.tod2map(tod,rnd_pointing,qubic,disp=False) output_maps_all_spoiled,call_spoiled=mm.tod2map(tod_spoiled,rnd_pointing,qubic,disp=False) output_maps_det,cdet=mm.tod2map_perdet(tod,rnd_pointing,qubic,disp=False) output_maps_det_spoiled,cdet_spoiled=mm.tod2map_perdet(tod_spoiled,rnd_pointing,qubic,disp=False) covmin=np.arange(12*nside**2) for i in np.arange(12*nside**2): covmin[i]=np.min([call[i],call_spoiled[i],cdet[i],cdet_spoiled[i]]) strn = str(np.random.randint(1e6)) FitsArray(call,copy=False).save('McMixMat/map'+strn+'_covall.fits') FitsArray(output_maps_all[:,0],copy=False).save('McMixMat/map'+strn+'_Iall.fits') FitsArray(output_maps_all[:,1],copy=False).save('McMixMat/map'+strn+'_Qall.fits') FitsArray(output_maps_all[:,2],copy=False).save('McMixMat/map'+strn+'_Uall.fits') FitsArray(cdet,copy=False).save('McMixMat/map'+strn+'_covdet.fits') FitsArray(output_maps_det[:,0],copy=False).save('McMixMat/map'+strn+'_Idet.fits') FitsArray(output_maps_det[:,1],copy=False).save('McMixMat/map'+strn+'_Qdet.fits') FitsArray(output_maps_det[:,2],copy=False).save('McMixMat/map'+strn+'_Udet.fits')
tod_all=mm.map2tod(maps,pointing,qubic) clf() plot(tod_all[0,:,0]) ## All det output_maps_all,coverage_all=mm.tod2map(tod_all,pointing,qubic) output_maps_all_new=output_maps_all.copy() hp.mollview(output_maps_all[:,0]) hp.mollview(output_maps_all[:,1]) hp.mollview(output_maps_all[:,2]) ## per det output_maps_det,coverage_det=mm.tod2map_perdet(tod_all,pointing,qubic) output_maps_det_new=output_maps_det.copy() hp.mollview(output_maps_det[:,0]) hp.mollview(output_maps_det[:,1]) hp.mollview(output_maps_det[:,2]) mask = coverage_det < 10 output_maps_all_new[mask,:]=0 output_maps_det_new[mask,:]=0 newmapi=mapi.copy() newmapq=mapq.copy() newmapu=mapu.copy() newmapi[mask]=np.nan newmapq[mask]=np.nan newmapu[mask]=np.nan