#acl All:read
= MotionClouds: installing and running the python scripts =
[[TagMotionClouds|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 .
== 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 [[http://python.org|python]]] which comes (pre-installed / easy to download and install) on many operating systems.
* Installation has some dependencies:
1. mandatory: {{{numpy}}} is the core library used to compute textures,
1. optional: {{{mayavi}}} is used to visualize envelopes,
1. optional: {{{ffmpeg}}} is used to generate movies.
1. optional: {{{matplotlib}}}, {{{scipy}}} (with PIL support) and {{{imagemagick}}} are used to generate figures in the documentation.
1. 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 [[http://neuro.debian.net/vm.html|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 [[https://github.com/mxcl/homebrew/wiki/Installation|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:
* [[http://www.macports.org|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
}}}
----
TagMotion TagMotionClouds
|