def basic_save_load_snapshot(self): """ Very basic test to check the activity matrix of a GeneratorSheet comes back ok, and that class attributes are pickled. """ assert topo.sim.name == SIM_NAME topo.sim["R"] = GeneratorSheet(input_generator=Gaussian(), nominal_density=2) topo.sim.run(1) R_act = copy.deepcopy(topo.sim["R"].activity) Line.x = 12.0 topo.sim.startup_commands.append("z=99") save_snapshot(SNAPSHOT_NAME) Line.x = 9.0 exec "z=88" in __main__.__dict__ topo.sim["R"].set_input_generator(Line()) topo.sim.run(1) load_snapshot(resolve_path(SNAPSHOT_NAME, search_paths=[normalize_path.prefix])) # CEBALERT: should also test that unpickling order is correct # (i.e. startup_commands, class attributes, simulation) assert_array_equal(R_act, topo.sim["R"].activity) self.assertEqual(Line.x, 12.0) self.assertEqual(__main__.__dict__["z"], 99)
def a(): dirr = '/home/jan/projects/topographica/GCAL_EI/' rhos = {} X = [] Y = [] qual = [] if True: for a in os.listdir(dirr): b = os.path.join(dirr,a); if not stat.S_ISDIR(os.stat(b).st_mode): continue # load result file f = open(os.path.join(b,'results.pickle')) d = pickle.load(f) f.close() load_snapshot(os.path.join(b,'snapshot.typ')) f = open(os.path.join(b,'results.pickle'),'w') if topo.sim["V1"].projections()["EtoELong"].strength != 0: d['exc_short_long_ratio'] = 1 - 1 / (topo.sim["V1"].projections()["EtoE"].strength / topo.sim["V1"].projections()["EtoELong"].strength+1) else: d['exc_short_long_ratio'] = 1.0 print d['exc_short_long_ratio'] pickle.dump(d,f)
def basic_save_load_snapshot(self): """ Very basic test to check the activity matrix of a GeneratorSheet comes back ok, and that class attributes are pickled. """ assert topo.sim.name == SIM_NAME topo.sim['R'] = GeneratorSheet(input_generator=Gaussian(), nominal_density=2) topo.sim.run(1) R_act = copy.deepcopy(topo.sim['R'].activity) Line.x = 12.0 topo.sim.startup_commands.append("z=99") save_snapshot(SNAPSHOT_NAME) Line.x = 9.0 exec "z=88" in __main__.__dict__ topo.sim['R'].set_input_generator(Line()) topo.sim.run(1) load_snapshot( resolve_path(SNAPSHOT_NAME, search_paths=[normalize_path.prefix])) # CEBALERT: should also test that unpickling order is correct # (i.e. startup_commands, class attributes, simulation) assert_array_equal(R_act, topo.sim['R'].activity) self.assertEqual(Line.x, 12.0) self.assertEqual(__main__.__dict__['z'], 99)
def compare_with_and_without_snapshot_LoadSnapshot(script="models/lissom.ty"): data_filename = os.path.split(script)[1] + "_PICKLETEST" snapshot_filename = os.path.split(script)[1] + "_PICKLETEST.typ_" locn = resolve_path(os.path.join('tests', data_filename)) print "Loading pickle from %s" % locn try: data = pickle.load(open(locn, "rb")) except IOError: print "\nData file '" + data_filename + "' could not be opened; run _A() first" raise # retrieve parameters used when script was run run_for = data['run_for'] break_at = data['break_at'] look_at = data['look_at'] # # CEBALERT: shouldn't need to re-list - should be able to read from data! # cortex_density=data['cortex_density'] # lgn_density=data['lgn_density'] # retina_density=data['retina_density'] # dims=data['dims'] # dataset=data['dataset'] from topo.command import load_snapshot locn = resolve_path(os.path.join('tests', snapshot_filename)) print "Loading snapshot at %s" % locn try: load_snapshot(locn) except IOError: print "\nPickle file '" + snapshot_filename + "' could not be opened; run _B() first." raise assert topo.sim.time() == break_at assert_array_equal(data[topo.sim.time()], topo.sim[look_at].activity, err_msg="\nAt topo.sim.time()=%d" % topo.sim.time()) print "Match at %s after loading snapshot" % topo.sim.time() topo.sim.run(run_for - break_at) assert_array_equal(data[topo.sim.time()], topo.sim[look_at].activity, err_msg="\nAt topo.sim.time()=%d" % topo.sim.time()) print "Match at %s after running loaded snapshot" % topo.sim.time()
def compare_with_and_without_snapshot_LoadSnapshot(script="models/lissom.ty"): data_filename=os.path.split(script)[1]+"_PICKLETEST" snapshot_filename=os.path.split(script)[1]+"_PICKLETEST.typ_" locn = resolve_path(os.path.join('tests',data_filename)) print "Loading pickle from %s"%locn try: data = pickle.load(open(locn,"rb")) except IOError: print "\nData file '"+data_filename+"' could not be opened; run _A() first" raise # retrieve parameters used when script was run run_for=data['run_for'] break_at=data['break_at'] look_at=data['look_at'] # # CEBALERT: shouldn't need to re-list - should be able to read from data! # cortex_density=data['cortex_density'] # lgn_density=data['lgn_density'] # retina_density=data['retina_density'] # dims=data['dims'] # dataset=data['dataset'] from topo.command import load_snapshot locn = resolve_path(os.path.join('tests',snapshot_filename)) print "Loading snapshot at %s"%locn try: load_snapshot(locn) except IOError: print "\nPickle file '"+snapshot_filename+"' could not be opened; run _B() first." raise assert topo.sim.time()==break_at assert_array_equal(data[topo.sim.time()],topo.sim[look_at].activity, err_msg="\nAt topo.sim.time()=%d"%topo.sim.time()) print "Match at %s after loading snapshot"%topo.sim.time() topo.sim.run(run_for-break_at) assert_array_equal(data[topo.sim.time()],topo.sim[look_at].activity, err_msg="\nAt topo.sim.time()=%d"%topo.sim.time()) print "Match at %s after running loaded snapshot"%topo.sim.time()
def loadModelSnapshot(saveSnapshotTime, LGNRingNo=5, V1RingNo=5, basename='snapshot'): # LGNRingNo and V1RingNo are paramters that change the model structure typPath = '../models/snapshots/' loadSnapshot = "%s-LGN%s-V1%s-T%s.typ" % (basename, str(LGNRingNo), str(V1RingNo), str(saveSnapshotTime)) if saveSnapshotTime is not None: fullTypPath = typPath+loadSnapshot snapshotExists = os.path.exists(fullTypPath) # Load snapshot and return if snapshotExists: print "Loading snapshot %s" % loadSnapshot load_snapshot(typPath+loadSnapshot) print ("Snapshot %s loaded." % loadSnapshot) return False else: # saveSnapshotFlag. True indicates a snapshot is needed as it is desired but doesn't exist. return True else: return False
def process_distributed_sm_measurement(directory): from topo.command import load_snapshot import cPickle as pickle data_dict = {} load_snapshot('snapshot.typ') for a in os.listdir(directory): b = os.path.join(directory,a); b = os.path.join(b,'dict.dat'); f = open(b,'r') d = pickle.load(f) data_dict.update(d) sa = surround_analysis() for (x,y) in data_dict.keys(): sa.plot_size_tunning(x,y) sa.plot_orientation_contrast_tuning_abs(x,y) self.plot_histograms_of_measures()
def plot_ortcs(snapshot_path,name_prefix): def disable_top_right_axis(ax): for loc, spine in ax.spines.iteritems(): if loc in ['right', 'top']: spine.set_color('none') # don't draw spine for tick in ax.yaxis.get_major_ticks(): tick.tick2On = False for tick in ax.xaxis.get_major_ticks(): tick.tick2On = False ax.xaxis.tick_bottom() ax.yaxis.tick_left() def disable_left_axis(ax): for loc, spine in ax.spines.iteritems(): if loc in ['left']: spine.set_color('none') # don't draw spine for tick in ax.yaxis.get_major_ticks(): tick.tick1On = False def clean_figure(): import pylab pylab.title('') pylab.xlabel('') pylab.ylabel('') pylab.yticks([], []) disable_top_right_axis(pylab.gca()) disable_left_axis(pylab.gca()) pylab.gca().get_legend().set_visible(False) #pylab.gca().legend_.remove() import topo.command.pylabplot load_snapshot(snapshot_path) topo.command.pylabplot.measure_or_tuning_fullfield.instance(sheet=topo.sim["V1"])() topo.command.pylabplot.cyclic_tuning_curve.instance(x_axis="orientation",sheet=topo.sim["V1"],coords=[(0,0)])(); clean_figure(); pylab.savefig(name_prefix+"ORTC[0,0].png") topo.command.pylabplot.cyclic_tuning_curve.instance(x_axis="orientation",sheet=topo.sim["V1"],coords=[(0.1,0.1)])(); clean_figure(); pylab.savefig(name_prefix+"ORTC[0.1,0.1].png") topo.command.pylabplot.cyclic_tuning_curve.instance(x_axis="orientation",sheet=topo.sim["V1"],coords=[(0.1,-0.1)])(); clean_figure(); pylab.savefig(name_prefix+"ORTC[0.1,-0.1].png") topo.command.pylabplot.cyclic_tuning_curve.instance(x_axis="orientation",sheet=topo.sim["V1"],coords=[(-0.1,0.1)])(); clean_figure(); pylab.savefig(name_prefix+"ORTC[-0.1,0.1].png") topo.command.pylabplot.cyclic_tuning_curve.instance(x_axis="orientation",sheet=topo.sim["V1"],coords=[(-0.1,-0.1)])(); clean_figure();pylab.savefig(name_prefix+"ORTC[-0.1,-0.1].png")
from contrib.jacommands import LateralOrientationAnnisotropy from topo.analysis.featureresponses import MeasureResponseCommand, FeatureMaps, SinusoidalMeasureResponseCommand, FeatureCurveCommand FeatureMaps.num_orientation=16 MeasureResponseCommand.scale=1.0 MeasureResponseCommand.duration=4.0 SinusoidalMeasureResponseCommand.frequencies=[2.4] FeatureCurveCommand.num_orientation=16 FeatureCurveCommand.curve_parameters=[{"contrast":15},{"contrast":50},{"contrast":90}] from topo.command import load_snapshot #load_snapshot('./DATA/LESI/TEST-small/CCSimple_000002.00.typ') #load_snapshot('./DATA/LESI/TEST/CCSimple_000002.00.typ') load_snapshot('./DATA/LESI/CCLESIGifLatest/CCSimple_010000.00.typ') #load_snapshot('./DATA/LESI/CCLESIGif-NEW1/CCSimple_010000.00_with_map.typ') #load_snapshot('./DATA/LESI/CCLESIGif12-Orig-LARGE_NEWEXPANDER5000/CCSimple_005002.00.typ') from topo.command import wipe_out_activity, clear_event_queue wipe_out_activity() clear_event_queue() from topo.pattern import SineGrating, Disk class SineGratingDiskTemp(SineGrating): mask_shape = param.Parameter(default=Disk(smoothing=0,size=1.0)) def new_set_parameters(a,b,c,d,e,f,g): print a,b,c,d,e,f,g topo.sim["LGNOn"].projections()["LateralGC"].strength=a
from topo.numbergen import UniformRandom, BoundedNumber, ExponentialDecay from topo.command import pattern_present from param import normalize_path import numpy from topo.analysis.featureresponses import MeasureResponseCommand, FeatureMaps, SinusoidalMeasureResponseCommand, FeatureCurveCommand FeatureMaps.num_orientation=16 MeasureResponseCommand.scale=1.0 MeasureResponseCommand.duration=4.0 SinusoidalMeasureResponseCommand.frequencies=[2.4] FeatureCurveCommand.num_orientation=16 FeatureCurveCommand.curve_parameters=[{"contrast":15},{"contrast":50},{"contrast":90}] from topo.command import load_snapshot load_snapshot('CCSimple_010005_new_or_map.00.typ') from topo.command import wipe_out_activity, clear_event_queue wipe_out_activity() clear_event_queue() from topo.pattern import SineGrating, Disk class SineGratingDiskTemp(SineGrating): mask_shape = param.Parameter(default=Disk(smoothing=0,size=1.0)) def set_parameters(a,b,c,d,e,f,g,h,i,j,k,l): print a,b,c,d,e,f,g,h,i,j,k,l topo.sim["V1Simple"].projections()["V1SimpleFeedbackExc1"].strength=b topo.sim["V1Simple"].projections()["V1SimpleFeedbackInh"].strength=c topo.sim["V1Complex"].projections()["LongEE"].strength=d
def GCALTemporal(stimulus = None, timestep=0.5, ringParams = ('MAX','MAX'), saveSnapshotTime = None, plastic=True, LGN_TC = None, LGNFFStrength = 2.33, GCStrength=0.6, GCDelay=0.01, LGNDistanceDelay=None, # V1 Settings V1_TC = None, V1FFStrength=1.5, ExcStrength=1.7, InhStrength=-1.4, LateralDelay=0.01, V1DistanceDelay=None, HomeoFactor=1.0, HomeoPlastic = False ): VSDSheetFlag = True; saveSnapshotFlag = False; LOAD = None ################################################### # Modifying sheets # #################### modelName = 'fit-LGN-V1.py' (LGNRingNo,V1RingNo) = ringParams if LOAD is not None: typPath = '../models/snapshots/' load_snapshot(typPath+LOAD) else: print "Modifying model loaded in memory" ######################## # Sheets Modifications # ######################## p = gcal_vanilla.makeParams() gcal_vanilla.makeSheets(p) # Switch out the LISSOM sheets for continuous ones switchAllSheets(VSDSheetFlag) # Setup the input generator setupRetina(stimulus, timestep) # Connecting with original GCAL connections gcal_vanilla.connectGCAL(p,LGNRingNo,V1RingNo) ############################ # Connection Modifications # ############################ 'Alternatively, could use topo.sheet[<name>].projection(<name>)' conns = dict([(el.name,el) for el in topo.sim.connections()]) ''' AfferentToLGNOn, AfferentToLGNOff, LGNOnAfferent, LGNOffAfferent, GCLGNOn-*, GCLGNOff-*, LateralInhibitory-*, LateralExcitatory-* ''' ####### # LGN # ####### # FEEDFORWARD DELAY IS ABOUT 15MS FOR BOTH STAGES # Afferent from Retina to LGNOn/Off. Delay and strength. setConnDelay('AfferentToLGNOn',15.0,conns) setConnDelay('AfferentToLGNOff',15.0,conns) setConnStrength('AfferentToLGNOn', LGNFFStrength,conns) setConnStrength('AfferentToLGNOff', LGNFFStrength,conns) assert GCStrength > 0 modifyLateralConnections(conns, 'GCLGNOn', GCStrength, GCDelay, LGNDistanceDelay) modifyLateralConnections(conns, 'GCLGNOff', GCStrength, GCDelay, LGNDistanceDelay) ###### # V1 # ###### setConnDelay('LGNOnAfferent',15.0,conns) setConnDelay('LGNOffAfferent',15.0,conns) setConnStrength('LGNOnAfferent', V1FFStrength,conns) setConnStrength('LGNOffAfferent' ,V1FFStrength,conns) assert ExcStrength > 0; assert InhStrength < 0 modifyLateralConnections(conns, 'LateralExcitatory', ExcStrength, LateralDelay, V1DistanceDelay) modifyLateralConnections(conns, 'LateralInhibitory', InhStrength, LateralDelay, V1DistanceDelay) ########################## # Sheet output functions # ########################## setLGNOutputFns(LGN_TC) setV1OutputFns(V1_TC, HomeoFactor, HomeoPlastic) ############################### # Plasticity and snapshotting # ############################### if saveSnapshotFlag: setSheetPlasticity(plastic=True) # No point making snapshot if plasticity if off saveSnapShot(saveSnapshotTime) setSheetPlasticity(plastic) # Set as desired
def figure2(): dirr = '/home/jan/Doc/Papers/fast_inh_paper/DATA/GCAL_SHORTRANGE' rhos = {} X = [] Y = [] qual = [] if False: for a in os.listdir(dirr): b = os.path.join(dirr,a); if not stat.S_ISDIR(os.stat(b).st_mode): continue # load result file f = open(os.path.join(b,'results.pickle')) d = pickle.load(f) # lets find out the pinwheel density X.append(d['lat_strength_ratio']) Y.append(d['exc_inh_ratio']) #mmap = d['orprefmap'][25:-24,25:-24] mmap = d['orprefmap'][2:-3,2:-3] rho = pinwheel_analysis(mmap)['metadata']['rho'] metric = gamma_metric(rho,k=10.0) sel = numpy.mean(numpy.mean(mmap)) print a, " ", str(rho) , " " , str(metric) , "SEL ", str(sel) qual.append(metric) data = np.histogram2d(Y, X, bins=[len(np.unique(Y)),len(np.unique(X))], weights=qual) pylab.figure(dpi=600,facecolor='w',figsize=(5,5)) im = pylab.imshow(data[0],interpolation='none',cmap='gray')#,vmin=0.3) pylab.colorbar(im,fraction=0.046, pad=0.04) pylab.yticks([0,len(np.unique(Y))-1],[data[1][0],data[1][-1]]) pylab.xticks([0,len(np.unique(X))-1],[data[2][0],data[2][-1]]) pylab.savefig('figure2.png',dpi=600) if True: plot_ortcs('/home/jan/Doc/Papers/fast_inh_paper/DATA/GCAL_SHORTRANGE/lat_strength_ratio=2.2_exc_inh_ratio=0.85/snapshot.typ',"fig2_1_") plot_ortcs('/home/jan/Doc/Papers/fast_inh_paper/DATA/GCAL_SHORTRANGE/lat_strength_ratio=2.6_exc_inh_ratio=0.8/snapshot.typ',"fig2_2_") plot_ortcs('/home/jan/Doc/Papers/fast_inh_paper/DATA/GCAL_SHORTRANGE/lat_strength_ratio=2.8_exc_inh_ratio=0.65/snapshot.typ',"fig2_3_") if False: f = open('/home/jan/Doc/Papers/fast_inh_paper/DATA/GCAL_SHORTRANGE/lat_strength_ratio=2.2_exc_inh_ratio=0.85/results.pickle') d = pickle.load(f) fig = pylab.figure(dpi=600,facecolor='w',figsize=(5,5)) ax = plt.Axes(fig, [0., 0., 1., 1.]) ax.set_axis_off() fig.add_axes(ax) ax.imshow(d['orprefmap'][61:-60,61:-60],interpolation='none',cmap='hsv',aspect='normal') pylab.savefig('/home/jan/Doc/Papers/fast_inh_paper/SVG/Figure1/generated_data/or_map3.png', pad_inches=0) fig = pylab.figure(dpi=600,facecolor='w',figsize=(5,5)) ax = plt.Axes(fig, [0., 0., 1., 1.]) ax.set_axis_off() fig.add_axes(ax) ax.imshow(power_spectrum(d['orprefmap'][61:-60,61:-60]),interpolation='none',cmap='gray',aspect='normal') pylab.savefig('/home/jan/Doc/Papers/fast_inh_paper/SVG/Figure1/generated_data/fft_map3.png', pad_inches=0) load_snapshot('/home/jan/Doc/Papers/fast_inh_paper/DATA/GCAL_SHORTRANGE/lat_strength_ratio=2.2_exc_inh_ratio=0.85/snapshot.typ') save_plotgroup("Projection",projection=topo.sim["V1"].projections().values()[0],density=1.5,saver_params={'filename_prefix' : '3'}) f = open('/home/jan/Doc/Papers/fast_inh_paper/DATA/GCAL_SHORTRANGE/lat_strength_ratio=2.6_exc_inh_ratio=0.8/results.pickle') d = pickle.load(f) fig = pylab.figure(dpi=600,facecolor='w',figsize=(5,5)) ax = plt.Axes(fig, [0., 0., 1., 1.]) ax.set_axis_off() fig.add_axes(ax) ax.imshow(d['orprefmap'][61:-60,61:-60],interpolation='none',cmap='hsv',aspect='normal') pylab.savefig('/home/jan/Doc/Papers/fast_inh_paper/SVG/Figure1/generated_data/or_map2.png', pad_inches=0) fig = pylab.figure(dpi=600,facecolor='w',figsize=(5,5)) ax = plt.Axes(fig, [0., 0., 1., 1.]) ax.set_axis_off() fig.add_axes(ax) ax.imshow(power_spectrum(d['orprefmap'][61:-60,61:-60]),interpolation='none',cmap='gray',aspect='normal') pylab.savefig('/home/jan/Doc/Papers/fast_inh_paper/SVG/Figure1/generated_data/fft_map2.png', pad_inches=0) load_snapshot('/home/jan/Doc/Papers/fast_inh_paper/DATA/GCAL_SHORTRANGE/lat_strength_ratio=2.6_exc_inh_ratio=0.8/snapshot.typ') save_plotgroup("Projection",projection=topo.sim["V1"].projections().values()[0],density=1.5,saver_params={'filename_prefix' : '2'}) f = open('/home/jan/Doc/Papers/fast_inh_paper/DATA/GCAL_SHORTRANGE/lat_strength_ratio=2.8_exc_inh_ratio=0.65/results.pickle') d = pickle.load(f) fig = pylab.figure(dpi=600,facecolor='w',figsize=(5,5)) ax = plt.Axes(fig, [0., 0., 1., 1.]) ax.set_axis_off() fig.add_axes(ax) ax.imshow(d['orprefmap'][61:-60,61:-60],interpolation='none',cmap='hsv',aspect='normal') pylab.savefig('/home/jan/Doc/Papers/fast_inh_paper/SVG/Figure1/generated_data/or_map1.png', pad_inches=0) fig = pylab.figure(dpi=600,facecolor='w',figsize=(5,5)) ax = plt.Axes(fig, [0., 0., 1., 1.]) ax.set_axis_off() fig.add_axes(ax) ax.imshow(power_spectrum(d['orprefmap'][61:-60,61:-60]),interpolation='none',cmap='gray',aspect='normal') pylab.savefig('/home/jan/Doc/Papers/fast_inh_paper/SVG/Figure1/generated_data/fft_map1.png', pad_inches=0) load_snapshot('/home/jan/Doc/Papers/fast_inh_paper/DATA/GCAL_SHORTRANGE/lat_strength_ratio=2.8_exc_inh_ratio=0.65/results.pickle') save_plotgroup("Projection",projection=topo.sim["V1"].projections().values()[0],density=1.5,saver_params={'filename_prefix' : '1'}) if False: load_snapshot('/home/jan/projects/topographica/GCAL_EI/a-p_exc_strength=3.3_-p_inh_strength=2.805/snapshot.typ') mmap = topo.sim["V1"].sheet_views["OrientationPreference"].view()[0] fig = pylab.figure(dpi=600,facecolor='w',figsize=(5,5)) ax = plt.Axes(fig, [0., 0., 1., 1.]) ax.set_axis_off() fig.add_axes(ax) ax.imshow(mmap[61:-60,61:-60],interpolation='none',cmap='hsv',aspect='normal') pylab.savefig('/home/jan/Doc/Papers/fast_inh_paper/SVG/Figure1/generated_data/or_map4.png', pad_inches=0) fig = pylab.figure(dpi=600,facecolor='w',figsize=(5,5)) ax = plt.Axes(fig, [0., 0., 1., 1.]) ax.set_axis_off() fig.add_axes(ax) ax.imshow(power_spectrum(mmap[61:-60,61:-60]),interpolation='none',cmap='gray',aspect='normal') pylab.savefig('/home/jan/Doc/Papers/fast_inh_paper/SVG/Figure1/generated_data/fft_map4.png', pad_inches=0) save_plotgroup("Projection",projection=topo.sim["V1"].projections().values()[0],density=1.5,saver_params={'filename_prefix' : '4'})
def figure4(): dirr = '/home/jan/Doc/Papers/fast_inh_paper/DATA/GCAL_EI_II_LONGE' rhos = {} X = [] Y = [] qual = [] if False: for a in os.listdir(dirr): b = os.path.join(dirr,a); if not stat.S_ISDIR(os.stat(b).st_mode): continue # load result file f = open(os.path.join(b,'results.pickle')) d = pickle.load(f) # lets find out the pinwheel density X.append(abs(d['exc_inh_strength'])) Y.append(abs(d['exc_short_long_ratio'])) mmap = d['orprefmap'][2:-3,2:-3] rho = pinwheel_analysis(mmap)['metadata']['rho'] metric = gamma_metric(rho,k=10.0) sel = numpy.mean(numpy.mean(mmap)) print a, " ", str(rho) , " " , str(metric) , "SEL ", str(sel) qual.append(metric) print X print Y print qual pylab.figure() pylab.scatter(Y,X,s=numpy.array(qual)*50.0) data = np.histogram2d(Y, X, bins=[len(np.unique(Y)),len(np.unique(X))], weights=qual) pylab.figure(dpi=600,facecolor='w',figsize=(5,5)) ax = plt.gca() im = pylab.imshow(data[0],interpolation='none',cmap='gray')#,vmin=0.3) pylab.yticks([0,len(np.unique(Y))-1],[data[1][0],data[1][-1]]) pylab.xticks([0,len(np.unique(X))-1],[data[2][0],data[2][-1]]) divider = make_axes_locatable(ax) cax = divider.append_axes("right", size="5%", pad=0.05) pylab.colorbar(im,cax=cax) pylab.savefig('figure4.png',dpi=600) if True: plot_ortcs('/home/jan/Doc/Papers/fast_inh_paper/DATA/GCAL_EI_II_LONGE/a-p_exc_strength=9_-p_exc_inh_strength=9.7_-p_exc_short_long_ratio=0.3_-p_cortex_exc_target_activity=0.003/snapshot.typ',"fig4_1_") plot_ortcs('/home/jan/Doc/Papers/fast_inh_paper/DATA/GCAL_EI_II_LONGE/a-p_exc_strength=9_-p_exc_inh_strength=10.6_-p_exc_short_long_ratio=0.5_-p_cortex_exc_target_activity=0.003/snapshot.typ',"fig4_2_") plot_ortcs('/home/jan/Doc/Papers/fast_inh_paper/DATA/GCAL_EI_II_LONGE/a-p_exc_strength=9_-p_exc_inh_strength=9.4_-p_exc_short_long_ratio=0.6_-p_cortex_exc_target_activity=0.003/snapshot.typ',"fig4_3_") plot_ortcs('/home/jan/Doc/Papers/fast_inh_paper/DATA/GCAL_EI_II_LONGE/a-p_exc_strength=9_-p_exc_inh_strength=10.6_-p_exc_short_long_ratio=0.8_-p_cortex_exc_target_activity=0.003/snapshot.typ',"fig4_4_") if False: fname= '/home/jan/Doc/Papers/fast_inh_paper/DATA/GCAL_EI_II_LONGE/a-p_exc_strength=9_-p_exc_inh_strength=9.7_-p_exc_short_long_ratio=0.3_-p_cortex_exc_target_activity=0.003' f = open(fname+'/results.pickle') d = pickle.load(f) fig = pylab.figure(dpi=600,facecolor='w',figsize=(5,5)) ax = plt.Axes(fig, [0., 0., 1., 1.]) ax.set_axis_off() fig.add_axes(ax) ax.imshow(d['orprefmap'][0:-1,0:-1],interpolation='none',cmap='hsv',aspect='normal') pylab.savefig('/home/jan/Doc/Papers/fast_inh_paper/SVG/Figure3/generated_data/or_map1.png', pad_inches=0) fig = pylab.figure(dpi=600,facecolor='w',figsize=(5,5)) ax = plt.Axes(fig, [0., 0., 1., 1.]) ax.set_axis_off() fig.add_axes(ax) ax.imshow(power_spectrum(d['orprefmap'][0:-1,0:-1]),interpolation='none',cmap='gray',aspect='normal') pylab.savefig('/home/jan/Doc/Papers/fast_inh_paper/SVG/Figure3/generated_data/fft_map1.png', pad_inches=0) load_snapshot(fname+'/snapshot.typ') save_plotgroup("Projection",projection=topo.sim["V1"].projections().values()[2],density=6.0,saver_params={'filename_prefix' : '1'}) fname= '/home/jan/Doc/Papers/fast_inh_paper/DATA/GCAL_EI_II_LONGE/a-p_exc_strength=9_-p_exc_inh_strength=10.6_-p_exc_short_long_ratio=0.5_-p_cortex_exc_target_activity=0.003' f = open(fname+'/results.pickle') d = pickle.load(f) fig = pylab.figure(dpi=600,facecolor='w',figsize=(5,5)) ax = plt.Axes(fig, [0., 0., 1., 1.]) ax.set_axis_off() fig.add_axes(ax) ax.imshow(d['orprefmap'][0:-1,0:-1],interpolation='none',cmap='hsv',aspect='normal') pylab.savefig('/home/jan/Doc/Papers/fast_inh_paper/SVG/Figure3/generated_data/or_map2.png', pad_inches=0) fig = pylab.figure(dpi=600,facecolor='w',figsize=(5,5)) ax = plt.Axes(fig, [0., 0., 1., 1.]) ax.set_axis_off() fig.add_axes(ax) ax.imshow(power_spectrum(d['orprefmap'][0:-1,0:-1]),interpolation='none',cmap='gray',aspect='normal') pylab.savefig('/home/jan/Doc/Papers/fast_inh_paper/SVG/Figure3/generated_data/fft_map2.png', pad_inches=0) load_snapshot(fname+'/snapshot.typ') save_plotgroup("Projection",projection=topo.sim["V1"].projections().values()[2],density=6.0,saver_params={'filename_prefix' : '2'}) fname= '/home/jan/Doc/Papers/fast_inh_paper/DATA/GCAL_EI_II_LONGE/a-p_exc_strength=9_-p_exc_inh_strength=9.4_-p_exc_short_long_ratio=0.6_-p_cortex_exc_target_activity=0.003' f = open(fname+'/results.pickle') d = pickle.load(f) fig = pylab.figure(dpi=600,facecolor='w',figsize=(5,5)) ax = plt.Axes(fig, [0., 0., 1., 1.]) ax.set_axis_off() fig.add_axes(ax) ax.imshow(d['orprefmap'][0:-1,0:-1],interpolation='none',cmap='hsv',aspect='normal') pylab.savefig('/home/jan/Doc/Papers/fast_inh_paper/SVG/Figure3/generated_data/or_map3.png', pad_inches=0) fig = pylab.figure(dpi=600,facecolor='w',figsize=(5,5)) ax = plt.Axes(fig, [0., 0., 1., 1.]) ax.set_axis_off() fig.add_axes(ax) ax.imshow(power_spectrum(d['orprefmap'][0:-1,0:-1]),interpolation='none',cmap='gray',aspect='normal') pylab.savefig('/home/jan/Doc/Papers/fast_inh_paper/SVG/Figure3/generated_data/fft_map3.png', pad_inches=0) load_snapshot(fname+'/snapshot.typ') save_plotgroup("Projection",projection=topo.sim["V1"].projections().values()[2],density=6.0,saver_params={'filename_prefix' : '3'}) fname= '/home/jan/Doc/Papers/fast_inh_paper/DATA/GCAL_EI_II_LONGE/a-p_exc_strength=9_-p_exc_inh_strength=10.6_-p_exc_short_long_ratio=0.8_-p_cortex_exc_target_activity=0.003' f = open(fname+'/results.pickle') d = pickle.load(f) fig = pylab.figure(dpi=600,facecolor='w',figsize=(5,5)) ax = plt.Axes(fig, [0., 0., 1., 1.]) ax.set_axis_off() fig.add_axes(ax) ax.imshow(d['orprefmap'][0:-1,0:-1],interpolation='none',cmap='hsv',aspect='normal') pylab.savefig('/home/jan/Doc/Papers/fast_inh_paper/SVG/Figure3/generated_data/or_map4.png', pad_inches=0) fig = pylab.figure(dpi=600,facecolor='w',figsize=(5,5)) ax = plt.Axes(fig, [0., 0., 1., 1.]) ax.set_axis_off() fig.add_axes(ax) ax.imshow(power_spectrum(d['orprefmap'][0:-1,0:-1]),interpolation='none',cmap='gray',aspect='normal') pylab.savefig('/home/jan/Doc/Papers/fast_inh_paper/SVG/Figure3/generated_data/fft_map4.png', pad_inches=0) load_snapshot(fname+'/snapshot.typ') save_plotgroup("Projection",projection=topo.sim["V1"].projections().values()[2],density=6.0,saver_params={'filename_prefix' : '4'})