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()
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()
def plot_label(x, y, cent_xy, cent_label, title, show=None, pic_path=None): ncent = cent_label.shape[0] img = Image_Plot() img.subplots(1, 1) for i in range(ncent): img.axs[0][0].scatter(cent_xy[0][i], cent_xy[1][i], color="C%d" % i, marker="*", s=80) idx = cent_label[i] == 1 img.axs[0][0].scatter(x[idx], y[idx], edgecolors="C%d" % i, color="none", label="%d, %d" % (i, idx.sum()), s=5) img.axs[0][0].set_title(title) img.axs[0][0].legend() if pic_path: img.save_img(pic_path) if show: img.show_img() img.close_img()
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()
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()
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] h5f["/FIELD_g2"] = g[2] ra = gal_coord[0] dec = gal_coord[1] print(ra.min(), ra.max(), ra.mean()) print(dec.min(), dec.max(), dec.mean()) h5f["/ra"] = ra
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")
mc2s[i] = mc2 print(mc1) print(mc2) img.axs[0][0].errorbar(range(4), mc1s[:, 0], mc1s[:, 1], label="PDF m1-iter", marker="s", capsize=img.cap_size) img.axs[0][0].errorbar(range(4), mc2s[:, 0], mc2s[:, 1], label="PDF m2-iter", marker="s", capsize=img.cap_size) img.axs[0][1].errorbar(range(4), mc1s[:, 2], mc1s[:, 3], label="PDF c1-iter", marker="s", capsize=img.cap_size) img.axs[0][1].errorbar(range(4), mc2s[:, 2], mc2s[:, 3], label="PDF c2-iter", marker="s", capsize=img.cap_size) img.axs[0][0].legend(ncol=3) img.axs[0][1].legend(ncol=3) img.save_img(data_path + "/noise_free.png") img.show_img()
import h5py import numpy from plot_tool import Image_Plot src_path = argv[1] ra_bin = [1000, 5000, 10000, 15000, 30000] labels = [] sub_num = numpy.array([75, 34, 56, 35], dtype=numpy.intc) img = Image_Plot(fig_x=8, fig_y=6) img.subplots(2, 2) for i in range(2): for j in range(2): tag = int(i * 2 + j) h5f = h5py.File(src_path + "/group_predict_%d.hdf5" % tag, "r") group_label = h5f["/data"][()] ra_dec = h5f["/ra_dec"][()] h5f.close() for k in range(sub_num[tag]): idx = group_label == k print(k, idx.sum()) # group_label += sub_num[:tag].sum() print(tag, group_label.min(), group_label.max(), sub_num[:tag].sum()) print("\n") img.pts_scatter(i, j, ra_dec[:, 0], ra_dec[:, 1], group_label, [0, sub_num[tag]]) img.save_img("kmeans_new.png") img.close_img()
bin_num = 5000 img = Image_Plot() img.subplots(2,3) for i in range(6): m,n = divmod(i,3) img.axs[m][n].hist(estimator[i]/scale,bin_num) fit = tool_box.gaussnosie_fit(estimator[i]/scale,bin_num) img.axs[m][n].plot(fit[0],fit[1],c="C1",ls="--",linewidth=1.5) print("plot %s"%est[i]) ys = img.axs[m][n].set_ylim() img.axs[m][n].plot([0,0],[ys[0],ys[1]],ls="--",alpha=0.5,c="k",linewidth=1) print(fit[4]) text_str = "%s\n%.4f\n%.4f\n%.4f"%(est[i],fit[4][0],fit[4][1],fit[4][2]) img.axs_text(m,n,0.8,0.1,text_str) img.save_img(pic_path) img = Image_Plot() img.subplots(2,3) for i in range(6): m,n = divmod(i,3) fq.find_shear(estimator[i],1,20,left=-3000, right=3000,fit_num=40,fig_ax=img.axs[m][n]) img.save_img(chi_pic_path)
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()
if ys_[0] < ys[0]: ys[0] = ys_[0] x_ticks = numpy.linspace(-0.06, 0.06, 5) for i in range(4): m, n = divmod(i, 2) if i < 2: if source_label == "galsim": img.axs[m][n].set_ylim(-0.0025, 0.0025) img.axs[m][n].set_yticks(numpy.linspace(-0.002, 0.002, 5)) else: img.axs[m][n].set_ylim(-0.0035, 0.0035) img.axs[m][n].set_yticks(numpy.linspace(-0.003, 0.003, 5)) else: img.axs[m][n].set_ylim(-0.12, 0.12) img.axs[m][n].set_yticks(numpy.linspace(-0.09, 0.09, 7)) img.axs[m][n].set_xlim(-0.075, 0.075) img.axs[m][n].set_xticks(x_ticks) if i == 0: img.axs[m][n].legend(fontsize=img.legend_size + 1, loc="upper left", frameon=False, ncol=2, handletextpad=0.5) # img.subimg_adjust(h=0, w=0) img.save_img(pic_path_png) img.save_img(pic_path_pdf) print(pic_path_pdf) img.close_img()
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()
fig = img.axs[0][2].imshow(qpl_fit, vmin=-vmax_qpl, vmax=vmax_qpl) img.figure.colorbar(fig, ax=img.axs[0][2]) fig = img.axs[1][2].imshow(qpl_sym_fit, vmin=-vmax_qpl, vmax=vmax_qpl) img.figure.colorbar(fig, ax=img.axs[1][2]) for i in range(2): for j in range(3): if j > 0: img.del_ticks(i, j, [0, 1]) img.set_label(i, j, 0, "+ G1 -") img.set_label(i, j, 1, "- G2 +") img.axs[i][j].set_title(titles[i][j]) pic_name = pic_path + "/%s_%d_compare.png" % (pic_nm, rank) img.save_img(pic_name) img.close_img() # ################################################################################# # # x & y grid, raidus .... # img = Image_Plot() # img.subplots(2, 5) # # titles = [["x-grid", "y-grid", "radius-grid", "radius-bin", "mean_num_annuli"], # ["PDF_SYM-x-grid", "PDF_SYM-y-grid", "PDF_SYM-radius-grid", "PDF_SYM-radius-bin", "PDF_SYM-mean_num_annuli"]] # plot_data = [[xgrid, ygrid, radius_grid, radius_mask, mean_of_annuli], # [xgrid_sym, ygrid_sym, radius_grid_sym, radius_mask_sym, mean_of_annuli_sym]] # for i in range(2): # for j in range(5): # fig = img.axs[i][j].imshow(plot_data[i][j])
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()
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 for j in range(sub_num): g1_hat, g1_chisq = fq.get_chisq_range( mg1[j * sub_row:(j + 1) * sub_row], mnu1[j * sub_row:(j + 1) * sub_row], 8, shear_guess)
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) # img.axs[0][0].set_xlim(0.7,10000) img.axs[1][0].set_ylim(1e-10, 1e-3) for i in range(2): img.axs[1][i].set_xscale("log") img.axs[1][i].set_yscale("log") img.set_label(1, 0, 0, "$\ell(\ell+1)}$/2$\pi$ $P_{\kappa}(\ell)$") img.set_label(1, 0, 1, "$\ell$") img.set_label(1, 1, 0, "$\\xi_{+}(\\theta)$") img.set_label(1, 1, 1, "$\\theta$") img.axs[1][0].legend(ncol=3) img.axs[1][1].legend(ncol=3) img.figure.delaxes(img.axs[1][2]) img.save_img(img_nm) # img.show_img() img.close_img()
ys = img.axs[0][i].set_ylim() img.axs[0][i].plot([xs[0], 100], [0, 0], linewidth=img.plt_line_width, c="grey", linestyle="--") img.axs[0][i].set_xlim(xs[0], xs[1]) img.axs[0][i].set_ylim(ys[0] + dys[0], ys[1] + dys[1]) img.axs[0][i].xaxis.set_major_formatter(xticks) img.axs[0][i].set_xlabel("Cutoff percentage", fontsize=img.xy_lb_size) img.axs[0][i].set_ylabel(ylabels[col], fontsize=img.xy_lb_size) img.axs[0][i].set_xticks(x_tick) img.axs_text(0, 0, 0.1, 0.65, "GII-sample", text_color="k", text_fontsize=img.xy_lb_size) img.axs_text(0, 1, 0.1, 0.65, "PII-sample", text_color="k", text_fontsize=img.xy_lb_size) img.axs[0][0].legend(ncol=4, loc="upper left", fontsize=img.legend_size, bbox_to_anchor=(0.08, 1.18)) img.save_img(pic_nm)
img.axs[0][0].plot([xs[0], xs[1]], [j, j], linewidth=0.5, c="grey", alpha=0.5) img.axs[0][0].plot([xs[0], xs[1]], [10 + 10 * j, 10 + 10 * j], linewidth=0.5, c="grey", alpha=0.5) img.axs[0][0].plot([xs[0], xs[1]], [100 + 100 * j, 100 + 100 * j], linewidth=0.5, c="grey", alpha=0.5) img.axs[0][0].set_xlim(xs[0], xs[1]) img.save_img(tool_box.file_name(dens_pic_path + ".png")) img.set_style_default() img.close_img() # # plot R x \Delta\Sigma # img = Image_Plot() # img.set_style() # img.subplots(1,1) # img.set_label(0, 0, 0, ylabels_r) # img.set_label(0, 0, 1, xlabel) # img.axs[0][0].errorbar(result[trans_dist_lb], result[sigtxr_lb], result[sigtxr_lb + 1], c="C1", capsize=4, label="X", marker="s") # img.axs[0][0].set_xscale("log") # img.save_img(dens_r_pic_path + ".png") # img.set_style_default() # img.close_img()
from matplotlib import cm psf_type = "Moffat" psf_flux = 1 psf_scale = 4 stamp_size = 48 seed = 56525 fq = Fourier_Quad(stamp_size, seed) img = Image_Plot() img.subplots(1, 1) fig = img.axs[0][0].imshow(fq.kx2 + fq.ky2) img.figure.colorbar(fig, ax=img.axs[0][0]) img.axs[0][0].set_title("$k^2$") img.del_ticks(0, 0, [0, 1]) img.save_img("E:/kxy.png") img.show_img() pst_num = 50 gal_fluxs = [4000, 16000, 32000, 100000] steps = [0.6, 1, 2, 4] fq = Fourier_Quad(stamp_size, seed) max_radius = 7 pts = fq.ran_pts(pst_num, max_radius, step=1) print(pts) gal_img = fq.convolve_psf(pts, psf_scale, gal_fluxs[2] / pst_num, psf_type) noise_1 = fq.draw_noise(0, 1) noise_2 = fq.draw_noise(0, 1)
fore_source = argv[1] area = argv[2] z1, z2 = float(argv[3]), float(argv[4]) new_name = argv[5] parent_path = "/mnt/perc/hklee/CFHT/gg_lensing/data/foreground/%s/" % fore_source data_path = "%s/%s.hdf5" % (parent_path, area) pic_path = "%s/%s.png" % (parent_path, new_name) h5f = h5py.File(data_path, "r") names = list(h5f.keys()) redshift = h5f["/Z"].value num = redshift.shape[0] idx1 = redshift >= z1 idx2 = redshift < z2 idx = idx1 & idx2 img = Image_Plot() img.subplots(1, 1) bins = img.axs[0][0].hist(redshift, label="All")[1] img.axs[0][0].hist(redshift[idx], bins=bins, label="[%.3f, %.3f]" % (z1, z2)) img.save_img(pic_path) h5f_new = h5py.File(parent_path + new_name + ".hdf5", "w") for nm in names: h5f_new["/%s" % nm] = h5f["/%s" % nm].value[idx] print("%d == > %d in [%.3f, %.3f] Z bin" % (num, idx.sum(), z1, z2)) h5f.close() h5f_new.close()
# if i < 10: # print("%d in %d [%.4f, %.4f]"% # (pair_num,i,radius_bin[i],radius_bin[i+1]),ra_s[idx],dec_s[idx],sep_ang[idx],sep_dist[idx]) astro_data = numpy.loadtxt( "/home/hklee/work/CFHT/gg_lensing/dens_cluster/dens_cluster.txt") img.axs[0][0].errorbar(astro_data[0], astro_data[1], astro_data[2:4], c="k", marker="s", capsize=4, mfc="none", fmt=" ", label="Dens", alpha=0.6) img.axs[0][0].errorbar(result[0], result[1], c="C1", marker="o", capsize=4, fmt=" ", label="T") img.axs[0][0].legend() img.axs[0][0].set_ylim(1, 5000) img.axs[0][0].set_xlim(0.09, 30) img.axs[0][0].set_xscale("log") img.axs[0][0].set_yscale("log") img.save_img("dens.png")
fit_num=20, dg=0.002, ax=img.axs[0][1])[:4] t2 = time.time() chisq_min_c = coeffc[0] - coeffc[1]**2 / 4 / coeffc[2] result_min[2, tag] = chisq_min_c result_min[3, tag] = asymc for m in range(2): img.axis_sci_ticklabel(0, m, 1) print( "%.5f(%.5f). asym: %.3e. %d source + %d contaminations + %d corrections. %.2f sec" % (ghc, ghc_sig, asymc, num_s, num_non, num_corr, t2 - t1)) img.save_img(data_path + "/result/%d/%s_%.2f_dilute_%d_mg_bins.png" % (mg_bin_num, data_type, dilute_case[tag], mg_bin_num)) # img.show_img() img.close_img() comm.Barrier() 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,
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()
h5f = h5py.File("/mnt/ddnfs/data_users/hkli/CFHT/catalog/cfht_cata/cata.hdf5","r") labels = ["w_1", "w_2", "w_3", "w_4"] for i in range(1,5): data = h5f[labels[i-1]].value dec = data[:,1] ra = data[:,0] ra_min, ra_max = ra.min(), ra.max() dec_min, dec_max = dec.min(), dec.max() pts_1 = [ra_min, ra_max, ra_max, ra_min, ra_min] pts_2 = [dec_min, dec_min, dec_max, dec_max, dec_min] img.axs[0][0].plot(pts_1, pts_2, label=labels[i-1]) h5f.close() img.axs[0][0].legend() img.save_img("/mnt/ddnfs/data_users/hkli/CFHT/gg_lensing/result/pic/overlap_ori.png") plt.close() # The catalog in grid img = Image_Plot(fig_x=12, fig_y=9) img.set_style() img.plot_img(1, 1) img.axs[0][0].scatter(ra_n, dec_n, s=3, alpha=0.5, label="CMASS_NORTH") img.axs[0][0].scatter(ra_s, dec_s, s=3, alpha=0.5, label="CMASS_SOUTH") h5f = h5py.File("/mnt/ddnfs/data_users/hkli/CFHT/gg_lensing/data/cata_result_ext_grid.hdf5", "r") labels = ["w_1", "w_2", "w_3", "w_4"] for i in range(1, 5): ra = h5f["/background/w_%d/RA" % i].value
def plot_gf(ra, dec, gf1, gf2, pic_path, gf1_bin_num = 15, gf2_bin_num = 18,gf_bin_num = 18): gf = numpy.sqrt(gf1**2 + gf2**2) label_1 = numpy.zeros_like(gf1) label_2 = numpy.zeros_like(gf2) label_3 = numpy.zeros_like(gf) gf1_bin = numpy.linspace(gf1.min(), gf1.max(), gf1_bin_num+1) gf2_bin = numpy.linspace(gf2.min(), gf2.max(), gf2_bin_num+1) gf_bin = numpy.linspace(gf.min(), gf.max(), gf_bin_num+1) for i in range(gf1_bin_num): idx1 = gf1 >= gf1_bin[i] idx2 = gf1 < gf1_bin[i+1] idx = idx1 & idx2 label_1[idx] = (gf1_bin[i]+ gf1_bin[i+1])/2 for i in range(gf2_bin_num): idx1 = gf2 >= gf2_bin[i] idx2 = gf2 < gf2_bin[i+1] idx = idx1 & idx2 label_2[idx] = (gf2_bin[i]+ gf2_bin[i+1])/2 for i in range(gf_bin_num): idx1 = gf >= gf_bin[i] idx2 = gf < gf_bin[i+1] idx = idx1 & idx2 label_3[idx] = (gf_bin[i]+ gf_bin[i+1])/2 img = Image_Plot() img.subplots(1,3) norm = plt.Normalize(vmin=numpy.min(label_1), vmax=numpy.max(label_1)) cmap = plt.get_cmap('YlOrRd',gf1_bin_num) cl = cmap(norm(label_1)) fig = img.axs[0][0].scatter(ra, dec, color=cl, s=3) 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(label_2), vmax=numpy.max(label_2)) cmap = plt.get_cmap('YlOrRd',gf2_bin_num) cl = cmap(norm(label_2)) fig = img.axs[0][1].scatter(ra, dec, color=cl, s=3) 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(label_3), vmax=numpy.max(label_3)) cmap = plt.get_cmap('YlOrRd',gf_bin_num) cl = cmap(norm(label_3)) fig = img.axs[0][2].scatter(ra, dec, color=cl, s=3) sm = plt.cm.ScalarMappable(cmap=cmap, norm=norm) sm._A = [] img.figure.colorbar(sm, ax=img.axs[0][2]) img.save_img(pic_path) # img.show_img() img.close_img()
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) print(max_radius, " Mpc/h")
g2[shear_tag], gh2_grid, gh2_sig_grid, g2[shear_tag] - gh2_grid, gh2_sig_grid, t4 - t3) print(result_str) result[j, :, rank] = gh1_grid, gh1_sig_grid, gh2_grid, gh2_sig_grid text = "%s [%d, %d]\ng1: %.5f, %.5f(%.5f)\ndiff: %.5f" % ( bin_type[j], num_g, num_nu, g1[shear_tag], gh1_grid, gh1_sig_grid, g1[shear_tag] - gh1_grid) img.axs_text(0, j, 0.9, 0.05, text, text_fontsize=15) text = "%s [%d, %d]\ng2: %.5f, %.5f(%.5f)\ndiff: %.5f" % ( bin_type[j], num_g, num_nu, g2[shear_tag], gh2_grid, gh2_sig_grid, g2[shear_tag] - gh2_grid) img.axs_text(1, j, 0.9, 0.05, text, text_fontsize=15) img.save_img("./pic/%s_%d.png" % (bins, rank)) # img.show_img() img.close_img() comm.Barrier() if rank == 0: img = Image_Plot() img.subplots(2, 5) for i in range(5): img.axs[0][i].errorbar(g1, result[i, 0, :], result[i, 1, :], marker="s", ms=5, fmt=" ", label="g1")
capsize=img.cap_size, marker="o", fillstyle="none", c="C1", label="$m_1$, weight=$\\tilde{\\nu}_F^{-2}$") img.axs[0][0].errorbar(x_coord, 100 * mc2_mpk_pk_fit[0], 100 * mc2_mpk_pk_fit[1], linewidth=img.plt_line_width - 0.5, capsize=img.cap_size, marker="o", fillstyle="none", ls="--", c="C1", label="$m_2$, weight=$\\tilde{\\nu}_F^{-2}$") # img.axs[0][0].errorbar(x_coord, 100 * mc1_mpk_tmag[0], 100 * mc1_mpk_tmag[1], linewidth=img.plt_line_width, # capsize=img.cap_size, marker="s", fillstyle="none") xs = img.axs[0][0].set_xlim() ys = img.axs[0][0].set_ylim(-1.02, 1.02) img.axs[0][0].plot([xs[0], 100], [0, 0], linewidth=img.plt_line_width - 0.5, c="grey", alpha=0.7, linestyle="--") img.axs[0][0].xaxis.set_major_formatter(xticks) img.axs[0][0].set_xlabel("Cutoff percentage", fontsize=img.xy_lb_size) img.axs[0][0].set_ylabel("$m_{1/2}\\times 10^2$", fontsize=img.xy_lb_size) img.axs[0][0].set_xticks(x_tick) img.axs[0][0].legend(ncol=2, fontsize=img.legend_size, frameon=False) img.save_img("E:/weight_compare.pdf") 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()