We explore the radial envelope in MotionClouds. """ try: if mc.notebook: print('we are in the notebook') except: import os import MotionClouds as mc import numpy as np name = 'radial' B_theta = np.pi/8. #initialize fx, fy, ft = mc.get_grids(mc.N_X, mc.N_Y, mc.N_frame) mc.figures_MC(fx, fy, ft, name, B_theta=B_theta) verbose = False # explore parameters for B_sf in np.logspace(-2., 0.1, 5):#[0.0, 0.1, 0.2, 0.3, 0.8]: name_ = name + '-B_sf-' + str(B_sf).replace('.', '_') mc.figures_MC(fx, fy, ft, name_, B_sf=B_sf, B_theta=B_theta, verbose=verbose) for B_V in [0.001, 0.01, 0.05, 0.1, 0.5, 1.0, 10.0]: name_ = name + '-B_V-' + str(B_V).replace('.', '_') mc.figures_MC(fx, fy, ft, name_, B_V=B_V, B_theta=B_theta, verbose=verbose) for sf_0 in [0.01, 0.05, 0.1, 0.2, 0.4, 0.8]: name_ = name + '-sf_0-' + str(sf_0).replace('.', '_') mc.figures_MC(fx, fy, ft, name_, sf_0=sf_0, B_theta=B_theta, verbose=verbose)
#------------------------- Zipped grating ------------------------------- # name = 'zipped_grating' #initialize - fx, fy, ft = mc.get_grids(mc.N_X, mc.N_Y, mc.N_frame) sf_0 = 0.2 B_sf = sf_0 / 4. alpha = 1.0 V_X = 0.5 B_V = V_X / 10. name_ = mc.figpath + name for seed in range(424242, 424242+8): name_ = mc.figpath + name + '-seed-' + str(seed) mc.figures_MC(fx, fy, ft, name_, B_V=B_V, sf_0=sf_0, B_sf=B_sf, V_X=V_X, theta=np.pi/4., alpha=alpha, seed=seed, vext='.zip') #-------------------- Narrowband vs Braodband experiment ---------------- # vext = '.mpg' #vext = '.mat' #vext = '.zip' #display = False # Initialize frequency cube N_X = 640. N_Y = 480. N_frame = 30. # a full period in time frames fx, fy, ft = mc.get_grids(N_X, N_Y, N_frame) # Experimental constants contrast = 0.5
# Une image instantanée à t = 0 # In[5]: plt.figure(figsize=(8, 6)) plt.imshow(movie[:, :, 0], cmap=plt.cm.gray) # Et on sauvegarde le stimulus au format desiré (paramètre vext) # * Pour faire du .mp4, il faut installer ffmpeg (sudo apt install ffmpeg), c'est la faute a Linux, désolé ! # * Pour faire du .png, le chemin spécifié devient un fichier dans lequel seront organisé les images # In[15]: mc.anim_save(movie, './stimulus', display=False, vext='.mp4', verbose=True) # Pour afficher le code # In[11]: get_ipython().run_line_magic('pinfo2', 'mc.anim_save') # Et en bonus, si jamais ça marche chez vous, vous pouvez montrer le stimulus directement dans le notebook, mais on a quelques soucis de compatibilité avec les lecteurs Flash sur Ubuntu # In[ ]: for sf_0 in [0.01, 0.05, 0.1, 0.2, 0.3, 0.4, 0.5, 0.6]: name_ = name + '-sf_0-' + str(sf_0).replace('.', '_') # function performing plots for a given set of parameters mc.figures_MC(fx, fy, ft, name_, sf_0=sf_0, **opts) mc.in_show_video(name_, **opts)