def load_dic(self, *filt, **kw): d={} if kw.get('keys_iterator'): for keys in kw['keys_iterator']: print keys storage=misc.dict_recursive_get(self, keys) val=storage.load_data() d=misc.dict_recursive_add(d, keys, val) return d for keys, storage in misc.dict_iter(self): if filt==(): pass else: a=False i=0 for key in keys: if key not in filt and i not in kw.get('star', []): a=True i+=1 if key=='mean_rates': pass if i==len(keys): break if a: continue val=storage.load_data() d=misc.dict_recursive_add(d, keys, val) return d
def load_dic(self, *filt, **kw): d = {} if kw.get('keys_iterator'): for keys in kw['keys_iterator']: print keys storage = misc.dict_recursive_get(self, keys) val = storage.load_data() d = misc.dict_recursive_add(d, keys, val) return d for keys, storage in misc.dict_iter(self): if filt == (): pass else: a = False i = 0 for key in keys: if key not in filt and i not in kw.get('star', []): a = True i += 1 if key == 'mean_rates': pass if i == len(keys): break if a: continue val = storage.load_data() d = misc.dict_recursive_add(d, keys, val) return d
def show_plot(axs, name, d, models=['M1', 'M2', 'FS', 'GA', 'GI', 'ST', 'SN'], **k): dd = {} by_sets = k.pop('by_sets', False) for keys, val in misc.dict_iter(d): if keys[-1] != name: continue if by_sets and keys[0][0:3] != 'set': continue first_keys = keys[:-2] if type(first_keys) == str: first_keys = [first_keys] new_keys = ['_'.join(first_keys)] + keys[-2:] dd = misc.dict_recursive_add(dd, new_keys, val) d = dd # if k.get('fig_and_axes', False): # else: # fig, axs=ps.get_figure(n_rows=len(models), n_cols=1, w=1000.0, h=800.0, # fontsize=k.get('fontsize',10)) labels = k.pop('labels', sorted(d.keys())) # colors=misc.make_N_colors('Paired', max(len(labels), 6)) colors = k.pop('colors', misc.make_N_colors('jet', max(len(labels), 1))) linestyles = ['-'] * len(labels) j = 0 nets = k.get('nets', sorted(d.keys())) for key in nets: v = d[key] # axs[0].set_title(k) for i, model in enumerate(models): kk = { 'label': model + ' ' + labels[j], 'linestyle': linestyles[j], 'color': colors[j] } if 'win' in k.keys(): kk['win'] = k['win'] if 't_start' in k.keys(): kk['t_start'] = k['t_start'] if 't_stop' in k.keys(): kk['t_stop'] = k['t_stop'] print model if model in v.keys(): v[model][name].plot(ax=axs[i], **kk) j += 1 for ax in axs: ax.legend()
def force_update(self, file_name): self.file_name=file_name self.directory=file_name+'/' for _, storage in misc.dict_iter(self.dic): storage.set_main_path(self.directory) file_name=storage.get_data_path().split('/')[-1] storage.set_data_path(self.directory+file_name)
def force_update(self, file_name): self.file_name = file_name self.directory = file_name + '/' for _, storage in misc.dict_iter(self.dic): storage.set_main_path(self.directory) file_name = storage.get_data_path().split('/')[-1] storage.set_data_path(self.directory + file_name)
def interpolate(d): dinter={} for keys, val in misc.dict_iter(d): if keys[-1]!= 'mean_rate_slices': continue key='_'.join(keys[0].split('_')[2:]) dinter[key]=interp1d(val.y, val.x) return dinter
def save_dic(self, d, **k): print 'Saving ' + self.file_name for keys, data in misc.dict_iter(d): if not misc.dict_haskey(self.dic, keys): self.add_storage(keys) s = misc.dict_recursive_get(self.dic, keys) s.save_data('-'.join(keys), data, **k) self.save()
def save_dic(self, d, **k): print 'Saving '+self.file_name for keys, data in misc.dict_iter(d): if not misc.dict_haskey(self.dic, keys): self.add_storage(keys) s=misc.dict_recursive_get(self.dic, keys) s.save_data('-'.join(keys), data, **k) self.save()
def extract_data(d, nets, models, attrs): out = {} for keys, val in misc.dict_iter(d): if keys[-1] == 'phases_diff_with_cohere': v = numpy.mean(val.y_val, axis=0) if keys[-1] == 'mean_coherence': v = val.y[2:20] out = misc.dict_recursive_add(out, keys, v) return out
def extract_data(d, nets, models, attrs): out={} for keys, val in misc.dict_iter(d): if keys[-1]=='phases_diff_with_cohere': v=numpy.mean(val.y_val, axis=0) if keys[-1]=='mean_coherence': v=val.y[2:20] out=misc.dict_recursive_add(out, keys, v) return out
def test_save(self): self.sd = Storage_dic(self.file_name) for keys, val in misc.dict_iter(self.data): #Add storage objects self.sd.add_storage(keys) s = misc.dict_recursive_get(self.sd, keys) key = '-'.join(keys) s.save_data(key, val) self.sd.save() self.assertTrue(os.path.isfile(self.file_name + '.pkl')) self.assertTrue(os.path.isdir(self.file_name + '/'))
def test_save(self): self.sd=Storage_dic(self.file_name) for keys, val in misc.dict_iter(self.data): #Add storage objects self.sd.add_storage(keys) s=misc.dict_recursive_get(self.sd, keys) key='-'.join(keys) s.save_data(key,val) self.sd.save() self.assertTrue(os.path.isfile(self.file_name+'.pkl')) self.assertTrue(os.path.isdir(self.file_name+'/'))
def process_exp(exp, tr): out = {} put_at = {'STN': 3, 'TA': 0, 'TI': 1, 'all': 2} for keys, val in misc.dict_iter(exp): if keys[-1] == 'CV': continue keys2 = [tr[keys[1]], tr[keys[2]], 'mean_rates'] if not misc.dict_haskey(out, keys2): a = numpy.zeros(4) a[put_at[keys[0]]] = val misc.dict_recursive_add(out, keys2, a) else: out[tr[keys[1]]][tr[keys[2]]]['mean_rates'][put_at[keys[0]]] = val pp(out) return out
def _garbage_collect(self): files1=[self.file_name_info] for _, storage in misc.dict_iter(self.dic): files1.append(storage.get_data_path()) mypath=self.directory if not os.path.isdir(mypath): return files2=[ os.path.join(mypath,f) for f in os.listdir(mypath) if os.path.isfile(os.path.join(mypath,f)) ] for f in files2: if f in files1: continue else: os.remove(f)
def _garbage_collect(self): files1 = [self.file_name_info] for _, storage in misc.dict_iter(self.dic): files1.append(storage.get_data_path()) mypath = self.directory if not os.path.isdir(mypath): return files2 = [ os.path.join(mypath, f) for f in os.listdir(mypath) if os.path.isfile(os.path.join(mypath, f)) ] for f in files2: if f in files1: continue else: os.remove(f)
def process_exp(exp, tr): out={} put_at={'STN':3, 'TA':0, 'TI':1, 'all':2} for keys, val in misc.dict_iter(exp): if keys[-1]=='CV': continue keys2=[tr[keys[1]],tr[keys[2]], 'mean_rates'] if not misc.dict_haskey(out, keys2): a=numpy.zeros(4) a[put_at[keys[0]]]=val misc.dict_recursive_add(out, keys2,a ) else: out[tr[keys[1]]] [tr[keys[2]]] ['mean_rates'][put_at[keys[0]]]=val pp(out) return out
def load_dic(self, *filt): d={} for keys, storage in misc.dict_iter(self): if filt==(): pass else: a=False i=0 for key in keys: if key not in filt: a=True i+=1 if i==3: break if a: continue val=storage.load_data() d=misc.dict_recursive_add(d, keys, val) return d
def load_dic(self, *filt): d = {} for keys, storage in misc.dict_iter(self): if filt == (): pass else: a = False i = 0 for key in keys: if key not in filt: a = True i += 1 if i == 3: break if a: continue val = storage.load_data() d = misc.dict_recursive_add(d, keys, val) return d