You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
89 lines
2.3 KiB
Python
89 lines
2.3 KiB
Python
import numpy as np
|
|
import matplotlib.pyplot as plt
|
|
from tools.generation.config import DotheLoop, get_config
|
|
import os
|
|
|
|
|
|
def get_conScales(ddir, scales, Cind):
|
|
|
|
ns = len(scales)
|
|
res = np.zeros((ns))
|
|
for i in range(ns):
|
|
y = np.load(ddir + str(scales[i]) + ".npy").item()[Cind]
|
|
res[i] = np.mean(y)
|
|
|
|
plt.figure(1)
|
|
if 0 in res:
|
|
plt.semilogx(scales, res, marker="x")
|
|
else:
|
|
res = np.log(res)
|
|
plt.semilogx(scales, res, marker="o")
|
|
plt.grid()
|
|
plt.xlabel("L")
|
|
plt.ylabel(Cind)
|
|
plt.savefig(ddir + Cind + ".png")
|
|
plt.close()
|
|
return
|
|
|
|
|
|
def compGlobal(ddir, ddirG, scales, Cind):
|
|
ns = len(scales)
|
|
res = np.zeros((ns))
|
|
for i in range(ns):
|
|
y = np.load(ddir + str(scales[i]) + ".npy").item()[Cind]
|
|
yG = np.load(ddirG + str(scales[i]) + ".npy").item()[Cind]
|
|
|
|
res[i] = np.nanmean(y / yG)
|
|
|
|
plt.figure(1)
|
|
if 0 in res or Cind == "npx":
|
|
plt.semilogx(scales, res, marker="x")
|
|
else:
|
|
res = np.log(res)
|
|
plt.semilogx(scales, res, marker="o")
|
|
plt.grid()
|
|
plt.xlabel("L")
|
|
plt.ylabel(Cind)
|
|
plt.savefig(ddirG + Cind + "_CGvsC.png")
|
|
plt.close()
|
|
return
|
|
|
|
|
|
def get_conScalesScatter(ddir, scales, Cind):
|
|
|
|
ns = len(scales)
|
|
res = np.array([])
|
|
x = np.array([])
|
|
for i in range(ns):
|
|
y = np.load(ddir + str(scales[i]) + ".npy").item()[Cind]
|
|
res = np.append(res, y.reshape(-1))
|
|
x = np.append(x, np.ones((y.size)) * scales[i])
|
|
|
|
plt.figure(1)
|
|
if 0 in res or Cind == "npx":
|
|
plt.semilogx(x, res, marker="x", linestyle="")
|
|
else:
|
|
res = np.log(res)
|
|
plt.semilogx(x, res, marker="o", linestyle="")
|
|
plt.grid()
|
|
plt.xlabel("L")
|
|
plt.ylabel(Cind)
|
|
plt.savefig(ddir + Cind + "_scatter.png")
|
|
plt.close()
|
|
return
|
|
|
|
|
|
scales = 2 ** np.arange(7, 13)
|
|
scales = [32, 64, 128, 256, 512]
|
|
Cinds = ["P", "S", "npx", "Plen", "PX", "SX", "PlenX"]
|
|
|
|
|
|
for job in range(5):
|
|
ddir = "./testConx/" + str(job) + "/ConnectivityMetrics/"
|
|
ddirG = "./testConx/" + str(job) + "/GlobalConnectivityMetrics/"
|
|
for Cind in Cinds:
|
|
get_conScales(ddir, scales, Cind)
|
|
get_conScales(ddirG, scales, Cind)
|
|
compGlobal(ddir, ddirG, scales, Cind)
|
|
# get_conScalesScatter(ddir,scales,Cind)
|