Esempio n. 1
0
# setup two panel plot
if args.figsize: figsize = eval(args.figsize)
else: figsize = None
Y, X = imap.posmap() / np.pi * 180
fig = plt.figure(figsize=figsize)

##############
# left panel #
##############
ax = plt.subplot(121, projection=imap.wcs)
opts = {
    'cmap': 'magma',
    'norm': colors.LogNorm(vmin=1e-2, vmax=3),
}
plotstyle.setup_axis(ax, nticks=[5, 5], fmt=None)
P = np.sum(imap[1:]**2, axis=0)**0.5
im = ax.imshow(P, **opts)
ax.set_xlabel('$l$')
ax.set_ylabel('$b$')
cax = plotstyle.add_colorbar_hpad(ax, pad="1%", hpad="50%")
fig.colorbar(im, cax=cax, orientation='horizontal',
             shrink='50%').set_label(texify("P [MJy/sr]"), fontsize=12)
cax.xaxis.set_label_position('top')
cax.xaxis.set_ticks_position('top')
ax.text(0.15, 1.03, texify("f090"), transform=ax.transAxes, fontsize=14)
ax.tick_params(axis='x', colors='white', which='both', labelcolor='black')
ax.tick_params(axis='y', colors='white', which='both', labelcolor='black')
ax.set_aspect('equal')
for side in ['left', 'right', 'top', 'bottom']:
    ax.spines[side].set_visible(True)
Esempio n. 2
0
                         2,
                         figsize=figsize,
                         sharey=True,
                         subplot_kw={'projection': imap.wcs})

plot_opts = {
    'origin': 'lower',
    'cmap': args.cmap,
    'vmin': args.min,
    'vmax': args.max,
    # 'extent': box2extent(box) / np.pi * 180
}
# plot planck
imap = load_map(filedb[args.freq]['planck'], box, fcode=args.freq)
imap = process_map(imap)
plotstyle.setup_axis(axes[0], nticks=[10, 5])
axes[0].imshow(imap, **plot_opts)
imap = load_map(filedb[args.freq]['coadd'], box, fcode=args.freq)
imap = process_map(imap)
plotstyle.setup_axis(axes[1], nticks=[10, 5], yticks=False)
im = axes[1].imshow(imap, **plot_opts)
fig.subplots_adjust(right=0.9, wspace=0)
cax = fig.add_axes([0.91, 0.2, 0.01, 0.6])
fig.colorbar(im, cax=cax).set_label(texify('Polarized intensity [MJy/sr]'))
# turn-off axis
if not args.axis:
    for ax in axes.flat:
        ax.axis('off')
else:
    for ax in axes:
        for side in ['left', 'right', 'top', 'bottom']:
Esempio n. 3
0
        opts['norm'] = colors.LogNorm(vmin=10**0.5, vmax=10**2)
    label = texify("Total Intensity [MJy/sr]")
if 'pmap' in args.back:
    fcode = args.back.split('_')[-1]
    if 'planck' in args.back:
        imap = load_map(filedb[fcode]['planck'], fcode=fcode, box=box) / 1e9
    else:
        imap = load_map(filedb[fcode]['coadd'], fcode=fcode, box=box) / 1e9
    if args.smooth:
        imap = enmap.smooth_gauss(args.smooth * u.fwhm * u.arcmin)
    back = np.sum(imap[1:]**2, axis=0)**0.5
    label = texify("Polarized Intensity [MJy/sr]")
# plotting
if back is not None:
    ax = plt.subplot(111, projection=back.wcs)
    plotstyle.setup_axis(ax, nticks=[10, 5])
    im_back = ax.imshow(back, **opts)
#########
# front #
#########
if 'bvec' in args.front:
    fcode = args.front.split('_')[-1]
    imap = load_map(filedb[fcode]['coadd'], fcode=fcode, box=box)
    ivar = load_ivar(filedb[fcode]['coadd_ivar'], fcode=fcode, box=box)
    if args.smooth2:
        imap = enmap.smooth_gauss(imap, args.smooth2 * u.fwhm * u.arcmin)
        ivar = enmap.smooth_gauss(ivar, args.smooth2 * u.fwhm * u.arcmin)
        s = sfactor(fcode, args.smooth2)
    else:
        s = 1
    if args.dg2:
Esempio n. 4
0
# initialize plot
# load temp file to get wcs
imap = load_map(filedb['f090']['coadd'], box, fcode='f090', IAU=args.IAU)
spkw = {'projection': imap.wcs}
if not args.sep_colorbar:
    fig, axes = plt.subplots(3,2,figsize=figsize, subplot_kw=spkw)
else:
    fig, axes = plt.subplots(3,2,figsize=figsize, subplot_kw=spkw,
                             gridspec_kw={'width_ratios': [0.942, 1]})    
plot_opts = {
    'origin': 'lower',
    'cmap': args.cmap,
    # 'extent': box2extent(box)/np.pi*180
}
# row 0: f090
plotstyle.setup_axis(axes[0,0], nticks=[10,5], xticks=False, yticks=True)
plotstyle.setup_axis(axes[0,1], nticks=[10,5], xticks=False, yticks=False)
plot_opts.update({'vmin': args.min_f090, 'vmax': args.max_f090})
imap = load_map(filedb['f090']['coadd'], box, fcode='f090', IAU=args.IAU)
qmap = process_map(imap, 'Q')
im_f090_q = axes[0,0].imshow(qmap, **plot_opts)
umap = process_map(imap, 'U')
im_f090_u = axes[0,1].imshow(umap, **plot_opts)
# add colorbar
if args.sep_colorbar:
    cb_f090 = plotstyle.add_colorbar(fig, axes[0,1], size="3%")
    fig.colorbar(im_f090_q, cax=cb_f090, orientation='vertical')
    cb_f090.yaxis.set_ticks([-0.15,0,0.15]);    

# row 1: f150
plotstyle.setup_axis(axes[1,0], nticks=[10,5], xticks=False, yticks=True)
Esempio n. 5
0
# 2 panel plot
fig, axes = plt.subplots(1,
                         2,
                         figsize=figsize,
                         subplot_kw={'projection': imap.wcs})
# fig = plt.figure(figsize=figsize)

# left: total intensity
opts = {
    'vmin': args.tmin,
    'vmax': args.tmax,
    'cmap': args.tcmap,
    'interpolation': 'nearest'
}
ax = plotstyle.setup_axis(axes[0], nticks=[5, 5], fmt=None)
im = ax.imshow(imap[0], **opts)
ax.coords[0].set_axislabel(r"$l$")
ax.coords[1].set_axislabel(r"$b$")
# by default, AxesDivider makes new axes class based on the parent axes,
# for projection based axes this causes problem, so I had to force a
# non wcs-based Axis here
# cax = plotstyle.add_colorbar(fig, ax)
# fig.colorbar(im, cax=cax).set_label(texify("Total intensity [MJy/sr]"))
cax = plotstyle.add_colorbar_hpad(ax, hpad="50%")
fig.colorbar(im, cax=cax,
             orientation='horizontal').set_label(texify("I [MJy/sr]"))
cax.xaxis.set_ticks_position("top")
cax.xaxis.set_label_position("top")
ax.text(0.15, 1.03, texify("f090"), transform=ax.transAxes, fontsize=14)
# right: polarization intensity
        # plotstyle
        if freq == 'f090': norm = colors.LogNorm(vmin=10**-0.5, vmax=10**1.5)
        elif freq == 'f150': norm = colors.LogNorm(vmin=10**-0.5, vmax=10**1.5)
        else: norm = colors.LogNorm(vmin=10**0.5, vmax=10**2)
        # setup axes projection
        ax = axes[j]
        if j == 1:
            xticks, yticks = True, False
        else:
            xticks, yticks = True, True
        if j == 0:
            ax.set_ylabel('$b$')
        ax.set_xlabel('$l$')
        plotstyle.setup_axis(ax,
                             fmt="d.d",
                             xticks=xticks,
                             yticks=yticks,
                             nticks=[10, 5])
        # load data
        if j == 0: use = 'act'
        if j == 1: use = 'coadd'
        imap = load_map(filedb[freq][use], box, fcode=freq) / 1e9
        imap[0, imap[0] < 10**-0.5] = 10**-0.5
        im = ax.imshow(imap[0], norm=norm, **plot_opts)
        cb = plotstyle.add_colorbar(fig, axes[1])
        fig.colorbar(im, cax=cb).set_label(texify('Total Intensity [MJy/sr]'),
                                           fontsize=14)

# setup labels: Planck, ACT+Planck
axes[0].text(0.4,
             1.05,
Esempio n. 7
0
else:
    nrow, ncol = 1, len(freqs)
# temp loading to get wcs
imap = load_map(filedb['f090']['coadd'], fcode='f090', box=box)
fig, axes = plt.subplots(nrow, ncol, figsize=figsize, subplot_kw={'projection': imap.wcs})    

for i, freq in enumerate(freqs):
    norm = Normalize(vmin=mins[i], vmax=maxs[i])
    # load map and ivar
    imap = load_map(filedb[freq]['coadd'], fcode=freq, box=box)
    ivar = load_ivar(filedb[freq]['coadd_ivar'], fcode=freq, box=box)
    if len(freqs) == 1: ax = axes
    else: ax = axes[i]
    if len(freqs) == 3:
        if i != 2:
            plotstyle.setup_axis(ax, nticks=[10,5], yticks=True, xticks=False)
        else:
            plotstyle.setup_axis(ax, nticks=[10,5], yticks=True, xticks=True)
        if args.axdir == 'out':
            ax.coords[0].set_ticks_position('b')
            ax.coords[1].set_ticks_position('l')
    else:
        plotstyle.setup_axis(ax, nticks=[5,5], fmt=None)            
    # define underlay to plot under magnetic field orientation
    if args.underlay == 'T':
        back  = imap[0]/1e9
        label = 'Total Intensity [MJy/sr]'
    elif args.underlay == 'P':
        P     = np.sum(imap[1:]**2,axis=0)**0.5/1e9
        back  = enmap.smooth_gauss(P, 1*u.arcmin*u.fwhm)
        label = 'Polarization Intensity [MJy/sr]'
Esempio n. 8
0
    imap_sm = enmap.smooth_gauss(imap, args.smooth*u.fwhm*u.arcmin)
    ivar_sm = enmap.smooth_gauss(ivar, args.smooth*u.fwhm*u.arcmin)
    s       = sfactor(args.freq, args.smooth)
else:
    imap_sm = imap
    ivar_sm = ivar
    s       = 1

# initialize figure
fig = plt.figure(figsize=figsize)

##############
# left panel #
##############
ax   = plt.subplot(121, projection=imap.wcs)
ax   = plotstyle.setup_axis(ax, nticks=[5,5], fmt=None)
opts = {
    'cmap': 'planck_half',
    'vmin': args.tmin,
    'vmax': args.tmax,
    'interpolation': 'nearest'
}
# background: total intensity
im = ax.imshow(imap_sm[0], **opts)
# cax = plotstyle.add_colorbar(fig, ax)
# fig.colorbar(im, cax=cax).set_label(texify("Total intensity [MJy/sr]"))
cax = plotstyle.add_colorbar_hpad(ax, pad="1%", hpad="50%")
locator = ticker.MaxNLocator(nbins=4)
fig.colorbar(im, cax=cax, orientation='horizontal', ticks=locator).set_label(texify("I [MJy/sr]"), fontsize=10)
cax.xaxis.set_label_position('top')
cax.xaxis.set_ticks_position('top')