by Jun Zhuang © 2016 Allen Institute email: junz<AT>alleninstitute<DOT>org
For a more thorough introduction and explanation of the module please
see our documentation.
If the online version of documentation looks incomplete. Please refer
to the locally built html version in
/doc/build/html/ folder under
The retinotopic mapping package is a self-contained module for display visual stimuli in visual physiology experiments and for data analysis on the results of those experiments. This package is used to display visual stimulus and to analyze data for the study Zhuang et al., 2017 (7)
The visual stimuli generation and display is implemented in the modules
These modules allow you to display flashing circle, sparse noise,
locally sparse noise, drifting grading circle, static grading circle
and others with spherical correction. The method for spherical
correction is the same as Marshel et al. 2011 (2). These stimulus
routines are highly customizable and designed to give the user
significant flexibility and control in creative experimental design.
Please check the '\examples\visual_stimulation' folder for
example_stimulation.py of visual stimulation.
One specific analysis this package can perform is automated
segmentation of the mouse visual cortex, which is implemented in
The experimental setup and analysis routine was
modified from Garrett et al. 2014 (1), and closely follows
the protocols and procedures documented in Juavinett et al. 2016
The analysis takes visual altitude and azimuth maps of mouse cortex as inputs, calculates the visual sign of each pixel and auto-segments the cortical surface into primary visual cortex and multiple higher visual cortices. Ideally, the visual altitude and azimuth maps can be generated by fourier analysis of population cortical responses to periodic sweeping checker board visual stimuli (3, 4).
The package also provides some useful plotting functions to visualize the results.
Please check the '\examples\signmap_analysis' folder for a jupyter notebook showing automated visual area segmentation of mouse cortex.
- Jun Zhuang @zhuangj
- John Yearseley @yearsj
- Derric Williams @derricw
Level of support
We are planning on occasional updating this tool with no fixed schedule. Community involvement is encouraged through both issues and pull requests.
- python 2.7
cd <package_path> conda env create -f environment.yml (this will take a while) activate retinotopic_mapping (Windows) source activate retinotopic_mapping (Mac or Linux) python setup.py install
- numpy, version 1.13.1 or later
- scipy, version 0.17.1 or later
- matplotlib, version 1.5.1 or later
- psychopy, version 1.85.2 or later
- pyglet, version 1.2.4 or later
- OpenCV-Python, version >= 2.4.8, <= 2.4.10
- scikit-image, version 0.12.3 or later
- PIL, version 4.3.0 or later
- PyDAQmx, version 1.3.2 or later
- requires National Instruments DAQmx driver, version 15.0 or later
Garrett ME, Nauhaus I, Marshel JH, Callaway EM (2014) Topography and areal organization of mouse visual cortex. J Neurosci 34:12587-12600.
Juavinett AL, Nauhaus I, Garrett ME, Zhuang J, Callaway EM (2017). Automated identification of mouse visual areas with intrinsic signal imaging. Nature Protocols. 12: 32-43.
Kalatsky VA, Stryker MP (2003) New paradigm for optical imaging: temporally encoded maps of intrinsic signal. Neuron 38:529-545.
Marshel JH, Kaye AP, Nauhaus I, Callaway EM (2012) Anterior-posterior direction opponency in the superficial mouse lateral geniculate nucleus. Neuron 76:713-720.
Sereno MI, Dale AM, Reppas JB, Kwong KK, Belliveau JW, Brady TJ, Rosen BR, Tootell RB (1995) Borders of multiple visual areas in humans revealed by functional magnetic resonance imaging. Science 268:889-893.
Sereno MI, McDonald CT, Allman JM (1994) Analysis of retinotopic maps in extrastriate cortex. Cereb Cortex 4:601-620.
Zhuang J, Ng L, Williams D, Valley M, Li Y, Garrett M, Waters J (2017) An extended retinotopic map of mouse cortex. eLife 6: e18372.
- Most image analysis parameters are defined as number of pixels, not microns.
- Works in windows, but not fully tested on Mac and Linux.