コード例 #1
0
ファイル: test_radial.py プロジェクト: jspezia/MotionClouds
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)
コード例 #2
0
#------------------------- 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
コード例 #3
0
# 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)