zhuangjun1981 / retinotopic_mapping

visual display and analysis python code for retinotopic mapping of rodent visual cortex
http://retinotopic-mapping.readthedocs.io/en/latest/
GNU General Public License v3.0
18 stars 15 forks source link

retinotopic_mapping package

by Jun Zhuang © 2016 Allen Institute email: junz<AT>alleninstitute<DOT>org

Because this is a python2 repo, we stopped the update since 2019-12-05. The visual stimulus part of this repo is moved to the python 3 repo WrapedVisualStimu and the analysis part of this repo is moved to the python 3 repo NeuroAnalysisTools. Both of these two repos are under development with occasional updates.

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 doc branch.

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 MonitorSetup.py, StimulusRoutines.py and DisplayStimulus.py. 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 script 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 RetinotopicMapping.py module. 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 (2).

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.

Contributors:

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.

Language:

  1. python 2.7

Install:

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

Dependencies:

  1. pytest, version 3.3.0 or later
  2. numpy, version 1.13.1 or later
  3. scipy, version 0.17.1 or later
  4. matplotlib, version 1.5.1 or later
  5. h5py, version 2.7.1 or later
  6. pillow, version 5.0.0 or later
  7. psychopy, version 1.85.2 or later
  8. pyglet, version 1.2.4
  9. OpenCV
  10. scikit-image, version 0.12.3 or later
  11. tifffile, version >=0.7.0
  12. PIL, version 4.3.0 or later
  13. PyDAQmx, version 1.3.2 or later
  14. configobj, version 5.0.6 or later
  15. sphinx, version 1.6.3 or later (just for documentation)
  16. numpydoc, version 0.7.0 (just for documentation)

for detailed installation instructions see the install page in documentation (doc branch).

References:

  1. Garrett ME, Nauhaus I, Marshel JH, Callaway EM (2014) Topography and areal organization of mouse visual cortex. J Neurosci 34:12587-12600.

  2. 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.

  3. Kalatsky VA, Stryker MP (2003) New paradigm for optical imaging: temporally encoded maps of intrinsic signal. Neuron 38:529-545.

  4. Marshel JH, Kaye AP, Nauhaus I, Callaway EM (2012) Anterior-posterior direction opponency in the superficial mouse lateral geniculate nucleus. Neuron 76:713-720.

  5. 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.

  6. Sereno MI, McDonald CT, Allman JM (1994) Analysis of retinotopic maps in extrastriate cortex. Cereb Cortex 4:601-620.

  7. 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.

Issues:

  1. Most image analysis parameters are defined as number of pixels, not microns.
  2. Works in windows, but not fully tested on Mac and Linux.