示例#1
0
M = np.load(save_path + 'M.npy')

g_m = np.dot(M,f_valid.transpose()).transpose()
g_m = g_m.reshape((g_m.shape[0],bib_geom.N_ROWS,bib_geom.N_COLS))

print 'g_m :', g_m.shape, g_m.dtype

# Uncomment if you decide to clip mininimum value of images to zero
# g_valid = np.clip(g_valid, a_min = 0, a_max = None)
# g_m = np.clip(g_m, a_min = 0, a_max = None)

# -------------------------------------------------------------------------
print '\nCalculate Metrics'

# Image metrics
ssim,mse,psnr, nrmse = bib_metrics.compare_all_metrics(g_valid,g_m, mean = False)

# Pixelwise Metrics
rmse_pixel,amre_pixel,mre_pixel = bib_metrics.compare_all_metrics_pixel(g_valid,g_m, mean = True)
bib_metrics.plot_metric_pixel(rmse_pixel, 'RMSE', save_path + 'METRICS/',vmin = 0, vmax = 0.4,clb_legend = 'kW m$^{-3}$')
bib_metrics.plot_metric_pixel(mre_pixel, 'MRE', save_path + 'METRICS/',vmin = -.15, vmax = .15)
bib_metrics.plot_metric_pixel(amre_pixel, 'AMRE', save_path + 'METRICS/',vmin = 0, vmax = 0.30)

# Total Power Emited Error
e_power = (np.sum(g_valid,axis = (1,2)) - np.sum(g_m, axis = (1,2)))/np.sum(g_valid,axis = (1,2))

# Check Plasma Center
R_centroid, Z_centroid  = bib_geom.get_centroid(g_valid)
R_nn_centroid, Z_nn_centroid = bib_geom.get_centroid(g_m)
e_R = np.abs(R_centroid-R_nn_centroid)*1e3
e_Z = np.abs(Z_centroid-Z_nn_centroid)*1e3
示例#2
0
cmapX2 = LinearSegmentedColormap.from_list('name', [
    'darkblue', 'darkcyan', 'turquoise', 'white', 'tomato', 'red', 'firebrick'
])

SSIM = []
PSNR = []
NRMSE = []
POWER = []

for pulse, t, g_nni, g_i in zip(pulse_test, t_test, g_test_nn, g_test):

    title = 'Pulse %i t=%.2fs' % (pulse, t)
    print title

    ssim, _, psnr, nrmse = bib_metrics.compare_all_metrics(g_i, g_nni)
    e_power = (np.sum(g_i) - np.sum(g_nni)) / np.sum(g_i)
    print '%.4f %.2f %.2f %.2f' % (ssim[0], psnr[0], nrmse[0], e_power)

    SSIM.append(ssim)
    PSNR.append(psnr)
    NRMSE.append(nrmse)
    POWER.append(e_power)

    fig = plt.figure()
    fig.suptitle(title, fontsize=7)

    # Version without difference between images
    # ax1 = fig.add_subplot(121)
    # ax1.imshow(g_i, vmin=0, vmax=.5, origin = 'lower',  cmap = 'inferno', extent = [bib_geom.R_MIN, bib_geom.R_MAX, bib_geom.Z_MIN, bib_geom.Z_MAX])
    # ax1.set_xlabel('R (m)')
示例#3
0
    sys.stdout.write("\r" + 'camera shutdown: ' + str(shutdown_detectors))
    sys.stdout.flush()

    f_dropout = deepcopy(f_test)

    # shut-down detectors
    for detector in shutdown_detectors:
        f_dropout[:, detector] = np.zeros(f_dropout.shape[0], dtype=np.float32)

    # perform new reconstructions
    g_test_nn = model.predict(f_dropout)
    g_test_nn = bib_utils.resize_NN_image(g_test_nn, training=False)

    # Image metrics
    ssim, mse, psnr, nrmse = bib_metrics.compare_all_metrics(g_test, g_test_nn)

    # Total Power Emited Error
    e_power = np.abs(
        (np.sum(g_test, axis=(1, 2)) - np.sum(g_test_nn, axis=(1, 2))) /
        np.sum(g_test, axis=(1, 2)))

    # Check Plasma Center
    R_centroid, Z_centroid = bib_geom.get_centroid(g_test)
    R_nn_centroid, Z_nn_centroid = bib_geom.get_centroid(g_test_nn)

    e_R = np.abs(R_centroid - R_nn_centroid) * 1e3
    e_Z = np.abs(Z_centroid - Z_nn_centroid) * 1e3

    # Chi2 Values
    chi2_nn = geom.get_chi2(f_test, g_test_nn, ef_test)