recvs = numpy.empty((6, len(cutoff_scalar)), dtype=numpy.float64)
        comm.Recv(recvs, source=procs, tag=procs)
        res_arr = numpy.column_stack((res_arr, recvs))

    numpy.savez(result_path + "cuts/cache_%s.npz" % cut, res_arr,
                cutoff_scalar_total)

    mc1 = []
    mc2 = []
    for tag, cut_s in enumerate(cutoff_scalar):
        arr = res_arr[:, tag]
        for i in range(1, cpus):
            arr = numpy.column_stack(
                (arr, res_arr[:, i * len(cutoff_scalar) + tag]))

        e1mc = tool_box.data_fit(fg1, arr[0], arr[1])
        mc1.append(e1mc)
        e2mc = tool_box.data_fit(fg2, arr[3], arr[4])
        mc2.append(e2mc)

        mc = numpy.array([e1mc, e2mc])
        data_path = result_path + "cuts/sym/%s/" % filter_name + cut + "/" + str(
            round(cut_s, 4)) + ".npz"
        numpy.savez(data_path, arr, mc)

        mc_title = ['0', '0', '0', '0']
        m_r = [[e1mc[0] - 1 - 2 * e1mc[1], e1mc[0] - 1 + 2 * e1mc[1]],
               [e2mc[0] - 1 - 2 * e2mc[1], e2mc[0] - 1 + 2 * e2mc[1]]]
        c_r = [[e1mc[2] - 2 * e1mc[3], e1mc[2] + 2 * e1mc[3]],
               [e2mc[2] - 2 * e2mc[3], e2mc[2] + 2 * e2mc[3]]]
        for ii in range(2):
Exemple #2
0
plt.subplot(339)
plt.title("B/T")
plt.hist(btr, 100)
plt.savefig(pic)
plt.close()

h5f["/btr"] = btr[:, 0]
h5f.close()

comm.Barrier()
# checking
# if it shows a "m" or "c", run the code again with different seed
if rank == 0:
    h5f = h5py.File(para_path + "/shear.hdf5")
    g1_t = h5f["/g1"][()]
    g2_t = h5f["/g2"][()]
    h5f.close()

    mc1 = tool_box.data_fit(g1_t, mean_e[:, 0],
                            sig_e[:, 0] / numpy.sqrt(num * stamp_num))
    mc2 = tool_box.data_fit(g2_t, mean_e[:, 1],
                            sig_e[:, 1] / numpy.sqrt(num * stamp_num))
    print(mean_e[:, 0])
    print(sig_e[:, 0])
    print(mean_e[:, 1])
    print(sig_e[:, 1])
    print("m1*10^3: %.5f(%.5f), c1*10^4: %.6f(%.6f)" %
          (mc1[0] * 1000, mc1[1] * 1000, mc1[2] * 10000, mc1[3] * 10000))
    print("m2*10^3: %.5f(%.5f), c2*10^4: %.6f(%.6f)" %
          (mc2[0] * 1000, mc2[1] * 1000, mc2[2] * 10000, mc2[3] * 10000))
comm.Barrier()
Exemple #3
0
    comm.Barrier()
    if rank == 0:
        # measured g
        ch1 = [i * 3 for i in range(cut_num)]
        all_measured_fg = results[i][ch1]
        # sigma
        ch2 = [i * 3 + 1 for i in range(cut_num)]
        all_sigma_fg = results[i][ch2]
        # number
        ch3 = [i * 3 + 2 for i in range(cut_num)]
        all_source_num = results[i][ch3]
        x = numpy.linspace(-0.02, 0.02, 100)
        for ic in range(cut_num):
            # mc = (1+m, sig_, c, sig_c)
            mc = tool_box.data_fit(fgs[i], all_measured_fg[ic], all_sigma_fg[ic])
            mcs[i].append(mc)

            # plot the result
            fig = plt.figure(figsize=(8,8))
            ax = fig.add_subplot(111)

            lb = "fg_%d: %d \n$10^2$m: %.2f (%.2f), \n$10^4$c: %.2f (%.2f)"\
                 %(i+1,all_source_num[ic].sum(), 100*(mc[0]-1), 100*mc[1], 10**4*mc[2], 10**4*mc[3])
            ax.errorbar(fgs[i], all_measured_fg[ic], all_sigma_fg[ic], c='red',alpha=0.8, capsize=3, label=lb)
            ax.plot(mc[0]*x+mc[2], c='blue', linestyle="-.", linewidth=1)
            x1, x2 = fgs[i][0], fgs[i][-1]
            ax.plot([x1,x2],[x1,x2], c='black', linewidth=1)
            ax.set_xlim(x1 - 0.3 * (x2 - x1), x2 + 0.3 * (x2 - x1))
            ax.set_ylim(x1 - 0.3 * (x2 - x1), x2 + 0.3 * (x2 - x1))
coll_res = comm.gather(res_list, root=0)

if rank == 0:
    mc1 = []
    mc2 = []
    for tag, cut_s in enumerate(cut_off_scale):
        arr = []
        for i in range(cpus):
            arr.append(coll_res[i][tag])
        arr = numpy.array(arr).T
        y1_data = arr[0, 0:g1num]
        y1_err = arr[1, 0:g1num]
        y2_data = arr[3, 0:g2num]
        y2_err = arr[4, 0:g2num]

        e1mc = tool_box.data_fit(g1, y1_data, y1_err)
        mc1.append(e1mc)
        e2mc = tool_box.data_fit(g2, y2_data, y2_err)
        mc2.append(e2mc)

        mc = numpy.array([e1mc, e2mc])
        data_path = cut_path + "%s/%.4f.npz" % (cut, cut_s)

        numpy.savez(data_path, arr, mc)

        mc_title = ['0', '0', '0', '0']
        m_r = [[e1mc[0] - 1 - 2 * e1mc[1], e1mc[0] - 1 + 2 * e1mc[1]],
               [e2mc[0] - 1 - 2 * e2mc[1], e2mc[0] - 1 + 2 * e2mc[1]]]
        c_r = [[e1mc[2] - 2 * e1mc[3], e1mc[2] + 2 * e1mc[3]],
               [e2mc[2] - 2 * e2mc[3], e2mc[2] + 2 * e2mc[3]]]
        for ii in range(2):
Exemple #5
0
        mean_result_array[1, ig] = g1_mean
        mean_result_array[2, ig] = g1_sig_mean
        mean_result_array[4, ig] = g2_mean
        mean_result_array[5, ig] = g2_sig_mean

        sym_result_array[1, ig] = g1_sym
        sym_result_array[2, ig] = g1_sig_sym
        sym_result_array[4, ig] = g2_sym
        sym_result_array[5, ig] = g2_sig_sym

    comm.Barrier()

    if rank == 0:

        mc1 = tool_box.data_fit(mean_result_array[0], mean_result_array[1],
                                mean_result_array[2])
        mean_mc_array[0] = mc1[0] - 1, mc1[1], mc1[2], mc1[3]
        mc2 = tool_box.data_fit(mean_result_array[3], mean_result_array[4],
                                mean_result_array[5])
        mean_mc_array[1] = mc2[0] - 1, mc2[1], mc2[2], mc2[3]

        mc1 = tool_box.data_fit(sym_result_array[0], sym_result_array[1],
                                sym_result_array[2])
        sym_mc_array[0] = mc1[0] - 1, mc1[1], mc1[2], mc1[3]
        mc2 = tool_box.data_fit(sym_result_array[3], sym_result_array[4],
                                sym_result_array[5])
        sym_mc_array[1] = mc2[0] - 1, mc2[1], mc2[2], mc2[3]

        h5f = h5py.File(result_name, "w")
        h5f["/mean_result"] = mean_result_array
        h5f["/mean_mc"] = mean_mc_array
                               label="g2")

        img.axs[1][i].errorbar(g1, (g1 - result[i, 0, :]) * 100,
                               result[i, 1, :],
                               marker="s",
                               ms=5,
                               fmt=" ",
                               label="g1")
        img.axs[1][i].errorbar(g2, (g2 - result[i, 2, :]) * 100,
                               result[i, 3, :],
                               marker="o",
                               ms=5,
                               fmt=" ",
                               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 = Image_Plot(xpad=0.28, ypad=0.2)
img.subplots(2,2)

data_path = "D:/TEMP/PDF_grid_test"
h5f = h5py.File(data_path + "/shear.hdf5","r")
g1t = h5f["/g1"][()]
g2t = h5f["/g2"][()]
h5f.close()

result = numpy.load(data_path + "/cache.npz")["arr_0"]

print(result.shape)

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

# noise free g1 grid PDF
mc = tool_box.data_fit(g1t,result[:,4],result[:,5])
label = "grid PDF_SYM noise-free\nm: %.4f(%.4f) c: %.5f(%.5f)"%(mc[0]-1, mc[1], mc[2], mc[3])
img.axs[0][0].errorbar(g1t, result[:,4],result[:,5],c="C1",fmt=" ", label=label,marker="s",ms=5)
# noise free g2 grid PDF
mc = tool_box.data_fit(g2t,result[:,6],result[:,7])
label = "grid PDF_SYM noise-free\nm: %.4f(%.4f) c: %.5f(%.5f)"%(mc[0]-1, mc[1], mc[2], mc[3])
img.axs[0][1].errorbar(g2t, result[:,6],result[:,7],c="C1",fmt=" ", label=label,marker="s",ms=5)
comm.Barrier()
# checking
# if it shows a "m" or "c", run the code again with different seed
if rank == 0:
    h5f = h5py.File(para_path + "/shear.hdf5", "r")
    g1_t = h5f["/g1"][()]
    g2_t = h5f["/g2"][()]
    h5f.close()
    mean_e = numpy.zeros((2, cpus))
    sig_e = numpy.zeros((2, cpus))
    for i in range(cpus):
        h5f = h5py.File(para_path + "/para_%d.hdf5" % i, "r")
        e1 = h5f["/e1"][()]
        e2 = h5f["/e2"][()]
        h5f.close()
        mean_e[0, i] = e1.mean()
        mean_e[1, i] = e2.mean()
        sig_e[0, i] = e1.std() / numpy.sqrt(total_num)
        sig_e[1, i] = e2.std() / numpy.sqrt(total_num)
    mc1 = tool_box.data_fit(g1_t, mean_e[0], sig_e[0])
    mc2 = tool_box.data_fit(g2_t, mean_e[1], sig_e[1])
    print(mean_e[0])
    print(sig_e[0])
    print(mean_e[1])
    print(sig_e[1])
    print("m1*10^3: %.5f(%.5f), c1*10^4: %.6f(%.6f)" %
          (mc1[0] * 1000, mc1[1] * 1000, mc1[2] * 10000, mc1[3] * 10000))
    print("m2*10^3: %.5f(%.5f), c2*10^4: %.6f(%.6f)" %
          (mc2[0] * 1000, mc2[1] * 1000, mc2[2] * 10000, mc2[3] * 10000))
comm.Barrier()
mg2 = data[:, 3]
mnu1 = data[:, 4] + data[:, 5]
mnu2 = data[:, 4] - data[:, 5]

fq = Fourier_Quad(10, 123)
gh1, gh1_sig = fq.find_shear(mg1, mnu1, 8)[:2]
gh2, gh2_sig = fq.find_shear(mg2, mnu2, 8)[:2]

result[0, rank] = gh1
result[1, rank] = gh1_sig
result[2, rank] = gh2
result[3, rank] = gh2_sig

comm.Barrier()
if rank == 0:
    mc1 = numpy.array(tool_box.data_fit(g1, result[0], result[1]))
    mc2 = numpy.array(tool_box.data_fit(g2, result[2], result[3]))

    mc1[0] = mc1[0] - 1
    mc2[0] = mc2[0] - 1

    result_path = total_path + "/result/data/shear_result.hdf5"
    h5f = h5py.File(result_path, "w")
    h5f["/mc1"] = mc1
    h5f["/mc2"] = mc2
    h5f["/shear"] = result
    h5f.close()

    print(mc1)
    print(mc2)
h5f.close()

result_data = sym_result_array.copy()
g1 = mean_result_array[0]
g2 = mean_result_array[3]
shear_num = g1.shape[0]

print(g1.shape)

mg_l = numpy.zeros((4, shear_num))
mg_l[0] = result_data[1]
mg_l[1] = result_data[2]
mg_l[2] = result_data[4]
mg_l[3] = result_data[5]

mc1 = tool_box.data_fit(g1, mg_l[0], mg_l[1])
mc1_n = tool_box.data_fit_scipy(g1, mg_l[0], mg_l[1])
mc2 = tool_box.data_fit(g2, mg_l[2], mg_l[3])
mc2_n = tool_box.data_fit_scipy(g2, mg_l[2], mg_l[3])
print("From CPP")
print("%.5f (%.5f), %.5f (%.5f)" % (mc1[0] - 1, mc1[1], mc1[2], mc1[3]))
# print("%.5f (%.5f), %.5f (%.5f)"%(mc1_n[0],mc1_n[1],mc1_n[2],mc1_n[3]))
print("%.5f (%.5f), %.5f (%.5f)" % (mc2[0] - 1, mc2[1], mc2[2], mc2[3]))
# print("%.5f (%.5f), %.5f (%.5f)"%(mc2_n[0],mc2_n[1],mc2_n[2],mc2_n[3]))

check_result = numpy.zeros_like(mg_l)
new_result = numpy.zeros_like(mg_l)

for i in range(shear_num):
    fit_x1 = chisq_g1[i, 20:]
    fit_y1 = chisq_g1[i, :20]
print(shear_num)

file_name = "new_pdf_5.hdf5"
pic_nm1 = data_path + "/%s_1.png"%file_name
pic_nm2 = data_path + "/%s_2.png"%file_name
pic_nm3 = data_path + "/%s_3.png"%file_name

h5f = h5py.File(data_path + "/%s"%file_name, "r")
pdf_result = h5f["/PDF"][()].T
new_pdf_result1 = h5f["/new_PDF/g1"][()].T
new_pdf_result2 = h5f["/new_PDF/g2"][()].T
h5f.close()

print(new_pdf_result1.shape)

pdf_mc1 = numpy.array(tool_box.data_fit(g1, pdf_result[0], pdf_result[1]))
pdf_mc2 = numpy.array(tool_box.data_fit(g2, pdf_result[3], pdf_result[4]))
pdf_mc1[0] = pdf_mc1[0] - 1
pdf_mc2[0] = pdf_mc2[0] - 1

print(pdf_mc1)
print(pdf_mc2)

sub_row = int(new_pdf_result1.shape[0]/iters)
print(sub_row)

mc1s = numpy.zeros((iters, 4))
mc2s = numpy.zeros((iters, 4))

# # g\hat vs g_true
# img = Image_Plot(cap_size=4, xpad=0.2, ypad=0.2)
Exemple #12
0
gh2_grid, gh2_sig_grid, hist2, grid_G2, grid_NU2 = find_shear_grid(
    G2, NU2, G2_bin, G2_hist_bin, NU2_hist_bin, chisq_gap=200, dg=0.005)
result.extend([gh1_grid, gh1_sig_grid, gh2_grid, gh2_sig_grid])
t5 = time.time()

print("RANK %d: %.2f, %.2f, %.2f, %.2f\n" %
      (rank, t2 - t1, t3 - t2, t4 - t3, t5 - t4))

comm.Barrier()

results = comm.gather(result, root=0)

if rank == 0:

    result_arr = numpy.array(results)

    h5f = h5py.File(data_path + "/shear.hdf5", "r")
    g1 = h5f["/g1"][()]
    g2 = h5f["/g2"][()]
    h5f.close()

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

    mc1_grid = tool_box.data_fit(g1, result_arr[:, 4], result_arr[:, 5])
    mc2_grid = tool_box.data_fit(g2, result_arr[:, 6], result_arr[:, 7])

    numpy.savez(data_path + "/cache_%s.npz" % data_type, result_arr, g1, mc1,
                mc1_grid, g2, mc2, mc2_grid)

comm.Barrier()
    fig = img.axs[1][1].imshow(g2_grid2)
    img.figure.colorbar(fig, ax=img.axs[1][1], orientation='horizontal')
    img.axs[1][1].set_title("$g2_U grid$")

    fig = img.axs[1][2].imshow(chisq2)
    img.figure.colorbar(fig, ax=img.axs[1][2], orientation='horizontal')
    img.axs[1][2].set_title("$g2 \chi^2 grid$")

    img.axs_text(0, 0, 1.2, 0.5, text_str, text_fontsize=10)
    img.save_img(total_path +
                 "/shear_point_chisq_0.0030_0.0070_noise_free_%d.png" % tag)
    # img.show_img()
    img.close_img()

mc1 = numpy.array(tool_box.data_fit(g1t, g1m[0], g1m[1]))
mc2 = numpy.array(tool_box.data_fit(g2t, g2m[0], g2m[1]))
mc1[0] = mc1[0] - 1
mc2[0] = mc2[0] - 1
print(mc1)
print(mc2)
text_str = "g_N\nm1: %.5f(%.5f)\nc1: %.5f(%.5f)\n" \
           "m2: %.5f(%.5f)\nc2: %.5f(%.5f)\n"\
           %(mc1[0],mc1[1],mc1[2],mc1[3],mc2[0],mc2[1],mc2[2],mc2[3])

mc1_u = numpy.array(tool_box.data_fit(g1t, g1m[2], g1m[3]))
mc2_u = numpy.array(tool_box.data_fit(g2t, g2m[2], g2m[3]))
mc1_u[0] = mc1_u[0] - 1
mc2_u[0] = mc2_u[0] - 1
print(mc1_u)
print(mc2_u)
Exemple #14
0
        gh2, gh2_sig = fq.find_shear_mean(temp[:, 1], temp[:, 2])

        # print(g1, gh1,gh1_sig)
        # print(g2, gh2,gh2_sig)

        g1_result[0, i] = gh1
        g1_result[1, i] = gh1_sig

        g2_result[0, i] = gh2
        g2_result[1, i] = gh2_sig

    # hdu = fits.PrimaryHDU(img_buf)
    # psf_path = './gal_imgs.fits'
    # hdu.writeto(psf_path, overwrite=True)

    mc1 = numpy.array(tool_box.data_fit(g1_input, g1_result[0], g1_result[0]))
    mc2 = numpy.array(tool_box.data_fit(g2_input, g2_result[0], g2_result[0]))
    print(mc1)
    print(mc2)

    mc1[0] = mc1[0] - 1
    mc2[0] = mc2[0] - 1

    text_str = "m1: %.5f(%.5f) c1: %.5f(%.5f)\n"%(mc1[0], mc1[1], mc1[2], mc1[3]) + \
               "m2: %.5f(%.5f) c2: %.5f(%.5f)"%(mc2[0], mc2[1], mc2[2], mc2[3])
    print(text_str)

    result_buff[m, n] = mc1[0]
    result_buff[m, n + grid_num] = mc1[2]
    result_buff[m, n + grid_num * 2] = mc2[0]
    result_buff[m, n + grid_num * 3] = mc2[2]
Exemple #15
0
            MG2s = numpy.row_stack((MG2, nMG2))[:, 0]
            DE2s = numpy.row_stack((DE2, nDE2))[:, 0]

            if rank == 0:
                print(num * 10000, ", ", len(MG1s))
            g1_h, g1_sig = fq.fmin_g_new(MG1s, DE1s, bin_num=8)
            g2_h, g2_sig = fq.fmin_g_new(MG2s, DE2s, bin_num=8)
        else:
            if rank == 0:
                print(num * 10000, ", ", len(MG1[ch]))
            g1_h, g1_sig = fq.fmin_g_new(MG1[ch], DE1[ch], bin_num=8)
            g2_h, g2_sig = fq.fmin_g_new(MG2[ch], DE2[ch], bin_num=8)

        md[0, i], md[1, i], md[2, i], md[3, i] = g1_h, g1_sig, g2_h, g2_sig

    e1mc = tool_box.data_fit(g1, md[0], md[1])
    e2mc = tool_box.data_fit(g2, md[2], md[3])
    plt.figure(figsize=(16, 8))
    plt.subplot(121)
    lb = "m: %.5f(%.5f), \nc: %.6f(%.6f)" % (e1mc[0] - 1, e1mc[1], e1mc[2],
                                             e1mc[3])
    plt.plot([-0.04, 0.04], [-0.04, 0.04], linewidth=1)
    plt.errorbar(g1, md[0], md[1], fmt="none", label=lb, capsize=3)
    plt.legend()
    plt.subplot(122)
    lb = "m: %.5f(%.5f), \nc: %.6f(%.6f)" % (e2mc[0] - 1, e2mc[1], e2mc[2],
                                             e2mc[3])
    plt.plot([-0.04, 0.04], [-0.04, 0.04], linewidth=1)
    plt.errorbar(g2, md[2], md[3], fmt="none", label=lb, capsize=3)
    plt.legend()
    plt.savefig(result_path + "pic/%d_%d.png" % (num, rank))
Exemple #16
0
from sys import path, argv
# my_home = os.popen("echo $MYWORK_DIR").readlines()[0][:-1]
# path.append('%s/work/mylib/' % my_home)
path.append("D:/Github/astrophy-research/mylib")
path.append("D:/Github/astrophy-research/multi_shear_detect")
import numpy
import h5py
import tool_box

result = numpy.zeros((2, 4))
for j in range(1):
    data_path = "E:/data/new_pdf/pts_sample/imgs_%d" % j
    h5f = h5py.File(data_path + "/shear.hdf5", "r")
    g1 = h5f["/g1"][()]
    g2 = h5f["/g2"][()]
    h5f.close()
    h5f = h5py.File(data_path + "/shear_result_pdf_iter_noisy_cpp.hdf5", "r+")
    mg1 = h5f["/new_PDF/g1"][()]
    mg2 = h5f["/new_PDF/g2"][()]
    h5f.close()
    print(mg1.shape)
    for i in range(3):
        mc1 = tool_box.data_fit(g1, mg1[:, i * 6], mg1[:, i * 6 + 1])
        mc2 = tool_box.data_fit(g2, mg2[:, i * 6], mg2[:, i * 6 + 1])
        result[0] = mc1[0] - 1, mc1[1], mc1[2], mc1[3]
        result[1] = mc2[0] - 1, mc2[1], mc2[2], mc2[3]

        # h5f["/new_PDF_sym_mc"] = result

        print(result)
# if rank > 0:
#     comm.Send(res_arr, dest=0, tag=rank)
# else:
#     for procs in range(1, cpus):
#         recvs = numpy.empty(sp, dtype=numpy.float64)
#         comm.Recv(recvs, source=procs, tag=procs)
#         res_arr = numpy.column_stack((res_arr, recvs))
if rank == 0:
    res_arr = numpy.array(res_arr)
    res_arr = res_arr.T
    # fit the line
    for i in range(3, 4):
        arr1 = res_arr[:3]
        arr2 = res_arr[3:]
        e1mc = tool_box.data_fit(fg1, arr1[0], arr1[1])
        e2mc = tool_box.data_fit(fg2, arr2[0], arr2[1])
        numpy.savez(final_cache_path, arr1, arr2, e1mc, e2mc)
        for p in range(cpus):
            print(
                "num: %4.1f W, g1: %8.5f, m_g1: %8.5f, sig: %8.5f, devi: %4.2f * e^-4, shape noise: %6.4f"
                % (arr1[2, p] / 10000, fg1[p], arr1[0, p], arr1[1, p], 10000 *
                   (arr1[0, p] - fg1[p]), numpy.sqrt(arr1[2, p]) * arr1[1, p]))
        print("\n")
        for p in range(cpus):
            print(
                "num: %4.1f W, g2: %8.5f, m_g2: %8.5f, sig: %8.5f, devi: %4.2f * e^-4, shape noise: %6.4f "
                % (arr2[2, p] / 10000, fg2[p], arr2[0, p], arr2[1, p], 10000 *
                   (arr2[0, p] - fg2[p]), numpy.sqrt(arr2[2, p]) * arr2[1, p]))

        if e1mc[0] - 1 - 2 * e1mc[1] < 0 < e1mc[0] - 1 + 2 * e1mc[1]:
Exemple #18
0
ave_result = h5f["/average"][()].T
pdf_result = h5f["/PDF"][()].T

new_pdf_result1 = h5f["/new_PDF/g1"][()]
new_pdf_result2 = h5f["/new_PDF/g2"][()]

h5f.close()

shear_num = ave_result.shape[1]

img = Image_Plot(cap_size=4, xpad=0.2, ypad=0.2)
img.subplots(1, 2)

print(ave_result)

mc1 = numpy.array(tool_box.data_fit(g1, ave_result[0], ave_result[1]))
mc2 = numpy.array(tool_box.data_fit(g2, ave_result[2], ave_result[3]))
mc1[0] = mc1[0] - 1
mc2[0] = mc2[0] - 1
print(mc1)
print(mc2)
img.axs[0][0].errorbar(0,
                       mc1[0],
                       mc1[1],
                       label="ave m1",
                       marker="s",
                       capsize=img.cap_size)
img.axs[0][0].errorbar(0,
                       mc2[0],
                       mc2[1],
                       label="ave m2",
        field_g = g_true[rank]

    else:
        estg, sig, gal_num, field_g = -1, -1, -1, -1
    measure_res.extend([estg, sig, gal_num, field_g])

gather_data = comm.gather(measure_res, root=0)

if rank == 0:
    res_data = numpy.array(gather_data)
    mcs = []
    for i in range(2):
        mg = res_data[0:gnums[i], i * 3 + 0 + i]
        sig = res_data[0:gnums[i], i * 3 + 1 + i]
        num = res_data[0:gnums[i], i * 3 + 2 + i]
        mc = tool_box.data_fit(g_trues[i], mg, sig)
        mcs.append(mc)
        for p in range(gnums[i]):
            print(
                "num: %4.1f W, g%d: %8.5f, m_g: %8.5f, sig: %8.5f, devi: %4.2f * e^-4, shape noise: %6.4f"
                % (num[p] / 10000, i + 1, g_trues[i][p], mg[p], sig[p], 10000 *
                   (mg[p] - g_trues[i][p]), numpy.sqrt(num[p]) * sig[p]))
        print("\n")
    final_cache = result_path + "%d_%s_%.2f_final_cache.npz" % (del_bin, cho,
                                                                cho_thre)
    final_cache = tool_box.file_name(final_cache)
    numpy.savez(final_cache, numpy.array(mcs), res_data)
    e1mc = mcs[0]
    e2mc = mcs[1]
    if e1mc[0] - 1 - 2 * e1mc[1] < 0 < e1mc[0] - 1 + 2 * e1mc[1]:
        m1_b = "no m1 bias"