Exemplo n.º 1
0
def plot_gf_pix(x, y, ichip, gf1, gf2, gf, gf1_scale, gf2_scale,gf_scale,dot_size=1,pic_path=None):

    chip_row, chip_col = numpy.divmod(ichip, 9)

    x = x + chip_col * 2112
    y = y + chip_row * 4644

    img = Image_Plot(xpad=0.2,ypad=0.1)
    img.subplots(1, 3)
    color_cm = 'bwr'

    norm = plt.Normalize(vmin=numpy.min(gf1_scale[0]), vmax=numpy.max(gf1_scale[1]))
    cmap = plt.get_cmap(color_cm)
    cl = cmap(norm(gf1))
    fig = img.axs[0][0].scatter(x, y, color=cl, s=dot_size)
    sm = plt.cm.ScalarMappable(cmap=cmap, norm=norm)
    sm._A = []
    img.figure.colorbar(sm, ax=img.axs[0][0])

    norm = plt.Normalize(vmin=numpy.min(gf2_scale[0]), vmax=numpy.max(gf2_scale[1]))
    cmap = plt.get_cmap(color_cm)
    cl = cmap(norm(gf2))
    fig = img.axs[0][1].scatter(x, y, color=cl, s=dot_size)
    sm = plt.cm.ScalarMappable(cmap=cmap, norm=norm)
    sm._A = []
    img.figure.colorbar(sm, ax=img.axs[0][1])

    norm = plt.Normalize(vmin=numpy.min(gf_scale[0]), vmax=numpy.max(gf_scale[1]))
    cmap = plt.get_cmap(color_cm)
    cl = cmap(norm(gf))
    fig = img.axs[0][2].scatter(x, y, color=cl, s=dot_size)
    sm = plt.cm.ScalarMappable(cmap=cmap, norm=norm)
    sm._A = []
    img.figure.colorbar(sm, ax=img.axs[0][2])

    for i in range(3):
        img.axis_sci_ticklabel(0,i,0)
        img.axis_sci_ticklabel(0,i,1)
        img.set_label(0,i,0,"y")
        img.set_label(0,i,1,"x")
    if pic_path:
        img.save_img(pic_path)
    # img.show_img()
    img.close_img()
Exemplo n.º 2
0
def mc_plot(result_arr, mc_arr, img_name):

    img = Image_Plot(fig_x=6, fig_y=4, xpad=0.25, ypad=0.2)
    img.subplots(1, 2)

    scale = 1000

    img.axs[0][0].errorbar(result_arr[0],
                           result_arr[1],
                           result_arr[2],
                           marker="s",
                           fmt=" ",
                           label="g1",
                           capsize=img.cap_size)
    img.axs[0][0].errorbar(result_arr[3],
                           result_arr[4],
                           result_arr[5],
                           marker="s",
                           fmt=" ",
                           label="g2",
                           capsize=img.cap_size)
    img.axs[0][1].errorbar(result_arr[0],
                           scale * (result_arr[1] - result_arr[0]),
                           scale * result_arr[2],
                           marker="s",
                           fmt=" ",
                           label="g1",
                           capsize=img.cap_size)
    img.axs[0][1].errorbar(result_arr[3],
                           scale * (result_arr[4] - result_arr[3]),
                           scale * result_arr[5],
                           marker="s",
                           fmt=" ",
                           label="g2",
                           capsize=img.cap_size)

    mc_str = "Mean\n$m_1 = %.5f (%.5f)$\n$c_1 = %.5f (%.5f)$\n$m_2 = %.5f (%.5f)$\n$c_2 = %.5f (%.5f)$" \
             % (mc_arr[0, 0], mc_arr[0, 1], mc_arr[0, 2], mc_arr[0, 3],
                mc_arr[1, 0], mc_arr[1, 1], mc_arr[1, 2], mc_arr[1, 3])
    img.axs_text(0, 0, 0.8, 0.05, mc_str, text_fontsize=img.legend_size)

    img.set_label(0, 0, 0, "EST g")
    img.set_label(0, 1, 1, "$10^3 (\hat{g} - g_{true})$")
    img.axs[0][0].plot([-0.1, 0.1], [-0.1, 0.1],
                       ls="dashed",
                       c="grey",
                       alpha=0.5)
    img.axs[0][0].set_ylim(-0.05, 0.05)
    img.axs[0][1].set_ylim(-0.1, 0.1)
    for i in range(2):
        img.set_label(0, i, 1, "TRUE g")
        img.axs[0][i].legend(fontsize=img.legend_size, loc="lower right")
        img.axs[0][i].set_xlim(-0.05, 0.05)
    img.save_img(img_name)
    img.close_img()
Exemplo n.º 3
0
    img = Image_Plot(fig_x=5, fig_y=4,xpad=0.25, ypad=0.25)

    img.subplots(2, 3)


    titles = [["$\chi^2$", "dipole-fit", "quadrupole-fit"],
              ["$\chi^2-SYM$", "dipole-fit_SYM", "quadruple-fit_SYM"]]

    img.axs[0][0].plot(gh, chisq1, label="$\chi^2_{g1}$,g1=%.3f" % g1t[rank])
    img.axs[0][0].plot(gh, chisq2, label="$\chi^2_{g2}$,g2=%.3f" % g2t[rank])

    img.axs[1][0].plot(gh, chisq1_sym, label="$\chi^2_{g1}$,g1=%.3f" % g1t[rank])
    img.axs[1][0].plot(gh, chisq2_sym, label="$\chi^2_{g2}$,g2=%.3f" % g2t[rank])

    img.set_label(0, 0, 0, "$\chi^2$")
    img.set_label(0, 0, 1, "$\hat{g}$")
    img.axs[0][0].legend()

    img.set_label(1, 0, 0, "$\chi^2-SYM$")
    img.set_label(1, 0, 1, "$\hat{g}$")
    img.axs[1][0].legend()

    dpl_fit = numpy.nan_to_num(dpl_fit)
    dpl_fit_sym = numpy.nan_to_num(dpl_fit_sym)

    qpl_fit = numpy.nan_to_num(qpl_fit)
    qpl_sym_fit = numpy.nan_to_num(qpl_sym_fit)

    vmax_dpl = max(numpy.abs(dpl_fit).max(), numpy.abs(dpl_fit_sym).max())
    vmax_qpl = max(numpy.abs(qpl_fit).max(), numpy.abs(qpl_sym_fit).max())
Exemplo n.º 4
0
bin_num = 13

x = tool_box.set_bin_log(0.04, 15, bin_num + 1)
print(x)
signal = numpy.zeros((file_num, bin_num))
sigma = numpy.zeros((file_num, bin_num))
los_dist = numpy.zeros((file_num, bin_num))

for i in range(file_num):
    data_path = parent_path + "cmass_result_w_1_%s.npz" % i
    data = numpy.load(data_path)["arr_0"]
    signal[i] = data[0]
    sigma[i] = data[1]
    los_dist[i] = data[-1]

for i in range(6):
    print(x.shape, signal[:, i].shape)
    img.axs[0][0].errorbar(los_dist[:, i],
                           signal[:, i],
                           sigma[:, i],
                           label="[%.5f, %.5f] Mpc/h" % (x[i], x[i + 1]),
                           capsize=3)
img.axs[0][0].legend()
img.set_label(0,
              0,
              0,
              "$\Delta\Sigma\  [\\rm{h\cdot M_{\odot}\cdot pc^{-2}}]$",
              size=15)
img.set_label(0, 0, 1, "LOS distance$\ [\\rm{Mpc \cdot h^{-1}}]$", size=15)
img.show_img()
fig = img.axs[1][0].imshow(shear_field_pdf, vmin=g_min, vmax=g_max,cmap="jet")
img.figure.colorbar(fig, ax=img.axs[1][0])

fig = img.axs[1][1].imshow(shear_field-shear_field_pdf, cmap="jet")
img.figure.colorbar(fig, ax=img.axs[1][1])

yfmt = ["%.1f" % (8 - 4 * k) for k in range(5)]
xfmt = ["%.1f" % (-8 + 4 * k) for k in range(5)]

# img.set_ticklabel(1, 0, 0, len(xfmt), xfmt)
# img.set_ticklabel(1, 0, 1, len(xfmt), xfmt)
#
# img.set_ticklabel(1, 1, 0, len(xfmt), xfmt)
# img.set_ticklabel(1, 1, 1, len(xfmt), xfmt)
titles = ["Input", "MCMC Fit", "True surface", "True - Fitted"]
for i in range(2):
    for j in range(2):
        img.set_ticklabel(i, j, 0, len(yfmt), yfmt)
        img.set_ticklabel(i, j, 1, len(xfmt), xfmt)
        img.set_label(i, j, 0, "DEC.[arcmin]",size=img.xy_lb_size-5)
        img.set_label(i, j, 1, "R.A.[arcmin]",size=img.xy_lb_size-5)
        img.axs[i][j].set_title(titles[i*2+j])
pic_name = parent_path + "pic/%s_mcmc_fit_expo_%d_slope.png"%(shear_cmd, expo_num)
pic_name = tool_box.file_name(pic_name)
img.save_img(pic_name)
img.close_img()
print("Fit. %s"%pic_name)



Exemplo n.º 6
0
for j in range(5):
    total_path = "E:/data/new_pdf/galsim_sample/imgs_%d" % j
    data_path = total_path + "/chisq"

    h5f = h5py.File(data_path + "/shear.hdf5", "r")
    g1 = h5f["/g1"][()]
    g2 = h5f["/g2"][()]
    h5f.close()
    for n in nm:
        for i in range(10):
            h5f = h5py.File(data_path + "/chisq_%d_%s.hdf5" % (i, n), "r")
            chisq1 = h5f["/chisq1"][()]
            chisq2 = h5f["/chisq2"][()]
            shear_h = h5f["/shear"][()]
            h5f.close()
            print(chisq1.min(), chisq2.min())
            idx1 = chisq1 < 10000
            idx2 = chisq2 < 10000
            img = Image_Plot(xpad=0.15, ypad=0.15)
            img.subplots(1, 1)
            img.axs[0][0].plot(shear_h[idx1], chisq1[idx1], label="g1")
            img.axs[0][0].plot(shear_h[idx2], chisq2[idx2], label="g2")
            img.axs[0][0].set_xlim(-0.11, 0.11)
            img.axs[0][0].legend()
            img.axs[0][0].set_title("g1=%.4f, g2=%.4f" % (g1[i], g2[i]))
            img.set_label(0, 0, 0, "$\chi^2$")
            img.set_label(0, 0, 1, "$g$")
            img.save_img(data_path + "/chisq_%s_%d.png" % (n, i))
            # img.show_img()
            img.close_img()
Exemplo n.º 7
0
if rank == 0:
    numpy.savez(
        data_path + "/result/%d/%s_min_change_%d.npz" %
        (mg_bin_num, data_type, mg_bin_num), result_min)
    img = Image_Plot(xpad=0.25)
    img.subplots(1, 2)
    img.axs[0][0].plot(dilute_case,
                       result_min[0],
                       label="$\chi^2_{min}$",
                       marker="s")
    img.axs[0][0].plot(dilute_case,
                       result_min[2],
                       label="$\chi^2_{min}$_corr",
                       marker="o")
    img.axs[0][1].plot(dilute_case, result_min[1], label="Asym", marker="s")
    img.axs[0][1].plot(dilute_case,
                       result_min[3],
                       label="Asym_corr",
                       marker="o")

    img.axis_sci_ticklabel(0, 1, 0)
    img.set_label(0, 0, 0, "$\chi^2$")
    img.set_label(0, 0, 1, "dilution ratio")
    img.set_label(0, 1, 0, "Asym")
    img.set_label(0, 1, 1, "dilution ratio")
    img.axs[0][0].legend()
    img.axs[0][1].legend()
    # img.show_img()
    img.save_img(data_path + "/result/%d/%s_min_change_%d.png" %
                 (mg_bin_num, data_type, mg_bin_num))
comm.Barrier()
Exemplo n.º 8
0
    if i == 0:
        fig = img.axs[0][i].imshow(shear_field[inverse], cmap="jet")
        img.figure.colorbar(fig, ax=img.axs[0][i])
    elif i == 1:
        num_dens = numpy.histogram2d(gal_coord[0], gal_coord[1],
                                     [ra_bin, dec_bin])[0]
        fig = img.axs[0][i].imshow(num_dens, cmap="jet")
        img.figure.colorbar(fig, ax=img.axs[0][i])
    else:
        img.axs[0][i].scatter(ra,
                              dec,
                              color=cmap_g(norm_g(shear_field_ch)),
                              s=1)
        sm = plt.cm.ScalarMappable(cmap=cmap_g, norm=norm_g)
        sm._A = []
        plt.colorbar(sm, ax=img.axs[0][i])
        img.axs[0][i].set_title("%d galaxies" % num_each_expo)

    img.set_label(0, i, 0, "DEC. [arcmin]")
    img.set_label(0, i, 1, "R.A. [arcmin]")
    if i < 2:
        img.axs[0][i].set_yticks([int(nx - k * nx / 5) for k in range(6)])
        img.axs[0][i].set_yticklabels(
            ["%.1f" % (k * nx / 5. * pixel_scale) for k in range(6)])
        img.axs[0][i].set_xticks([int(k * ny / 5) for k in range(6)])
        img.axs[0][i].set_xticklabels(
            ["%.1f" % (k * ny / 5. * pixel_scale) for k in range(6)])

img.save_img(parent_path + "pic/shear_field_slope.png")
img.show_img()
img.show_img()


for k in range(test_num):
    mg_i = mg - a2_test[k]*x
    chi_temp_sym = fq.get_chisq(mg_i, 0, 0, mg_bins, bin_num2, inverse, 0)
    img = Image_Plot()
    img.subplots(1,2)
    for ib in range(bin_num):
        img.axs[0][0].scatter(mg_i[bin_idx[ib]], x[bin_idx[ib]], c="C%d" %ib, s=7)

    ys = img.axs[0][0].set_ylim()
    x_label = numpy.linspace(-0.5, 0.5, 7)
    for j in range(7):
        img.axs[0][0].plot([x_label[j], x_label[j]], [ys[0], ys[1]], linestyle="--", c="k", linewidth=2)
    img.axs[0][0].set_ylim(ys)
    img.axs[0][0].set_title("$\chi^2$=%.2f, $a_2$=%.3f"%(chi_temp_sym,a2_test[k]),fontsize=img.xy_lb_size)
    img.set_label(0,0,0,"X")
    img.set_label(0,0,1,"G")

    fx = a2_test[k]*x_plt
    print(fx.min(), fx.max())
    img.axs[0][1].plot(fx,x_plt)
    img.set_label(0,1,1,"g")
    img.set_label(0,1,0,"X")
    img.axs[0][1].set_xlim(-0.9,0.9)

    img.save_img("H:/GGL/1D_slope/move/%d.png"%k)
    # img.show_img()
    img.close_img()
Exemplo n.º 10
0

    # c
    img.axs[0][1].fill_between(x, tag-0.8, tag + 1.2,facecolor='grey', alpha=0.3)
    img.axs[0][1].errorbar(10000*mc[0,0], tag, xerr=10000*mc[0,1],c=color,
                           marker="v",mfc="none",capsize=img.cap_size,ms=pts_size)
    img.axs[0][1].errorbar(10000*mc[0,4], tag+0.6, xerr=10000*mc[0,5],c=color,
                           marker="o",mfc="none",capsize=img.cap_size,ms=pts_size)

    img.axs[0][1].errorbar(10000*mc[1,0], tag, xerr=10000*mc[1,1],c=color,
                           marker="v",capsize=img.cap_size,ms=pts_size)
    img.axs[0][1].errorbar(10000*mc[1,4], tag+0.6, xerr=10000*mc[1,5],c=color,
                           marker="o",capsize=img.cap_size,ms=pts_size)


for i in range(2):
    img.axs[0][i].plot([0, 0], [-2, tag+6], c="grey", ls="dashed")
    if i == 0:
        img.axs[0][i].plot([0.002, 0.002], [-2, tag+6], c="grey", ls="dashed",alpha=0.5)
        img.axs[0][i].plot([-0.002, -0.002], [-2, tag+6], c="grey", ls="dashed",alpha=0.5)
    img.axs[0][i].set_ylim(0, tag+3)
    img.axs[0][i].set_yticklabels([])

img.axs[0][0].set_xlim(-0.008,0.0061)
img.axs[0][1].set_xlim(-0.92,0.92)


img.set_label(0,0,1,"$m$")
img.set_label(0,1,1,"$10^4 c$")
img.save_img(parent_path+"/m_scatter.png")
img.show_img()
Exemplo n.º 11
0
        gh = a2_test[i]*x
        chi_temp = fq.get_chisq(mg1, mnu1, gh, mg_bins, bin_num2, inverse, 0)
        img.axs[0][0].hist(mg1-gh*mnu1, hist_bin, histtype='step',linewidth=img.plt_line_width, label="$a_2$=%.2f, $\chi^2$=%.2f"%(a2_test[i],chi_temp))

        # num_test = numpy.histogram(mg-gh, mg_bins_test)[0]
        # n1 = num_test[0:bin_num2_test][inverse_test]
        # n2 = num_test[bin_num2_test:]
        # chi_test = (n1-n2)/numpy.abs(n1-n2) * numpy.sum((n1-n2)**2/(n1+n2))*0.5
        # img.axs[0][1].scatter(range(bin_num2_test), chi_test,s=120, label="$a_2$=%.2f, $\chi^2$=%.2f"%(a2_test[i],chi_temp))
        # img.axs[0][2].plot(range(bin_num2_test), chi_test,linewidth=img.plt_line_width, label="$\hat g$=%.2f, $\chi^2$=%f"%(a2_test[i],chi_temp))
    ys = img.axs[0][0].set_ylim()
    img.axs[0][0].plot([0,0],[ys[0], ys[1]], linestyle="--", c="grey")
    img.axs[0][0].set_ylim(ys)
    img.axs[0][0].set_xlim((-0.2*1.e9,0.2*1.e9))
    img.axs[0][0].legend(fontsize=img.legend_size-2)
    img.set_label(0,0,0,"N")
    img.set_label(0,0,1,"G")
    img.axs[0][0].set_title("Fix $a_1$=0 (True $a_2$ = %.2f)"%a2,fontsize=img.xy_lb_size)
    img.save_img(PDF_nm)
    img.show_img()

    print(chisq.min(), chisq_new.min())
    print(chisq.max(), chisq_new.max())

    chisq_project = numpy.zeros_like(chisq)
    chisq_new_project = numpy.zeros_like(chisq)

    a1_range_mask = numpy.zeros_like(a1_range,dtype=numpy.bool)
    a2_range_mask = numpy.zeros_like(a1_range,dtype=numpy.bool)
    a1_range_mask[:] = False
    a2_range_mask[:] = False
Exemplo n.º 12
0
        xs = img.axs[1][i].set_xlim()
        img.axs[1][i].plot([xs[0], xs[1]], [
            total_result[i + dilute_case, 0], total_result[i + dilute_case, 0]
        ],
                           label="$\chi^2$ before corr")

        ys = img.axs[0][i].set_ylim()
        dilute_ratio = dilute_ratio_list[i]
        num_non = int(num_s * dilute_ratio)
        img.axs[0][i].plot([num_non, num_non], [ys[0], ys[1]],
                           ls="--",
                           c="gray",
                           label="true dilution")

        img.set_label(0, i, 0, "Asymmetry")
        img.set_label(1, i, 0, "$\chi^2$")

        img.set_label(0, i, 1, "Correction")
        img.set_label(1, i, 1, "Correction")

        img.axis_sci_ticklabel(0, i, 0)
        img.axis_sci_ticklabel(0, i, 1)

        img.axis_sci_ticklabel(1, i, 1)

        img.axs[0][i].legend()
        img.axs[1][i].legend()

    img.save_img("./%d/asym_%d.pdf" % (mg_bin_num, mg_bin_num))
    img.close_img()
]
scale = [100, 100, 1000]
x_ticks = numpy.linspace(-0.02, 0.01, 4)
for i in range(3):
    h5f = h5py.File("D:/data_%d.hdf5" % (i + 1), "r")
    data = h5f["/data"][()]
    img.axs[0][i].errorbar(data[1, :data_num],
                           y,
                           xerr=data[2, :data_num],
                           capsize=img.cap_size - 1)
    ys = img.axs[0][i].set_ylim()
    img.axs[0][i].plot([signal, signal], [ys[0], ys[1]],
                       ls="dotted",
                       c="grey",
                       alpha=0.5)
    img.set_label(0, i, 1, "g")
    for j in range(data_num):
        if i < 2:
            text_str = "%d bins, $10^2\sigma=%.3f$, $N\sigma^2=%.3f$" % (
                data[4, j], scale[i] * data[2, j], data[3, j])
        else:
            text_str = "%d bins, $10^3\sigma=%.3f$, $N\sigma^2=%.3f$" % (
                data[4, j], scale[i] * data[2, j], data[3, j])
        img.axs_text(0,
                     i,
                     y[j],
                     -0.019,
                     text_str,
                     text_fontsize=img.legend_size - 4,
                     ax_trans=False)
    img.axs[0][i].set_xlim(signal - 0.031, signal + 0.007)
    img = Image_Plot()
    img.subplots(2, 5)
    for i in range(2):
        for j in range(5):
            m = i * 5 + j

            h5f = h5py.File(
                parent_path + "/%s/chi_%d_epsf.hdf5" % (dst[rank], m), "r")
            chisq1 = h5f["/chisq1"][()]
            chisq2 = h5f["/chisq2"][()]
            g = h5f["/g"][()]
            h5f.close()
            img.axs[i][j].plot(g, chisq1, label="g1")
            img.axs[i][j].plot(g, chisq2, label="g2")
            img.axs[i][j].legend()
            img.set_label(i, j, 0, "$\chi^2$")
            img.set_label(i, j, 0, "$g$")

    pic_nm = parent_path + "/%s/chisq_%s.png" % (dst[rank], dst[rank])
    img.save_img(pic_nm)

if cmd == "check":

    diff = numpy.zeros((1, 10))
    print(dst[rank], src[rank])
    for i in range(10):
        h5f = h5py.File(parent_path + "/%s/data_%d_epsf.hdf5" % (dst[rank], i),
                        "r")
        data = h5f["/data"][()]
        h5f.close()
            for j in range(bin_num):
                idxf1 = gf1 >= gf_bin[j]
                idxf2 = gf1 < gf_bin[j+1]

                idx = idxf1 & idxf2
                if idx.sum() > 1000:
                    gh, gh_sig = fq.find_shear(mg1[idx], mnu1[idx],8)[:2]
                    result[0,j] = gh
                    result[1,j] = gh_sig
            idxp = result[0] > - 99
            img.axs[m][n].errorbar(gf_bin_c[idxp], result[0][idxp], result[1][idxp],
                                   capsize=3, c="C1", label="%s g1"%labels[i], marker="o")

        m,n = divmod(i,2)
        xs = img.axs[m][n].set_xlim()
        ys = img.axs[m][n].set_ylim()
        max_x = max([abs(xs[0]), abs(xs[1])])
        max_y = max([abs(ys[0]), abs(ys[1])])
        max_range = max(max_x, max_y)

        img.axs[m][n].plot([-max_range, max_range], [-max_range, max_range], linestyle="--", c="grey")
        img.axs[m][n].legend(loc="upper left")
        img.axs[m][n].set_xlim(-max_x, max_x)
        img.axs[m][n].set_ylim(-max_y, max_y)

        img.set_label(m,n, 0, "$g_1$")
        img.set_label(m,n, 1, "True $g_1$")

    img.save_img(pic_path + "/%s.png"%("_".join(sub_fields_sep[sub_tag])))
    img.close_img()
Exemplo n.º 16
0
    h5f.close()
    print(dist.shape, res.shape)
    img.axs[0][0].errorbar(dist,
                           res[0],
                           res[1],
                           marker="s",
                           c="C%d" % i,
                           mfc="none",
                           label="W-%d" % i,
                           capsize=4)

img.axs[0][0].legend(fontsize=img.legend_size)
img.axs[0][0].set_yscale("log")
img.axs[0][0].set_xscale("log")
img.axs[0][0].set_ylim(0.01, 200)
img.set_label(0, 0, 0, ylabel, size=img.xy_lb_size)
img.set_label(0, 0, 1, xlabel, size=img.xy_lb_size)
img.save_img(data_path + "result.png")
img.show_img()

# # plot the difference percentage
# img = Image_Plot()
# img.subplots(1,1)
#
# ylabel = "$\Delta\Sigma \; [\\rm{h} \cdot \\rm{M_{\odot}} \cdot \\rm{pc^{-2}}]$"
# xlabel = "$\\rm{R} \; [\\rm{Mpc} \cdot \\rm{h^{-1}}]$"
# data_path = "E:/works/Galaxy-Galaxy_lensing/CLUSTER/"
# dist_min, dist_max = 100, 0
# for i in range(1, 5):
#     data_path1 = "E:/works/Galaxy-Galaxy_lensing/CLUSTER/1/"
#     data_path2 = "E:/works/Galaxy-Galaxy_lensing/CLUSTER/3/"
Exemplo n.º 17
0
        pic_nm = "./result/galsim/mc_%s_ellip_mix.png"%psf_tag
        pic_nm_pdf = "./result/galsim/mc_%s_ellip_mix.pdf"%psf_tag
    else:
        numpy.savez("./result/galsim/cache_%s_ellip_%.2f.npz"%(psf_tag,ellip), mcs)
        pic_nm = "./result/galsim/mc_%s_ellip_%.2f.png"%(psf_tag, ellip)
        pic_nm_pdf = "./result/galsim/mc_%s_ellip_%.2f.pdf"%(psf_tag, ellip)

    y = numpy.zeros((si_num*sr_num,))
    x = numpy.zeros((si_num*sr_num,))
    for i in range(si_num):
        for j in range(sr_num):
            tag = int(i*sr_num + j)
            y[tag] = sersic_index[i]
            x[tag] = scale_radius[j]

    titles = ["$m_1$","$c_1$","$m_2$", "$c_2$"]
    img = Image_Plot(xpad=0.3,ypad=0.3,fig_x=4,fig_y=3)
    img.subplots(2, 2)
    for i in range(2):
        for j in range(2):
            tag = int(i*2 + j)
            z = mcs[tag].flatten()
            img.scatter_pts(i,j,x,y,z,pts_size=30,color_map="bwr")

            img.set_label(i,j,0,"Sersic Index")
            img.set_label(i,j,1,"Scale Radius")
            img.axs[i][j].set_title(titles[tag],fontsize=img.xy_lb_size)
    img.save_img(pic_nm)
    img.save_img(pic_nm_pdf)
    # img.show_img()
Exemplo n.º 18
0
                               label="g2")

        mc1 = tool_box.data_fit(g1, result[i, 0, :], result[i, 1, :])
        mc2 = tool_box.data_fit(g2, result[i, 2, :], result[i, 3, :])

        strs = "m1: %.4f(%.4f), c1: %.5f(%.5f)\nm2: %.4f(%.4f), c2: %.5f(%.5f)" % (
            mc1[0] - 1, mc1[1], mc1[2], mc1[3], mc2[0] - 1, mc2[1], mc2[2],
            mc2[3])
        img.axs_text(0, i, 0.95, 0.05, strs, text_fontsize=12)

        img.axs[0][i].plot([-0.04, 0.04], [-0.04, 0.04],
                           ls="--",
                           alpha=0.3,
                           c="gray")
        img.axs[1][i].plot([-0.04, 0.04], [0, 0], ls="--", alpha=0.3, c="gray")

        img.axs[0][i].legend(loc="lower right")
        img.axs[1][i].legend(loc="lower right")
        img.set_label(0, i, 0, "Measured g")
        img.set_label(0, i, 1, "True g")

        img.set_label(1, i, 0, "diff *100")
        img.set_label(1, i, 1, "True g")

        print(mc1)
        print(mc2)
    img.save_img("./pic/%s_mc.png" % bins)
    # img.show_img()
    img.close_img()

comm.Barrier()
scale = [24.2423, 23.4742]
line_labels = ["$30%$ cutoff", "$60%$ cutoff"]
img = Image_Plot(legend_size=14,
                 fig_x=6,
                 fig_y=4,
                 plt_line_width=2,
                 axis_linewidth=2,
                 xpad=0.2)
img.subplots(1, 1)
# img.set_style()
img.axis_type(0, "major", tick_len=6, tick_width=1.2)
img.axis_type(1, "major", tick_len=6, tick_width=1.2)
bins = img.axs[0][0].hist(-mag_true, 50, ec="gray", label="Entire sample")[1]
img.axs[0][0].hist(-mag_true[idx], bins, ec="gray", label="Detected sample")

ys = img.axs[0][0].set_ylim()
for i, s in enumerate(scale):
    img.axs[0][0].plot([s, s], [ys[0], ys[1]],
                       lw=img.plt_line_width,
                       ls="--",
                       label=line_labels[i])

img.axs[0][0].legend(fontsize=img.legend_size, frameon=False)
img.set_ticklabel_str(0, 0, 0, [2 * i * 100000 for i in range(1, 7)],
                      ["%d" % (2 * i) for i in range(1, 7)])
img.set_label(0, 0, 0, "$10^{-5}N$")
img.set_label(0, 0, 1, "Magnitude")
# img.axs[0][0].set_xlim(22, 25)
img.save_img("E:/cutoff_line.pdf")
img.show_img()
Exemplo n.º 20
0
img = Image_Plot()
img.subplots(2, 2)
inverse = range(nx - 1, -1, -1)
for i in range(2):
    for j in range(2):
        tag = i * 2 + j
        if tag < 3:
            fig = img.axs[i][j].imshow(g[tag][inverse], cmap="jet")
            img.figure.colorbar(fig, ax=img.axs[i][j])
        else:
            num_dens = numpy.histogram2d(gal_coord[0], gal_coord[1],
                                         [ra_bin, dec_bin])[0]
            fig = img.axs[i][j].imshow(num_dens, cmap="jet")
            img.figure.colorbar(fig, ax=img.axs[i][j])

        img.set_label(i, j, 0, "DEC. [arcmin]")
        img.set_label(i, j, 1, "R.A. [arcmin]")
        img.axs[i][j].set_yticks([int(nx - k * nx / 5) for k in range(6)])
        img.axs[i][j].set_yticklabels(
            ["%.1f" % (k * nx / 5. * pixel_scale) for k in range(6)])
        img.axs[i][j].set_xticks([int(k * ny / 5) for k in range(6)])
        img.axs[i][j].set_xticklabels(
            ["%.1f" % (k * ny / 5. * pixel_scale) for k in range(6)])
img.save_img(parent_path + "pic/shear_field.png")
img.show_img()

# the galactic parameters
h5f = h5py.File(parent_path + "param.hdf5", "w")

h5f["/FIELD_g"] = g[0]
h5f["/FIELD_g1"] = g[1]
    for i in range(src_plane_num):
        kappa, g1, g2 = shear_data[i][0], shear_data[i][1], shear_data[i][2]
        g = numpy.sqrt(g1**2 + g2**2)

        img.scatter_pts(0, i, ra, dec, kappa)
        img.scatter_pts(1, i, ra, dec, g)
        img.scatter_pts(2, i, ra, dec, g1)
        img.scatter_pts(3, i, ra, dec, g2)

        img.axs[0][i].set_title("kappa from source plane at Z=%.3f" % src_z[i])
        img.axs[1][i].set_title("g from source plane at Z=%.3f" % src_z[i])
        img.axs[2][i].set_title("g1 from source plane at Z=%.3f" % src_z[i])
        img.axs[3][i].set_title("g2 from source plane at Z=%.3f" % src_z[i])

        for j in range(4):
            img.set_label(j, i, 0, "Dec. [arcsec]")
            img.set_label(j, i, 1, "R.A. [arcsec]")
    img.save_img("./pic/sample.png")
    img.close_img()
# img.show_img()
comm.Barrier()

# random position of source galaxies
total_num = 10000000
half_num = int(total_num / 2)
max_angle = Rmax  # arcsec
max_radius = com_dist_len * max_angle / 3600 * numpy.pi / 180
gal_x = numpy.random.uniform(-max_angle, max_angle,
                             total_num).astype(dtype=numpy.float32)
gal_y = numpy.random.uniform(-max_angle, max_angle,
                             total_num).astype(dtype=numpy.float32)
Exemplo n.º 22
0
mag_i = tool_box.mag_generator(total_num, 20, 24)
flux_i = tool_box.mag_to_flux(mag_i)
h5f["/mag"] = mag_i
h5f["/flux"] = flux_i
h5f.close()
print(flux_i.min(), flux_i.max())

# Plot
img = Image_Plot()
img.subplots(1, 3)
img.set_style()
img.axs[0][0].scatter(x, shear_field)
img.axs[0][1].hist(flux_i, 100)
img.axs[0][2].hist(x, 50)
img.axs[0][0].set_title("shear field")
img.set_label(0, 0, 0, "g")
img.set_label(0, 0, 1, "x")

img.axs[0][1].set_title("Flux hist")
img.axs[0][2].set_title("density")
img.save_img(parent_path + "shear_field_slope.png")
img.show_img()
print("Mock shear field")

print("Generate galaxies")
cmd = "mpirun -np 10 ./simu"
a = Popen(cmd, shell=True)
a.wait()

print("Calculate galaxies")
cmd = "mpirun -np 15 python calculate_chisq.py"
Exemplo n.º 23
0
print(chisqs.min(), chisqs.max())
omega_cm_num = omega_cm_bin.shape[0]
omega_bm_num = omega_bm_bin.shape[0]
sigma8_num = sigma8_bin.shape[0]

my, mx = numpy.zeros((omega_cm_num, sigma8_num)), numpy.zeros(
    (omega_cm_num, sigma8_num))
for i in range(omega_cm_num):
    my[i] = omega_cm_bin[i]
for j in range(sigma8_num):
    mx[:, j] = sigma8_bin[j]

img = Image_Plot(fig_x=4, fig_y=3, xpad=0.25, ypad=0.28)
img.subplots(2, 5)
for i in range(2):
    for j in range(5):
        tag = i * 2 + j

        idx = chisqs[tag] > -200
        print(idx.sum())
        x = mx[idx].flatten()
        y = my[idx].flatten()
        z = chisqs[tag][idx].flatten()

        img.scatter_pts(i, j, x, y, z, color_map="jet", pts_size=18)

        img.axs[i][j].set_title("$\Omega_b=%.3f$" % omega_bm_bin[tag])
        img.set_label(i, j, 0, "$\Omega_m$")
        img.set_label(i, j, 1, "$\sigma_8$")
img.save_img("%s/%s.png" % (data_path, chisa_name))
img.show_img()
Exemplo n.º 24
0
    "%d-%d" % (i, j) for i in range(1, redshift_bin_num + 1)
    for j in range(i, redshift_bin_num + 1)
]

img = Image_Plot(xpad=0.25, ypad=0.25)
img.subplots(2, 3)

for i in range(redshift_bin_num):
    img.axs[0][0].plot(zebin_cent, zehist[i], label="z bin %d" % i)
    img.axs[0][1].plot(com_dist, qx[i], label="z bin %d" % i)

for i in range(tomo_panel_num):
    ls, c = img.line_styles[i]
    img.axs[0][2].plot(com_dist, integ_factor[i], ls=ls, c=c, label=labels[i])

img.set_label(0, 1, 0, "g($\chi$)")
img.set_label(0, 1, 1, "$\chi [Mpc\cdot h^{-1}]$")

img.set_label(0, 2, 0, "$g_i(\chi)g_j(\chi)/a(\chi)^2$")
img.set_label(0, 2, 1, "$\chi [Mpc\cdot h^{-1}]$")
for i in range(3):
    img.axs[0][i].legend(ncol=3)

for i in range(tomo_panel_num):
    ls, c = img.line_styles[i]
    img.axs[1][0].plot(Lpts,
                       Lpts * (Lpts + 1) * PLs[i] / numpy.pi / 2,
                       label=labels[i],
                       ls=ls,
                       c=c)
    img.axs[1][1].plot(theta, xi_plus[i], label=labels[i], ls=ls, c=c)
    y_max = img.axs[0][0].set_ylim()[1]
    ylims = (0.01, y_max * 2)
    # plot the line of "W1" extracted from "Lensing is low"
    if area_num == 1 and int(argv[5]) == 1 and fore_source == "cmass":
        w1_cfht_path = "../lensing_low/data.dat"
        if os.path.exists(w1_cfht_path):
            w1_data_cfht = numpy.loadtxt(w1_cfht_path)
            img.axs[0][0].errorbar(w1_data_cfht[:, 0],
                                   w1_data_cfht[:, 1],
                                   w1_data_cfht[:, 2],
                                   c="C4",
                                   capsize=4,
                                   label="w1, Lensing_low",
                                   marker="s")

    img.set_label(0, 0, 0, ylabels[1])
    img.set_label(0, 0, 1, xlabel)

    img.axs[0][0].set_yscale("log")
    img.axs[0][0].set_ylim(ylims)
    img.axs[0][0].set_xscale("log")
    xs = img.axs[0][0].set_xlim()
    img.axs[0][0].plot([xs[0], xs[1]], [0, 0],
                       linestyle="--",
                       linewidth=1,
                       c="grey")
    img.set_legend(0, 0, loc="upper right")

    for j in range(10):
        img.axs[0][0].plot([xs[0], xs[1]], [j, j],
                           linewidth=0.5,
Exemplo n.º 26
0
# noisy g1 ori PDF
mc = tool_box.data_fit(g1t,result[:,8],result[:,9])
label = "grid PDF_SYM noisy\nm: %.4f(%.4f) c: %.5f(%.5f)"%(mc[0]-1, mc[1], mc[2], mc[3])
img.axs[1][0].errorbar(g1t, result[:,8],result[:,9],c="C0",fmt=" ", label=label,marker="s",ms=5)
# noisy g2 ori PDF
mc = tool_box.data_fit(g2t,result[:,10],result[:,11])
label = "grid PDF_SYM noisy\nm: %.4f(%.4f) c: %.5f(%.5f)"%(mc[0]-1, mc[1], mc[2], mc[3])
img.axs[1][1].errorbar(g2t, result[:,10],result[:,11],c="C0",fmt=" ", label=label,marker="s",ms=5)

# noisy g1 ori PDF
mc = tool_box.data_fit(g1t,result[:,12],result[:,13])
label = "grid PDF_SYM noisy\nm: %.4f(%.4f) c: %.5f(%.5f)"%(mc[0]-1, mc[1], mc[2], mc[3])
img.axs[1][0].errorbar(g1t, result[:,12],result[:,13],c="C1",fmt=" ", label=label,marker="s",ms=5)
# noisy g2 ori PDF
mc = tool_box.data_fit(g2t,result[:,14],result[:,15])
label = "grid PDF_SYM noisy\nm: %.4f(%.4f) c: %.5f(%.5f)"%(mc[0]-1, mc[1], mc[2], mc[3])
img.axs[1][1].errorbar(g2t, result[:,14],result[:,15],c="C1",fmt=" ", label=label,marker="s",ms=5)


for i in range(2):
    img.axs[0][i].legend()
    img.axs[1][i].legend()

    img.axs[0][i].plot([-0.03,0.03],[-0.03,0.03],alpha=0.3,ls="--")
    img.axs[1][i].plot([-0.03,0.03],[-0.03,0.03],alpha=0.3,ls="--")
    for j in range(2):
        img.set_label(i, j, 1, "true g%d" % (i + 1))
        img.set_label(i,j, 0, "measured g%d" % (i + 1))
img.save_img(data_path + "/result.png")
img.show_img()
Exemplo n.º 27
0
    xs = img.axs[2 * i + 1][0].set_xlim()
    img.axs[2 * i + 1][0].plot([xs[0], xs[1]], [1, 1],
                               ls="--",
                               alpha=0.4,
                               c="k")
    img.axs[2 * i + 1][0].plot([xs[0], xs[1]], [0, 0],
                               ls="--",
                               alpha=0.4,
                               c="k")
    img.axs[2 * i + 1][0].plot([xs[0], xs[1]], [-1, -1],
                               ls="--",
                               alpha=0.4,
                               c="k")

labels = [
    "noise_free\n$10^2m_{1/2}$", "noise_free\n$10^4c_{1/2}$",
    "noisy\n$10^2m_{1/2}$", "noisy\n$10^4c_{1/2}$"
]
for i in range(4):
    img.set_label(i, 0, 0, labels[i], fontsize=img.xy_lb_size - 2)

psf_scale = [
    "$r_d=1.6$", "$r_d=2$", "$r_d=2.5$", "$r_d=3$", "$r_d=4$", "$r_d=6$",
    "$r_d=7$"
]
# img.axs[3][0].set_xticks(x_tick_pos)
# img.axs[3][0].set_xticklabels(psf_scale)
img.set_ticklabel_str(3, 0, 1, x_tick_pos, psf_scale)
img.save_img(parent_path + "/result.png")
Exemplo n.º 28
0
h5f = h5py.File(data_path + "/bias_test.hdf5", "r")

img = Image_Plot(fig_x=4, fig_y=3, xpad=0.14, ypad=0.2)
img.subplots(2, 4)

for i in range(2):
    for j in range(2):
        tag = int(2 * i + j)
        data = numpy.abs(h5f["/%d" % tag][()])
        scale = 1
        # img.axs[0][tag].errorbar(data[:,0], data[:,1]*scale, data[:,2]*scale,fmt=" ",capsize=3,marker="s", label="$10^3 c_1$")
        img.axs[0][tag].scatter(data[:, 0],
                                data[:, 1] * scale / data[:, 2] * scale,
                                marker="s",
                                label="$|c_1|/\delta_{c_1}$")
        # img.axs[1][tag].errorbar(data[:,0], data[:,3]*scale, data[:,4]*scale,fmt=" ",capsize=3,marker="s", label="$10^3 c_2$")
        img.axs[1][tag].scatter(data[:, 0],
                                data[:, 3] * scale / data[:, 4] * scale,
                                marker="s",
                                label="$|c_2|/\delta_{c_2}$")
        img.set_label(0, tag, 1, "Jack_id")
        img.set_label(1, tag, 1, "Jack_id")
        img.axs[0][tag].legend()
        img.axs[1][tag].legend()
        # img.axs[0][tag].set_yscale("log")
        # img.axs[1][tag].set_yscale("log")
h5f.close()

img.save_img(data_path + "/add_bias_test.jpg")
img.show_img()
Exemplo n.º 29
0
        shear_guess = numpy.linspace(g_range[i][0], g_range[i][1], guess_num)
        g1_hat, g1_chisq = fq.get_chisq_range(mg1, mnu1, 8, shear_guess)
        g2_hat, g2_chisq = fq.get_chisq_range(mg2, mnu2, 8, shear_guess)

        result[0] = g1_hat
        result[1] = g1_chisq
        result[2] = g2_hat
        result[3] = g2_chisq

        img = Image_Plot(fig_x=6, fig_y=4, xpad=0.25, ypad=0.25)
        img.subplots(1, 1)
        img.axs[0][0].plot(g1_hat, g1_chisq, marker="o", label="g1")
        img.axs[0][0].plot(g2_hat, g2_chisq, marker="s", label="g2")
        img.axs[0][0].legend(fontsize=img.legend_size)
        img.set_label(0, 0, 0, "$\chi^2$", fontsize=img.xy_lb_size)
        img.set_label(0, 0, 1, "$g$", fontsize=img.xy_lb_size)

        img.save_img(total_path + "/result/pic/data_%d_%s_chisq.png" %
                     (ig, dst_nms[i]))
        img.close_img()

        if i == 2 or i == 5:

            img = Image_Plot(fig_x=6, fig_y=4, xpad=0.25, ypad=0.25)
            img.subplots(1, 2)

            total_row = mg1.shape[0]
            sub_row = divmod(total_row, sub_num)[0]
            sub_result[2 * sub_num] = shear_guess
Exemplo n.º 30
0
    for g_hat in fit_range
])

# plot
img = Image_Plot()
img.subplots(1, 2)

shear_fit(fit_range, chi_sq1, img.axs[0][0], "$\chi^2$ of $g_1$")
shear_fit(fit_range, chi_sq2, img.axs[0][0], "$\chi^2$ of $g_2$")

shear_fit(fit_range, chi_sq1_new, img.axs[0][1], "$\chi^2$ of $g_1$")
shear_fit(fit_range, chi_sq2_new, img.axs[0][1], "$\chi^2$ of $g_2$")

titles = ["Original $\chi^2$", "New $\chi^2$"]
for i in range(2):
    img.set_label(0, i, 0, "$\chi^2$")
    img.set_label(0, i, 1, "$\hat g$")
    img.axs[0][i].legend(fontsize=img.legend_size)
    img.axs[0][i].set_title(titles[i])

img.save_img("chisq/chisq_%d.png" % rank)

comm.Barrier()

# if rank == 0:
#
#     shear = numpy.loadtxt(data_path + "parameters/shear.dat")
#     g1 = shear[:result_col]
#     g2 = shear[result_col:]
#
#     img = Image_Plot()