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)