MotionClouds: installing and running the python scripts MotionClouds are parameterized stimuli with controlled motion content and no spatial coherence. They are precisely tuned in the frequency space. A full description can be found in Paula S. Leon, Ivo Vanzetta, Guillaume S. Masson, Laurent U. Perrinet. Motion Clouds: Model-based stimulus synthesis of natural-like random textures for the study of motion perception, URL . Journal of Neurophysiology, 107(11):3217--3226, 2012, see http://www.ncbi.nlm.nih.gov/pubmed/22423003 or http://jn.physiology.org/content/107/11/3217 . The latest changes are available from this web site: https://github.com/NeuralEnsemble/MotionClouds Installing and running the python scripts: This package consists of: MotionClouds.py : the API with all the math and display routines, test_*.py : different types of stimuli are tested, experiment_*py : different experiments. fig_*py : different scripts used to generate wiki pages. figures : resulting figures of tests and experiments (as set in the variable MotionClouds.figpath. Makefile : a GNUmake file to edit files make edit, generate figures make figures or compile the documentation make doc. Installation Installation of MotionClouds consists simply in downloading the MotionClouds.py file which contains all routines to compute and use the MotionClouds textures. This script uses python] which comes (pre-installed / easy to download and install) on many operating systems. Installation has some dependencies: mandatory: numpy is the core library used to compute textures, optional: mayavi is used to visualize envelopes, optional: ffmpeg is used to generate movies. optional: matplotlib, scipy (with PIL support) and imagemagick are used to generate figures in the documentation. optional: progressbar for displaying progress of encoding. installation using custom scripts depending on your system you should use in a terminal window sh install_dependencies_debian.sh or sh install_dependencies_macosx.sh an alternative is to use a virtual machine such as for instance the one provided by the NeuroDebian team. Installation in Debian-based distributions (such as Ubuntu) Use the aptitude front end to install packages: (or alternatively apt -get if you feel confident with that tool instead) python is supported by most distribution and should already be installed. You can check which version is installed : python -V The same libraries as for MacOsX need to be installed : sudo aptitude install python-scipy python-numpy python-matplotlib Idem for the progress bar module sudo easy_install progressbar Install the ffmpeg encoder to work with mpeg, avi, etc, videos: sudo aptitude install ffmpeg when creating MoiMoin pages, it is useful to package images in a zip file: aptitude install zip Installation on MacOsX: EPD Enthought distributes a battery-included installation of python. It is recommended to use the i386 version as the 64-bits version lacks a proper compilation of MayaVi. You will still need ffmpeg to make movies (see HomeBrew or MacPorts section below). Installation on MacOsX: HomeBrew (for more experienced users) install it following their instructions : ruby -e "$(curl -fsSL https://raw.github.com/gist/323731)" then install the following packages # install python through HomeBrew as a framework brew install python --framework # bootstrap pip /usr/local/share/python/easy_install pip /usr/local/share/python/pip install --upgrade distribute # libraries brew install gfortran pip install -U ipython # useful packages pip install -U nose pip install -U progressbar easy_install pyreport easy_install -f http://dist.plone.org/thirdparty/ -U PIL==1.1.7 # numpy et al pip install -U numpy pip install -U scipy pip install -U -e git+git@github.com:matplotlib/matplotlib.git#egg=matplotlib # pip install -f http://downloads.sourceforge.net/project/matplotlib/matplotlib/matplotlib-1.0/matplotlib-1.0.0.tar.gz matplotlib # IDE pip install -U sphinx pyflakes rope brew install sip brew install pyqt pip install -U spyder # mayavi brew install vtk --python pip install -U traitsbackendqt pip install -U configobj pip install -U "Mayavi[app]" be sure to install ffmpeg : brew install ffmpeg brew install zip Installation on MacOsX: MacPorts (outdated documentation) On MacOsX, this may be achieved using MacPorts: MacPorts is a generic package manager, somewhat related to Debian's apt scheme. You will need the XCode package which sits in your MacOSX installation DVD or may downloaded on Apple's site or even borrowed to me. Once installed, do the following on the command-line on Leopard (python 26 works fine too): sudo port install python25 python_select sudo python_select python25 sudo port install py25-pil py25-numpy py25-scipy py25-ipython py25-matplotlib +cairo+latex+tkinter sudo port install py25-enthoughtbase py25-mayavi py25-traitsbackendqt on Snow Leopard: sudo port install python26 python_select sudo python_select python26 sudo port install py26-pil py26-numpy py26-scipy py26-ipython py26-matplotlib +cairo+latex+tkinter sudo port install py26-enthoughtbase py26-mayavi py26-traitsbackendqt * then optionally, {{{ sudo easy_install progressbar pygarrayimage pyglet be sure to install ffmpeg : sudo port install ffmpeg