-
Notifications
You must be signed in to change notification settings - Fork 1
Microsaccades and synchrony coding in the retina (Masquelier et al. 2016)
ModelDBRepository/188423
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
This readme and the code were contributed by Timothee Masquelier timothee.masquelier@alum.mit.edu March 2016 This code was used in: This code was used in: Masquelier T, Portelli G and Kornprobst P (2016). Microsaccades enable efficient synchrony-based coding in the retina: a simulation study. Scientific Reports. Feel free to use/modify but please cite us if appropriate. It is a Matlab code (with mex files) The retina simulator, developed by Adrien Wohrer, is not included in this archive. It can be downloaded here: http://www-sop.inria.fr/neuromathcomp/public/software/virtualretina/ At the bottom of this README you will find help to install it on a Linux machine (provided without warranty). ./src contains the source files ./img contains images ./data contains data files Here are the following steps to reproduce the paper's main simulation. The order of magnitude of processing times are given (for 15000 s of biological time). 1) engbert_brownian.m : generates the gaze trajectory Processing time: minutes 2) generateSaccadicFrames.m : generates the frames from one input image and the gaze trajectory Processing time: hours 3) generateNameFiles.m : generates n=8 lists of frames for Virtual Retina (this can be useful to launch Virtual Retina on multiple threads) Processing time: seconds 4) batch_vr.py : a Python script to launch several threads of Virtual Retina. This is useful if multiple cores are available. For example the command: python batch_vr.py -i 0 -f 8 -s 1 will launch 8 threads. The output spikes are saved in ./data/fr#/spikes.spk If you don't have Python or multiple cores, you can always process the frame files successively (the command should be something like: ~/retina_package-2.2.2/VirtualRetina-2.2.2/bin/Retina -i ../data/frame/file_name_#.txt -ret ./human.parvo.xml -r 5 -outD ../data/fr_# ) Processing time: hours 5) formatSL.m : formats the spikes.spk in mat files adequate for the STDP code. Processing time: minutes 6) STDP.m : performs the STDP-based learning on the RGC spike trains. This code involves mex files, which should be compiled first (from Matlab, enter: mex pspKernel.c; mex STDPContinuous.c) Use plots.m to reconstruct preferred stimuli after learning. Note: one may need to launch the script several time to reach convergence. The weights are read and saved in ./data/weight*.txt files. Remove the files to start learning from scratch (i.e. from random synaptic weights). A convergence index for each neuron is stored in ../data/conv.#.mat (0 means perfect convergence) Processsing time: minutes (for one execution) —- Here are the steps we took to install Virtual Retina on a recent Ubuntu machine: * download and extract the retina_package-2.2.2 archive * install `libxml2-dev`, `libx11-dev` and `cmake` through the normal package manager * after running the download script in the retina_package once, the packages were downloaded, but did not compile successfully * in `mvaspike-1.0.16/src/`, in file `stdpf.cc` `NULL` had to be replaced with `0`. (then recompile mvaspike by running `make` in `External_Libraries/mvaspike-1.0.16/`) * in `xmlparameters++`, in the file `src/initfunctor.h` `return create(...` had to be replaced with `return this->create(...` (then run `make clean` and `make` in `External_Libraries/xmlparameters++` to recompile xmlparameters) * The CImg library had to be downloaded and put in a folder called `External_Libraries/CImg-1.3.4` (since this is the version linked in the VirtualRetina-2.2.2/ext-lib-links folder) Running the download_all.bash script again then successfully compiled the virtual retina programs.
About
Microsaccades and synchrony coding in the retina (Masquelier et al. 2016)
Topics
Resources
Stars
Watchers
Forks
Releases
No releases published
Packages 0
No packages published