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.
92 lines
1.9 KiB
Python
92 lines
1.9 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)
|
|
|