Package: pyprf_motion
Population receptive field analysis for motion-sensitive early- and
mid-level visual cortex.This is an extension of thepyprf
package. Compared to pyprf,
pyprf_motion offers stimuli that were specifically optimized to elicit
responses from motion-sensitive areas. On the analysis side,
pyprf_motion offers some additional features made necessary by the
different stimulation type (model positions defined in polar
coordinates, sub-TR temporal resolution for model creation,
cross-validation for model fitting) at the cost of some speed and
flexibility. There is currently no support for GPU.InstallationFor installation, follow these steps:(Optional) Create conda environmentcondacreate-nenv_pyprf_motionpython=2.7sourceactivateenv_pyprf_motioncondainstallpipClone repositorygitclonehttps://github.com/MSchnei/pyprf_motion.gitInstall numpy, e.g. by running:pipinstallnumpyInstall pyprf_motion with pippipinstall/path/to/cloned/pyprf_motionDependenciesPython 2.7PackageTested versionNumPy1.14.0SciPy1.0.0NiBabel2.2.1cython0.27.1tensorflow1.4.0scikit-learn0.19.1How to use1. Present stimuli and record fMRI dataThe PsychoPy scripts in the stimulus_presentation folder can be used to
map motion-sensitive visual areas (especially area hMT+) using the pRF
framework.Specify your desired parameters in the config file.Run the createTexMasks.py file to generate relevant masks and
textures. Masks and textures will be saved as numpy arrays in .npz
format in the parent folder called MaskTextures.Run the createCond.py file to generate the condition order. Condition
and target presentation orders will be saved as numpy arrays in .npz
format in the parent folder called Conditions.Run the stimulus presentation file motLoc.py in PsychoPy. The
stimulus setup should look like the following screen-shot:2. Prepare spatial and temporal information for experiment as arraysRun prepro_get_spat_info.py in the prepro folder to obtain an array
with the spatial information of the experiment.Run prepro_get_temp_info.py in the prepro folder to obtain an array
with the temporal information of the experiment.3. Prepare the input dataThe input data should be motion-corrected, high-pass filtered and
(optionally) distortion-corrected. If desired, spatial as well as
temporal smoothing can be applied. The PrePro folder contains some
auxiliary scripts to perform some of these functions.4. Adjust the csv fileAdjust the information in the config_default.csv file in the Analysis
folder, such that the provided information is correct. It is recommended
to make a specific copy of the csv file for every subject.5. Run pyprf_motionOpen a terminal and runpyprf_motion -config path/to/custom_config.csvReferencesThis application is based on the following work:Dumoulin, S. O., & Wandell, B. A. (2008). Population receptive field
estimates in human visual cortex. NeuroImage, 39(2), 647–660.https://doi.org/10.1016/j.neuroimage.2007.09.034Amano, K., Wandell, B. A., & Dumoulin, S. O. (2009). Visual field
maps, population receptive field sizes, and visual field coverage in
the human MT+ complex. Journal of Neurophysiology, 102(5), 2704–18.https://doi.org/10.1152/jn.00102.2009van Dijk, J. A., de Haas, B., Moutsiana, C., & Schwarzkopf, D. S.
(2016). Intersession reliability of population receptive field
estimates. NeuroImage, 143, 293–303.https://doi.org/10.1016/j.neuroimage.2016.09.013LicenseThe project is licensed underGNU General Public License Version
3.