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)