Code Monkey home page Code Monkey logo

prf's Introduction

Population Receptive Field (pRF)

Code for fitting population receptive fields (Dumoulin & Wandell, 2008) for multidimensional models. Includes optional compressive spatial summation exponential parameter (Kay et al., 2013).


Demonstration

  1. Add pathing to pRF package

    addpath(genpath('PathToPackage'));
  2. Open demopRF.m

    open demopRF
  3. Edit Pathing to Directories

    • Edit directories section as based on your computer's pathing

    % paths = createPaths(); % initialize paths structure
    % paths.data = fullfile(paths.main, 'DemoData'); % path to demostration data directory
    % paths.results = fullfile(paths.main, 'DemoExampleResults'); % path to output results directory
    % paths = createPaths(paths); % create paths if they do not already exist
  4. Run demopRF.m

    • Estimates pRF parameters, mu & sigma & exp, along with Boynton HRF parameters, tau & delta, for the demonstration data
    • Plots histogram of estimated pRF parameters mu, sigma, exp, and corr
    • Plots pRF model predicted voxel time courses vs. actual voxel time courses
    • Plots estimated Boynton HRF as a function of time

Tutorial

I've written a tutorial that walks through the concepts of pRF modeling in case you're new to the topic.

pRF Tutorial


Latest Version

Version 3.0

  • createScan.m can now also take in FreeSurfer .nii, .nii.gz, .mgz files along with .label files (to select ROIs)
  • Edited HRF options, can now provide other parameterized HRF function other than the BoyntonHRF such as the TwoGammaHRF from SPM
  • Edited HRF estimating methods, can now iteratively fit HRF parameters either voxels that past a correlation threshold and/or are in the top percentage of initial correlation fits
  • Incorporated timing interpolation if stimulus image and voxel time courses were collected at different sampling rates
  • Add plotHRF.m to visualize the HRF used to fit the pRF model
  • Optimizing for redundant code calls and efficiency. Also reduced nested structure layers
  • General documentation editing for spelling errors and clarity

Version Log


Contributor(s)

Kelly Chang - @kellychang4 - [email protected]


Dependencies


References

Dumoulin, S. O., & Wandell, B. A. (2008). Population receptive field estimates in human visual cortex. Neuroimage, 39(2), 647-660.

Kay, K. N., Winawer, J., Mezer, A., & Wandell, B. A. (2013). Compressive spatial summation in human visual cortex. Journal of neurophysiology, 110(2), 481-494.

prf's People

Contributors

kellychang4 avatar

Stargazers

 avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

prf's Issues

binder version of the tutorial

Hello,

I am tempted to try to create a binder version of the tutorial.

See here and click on the binder badge to see what a an interactive binder instance with octave looks like.
https://github.com/binder-examples/octave

If I manage to make it work would you want me to open a pull request to add the code to this repository?

PS: As I did not find a licence on the repository I am not sure what rules I should follow to adapt and reuse the code. Do you want to me to add a licence to the repository to clarify this issue?

cellzeros and celldiag

I just noticed that you use the cellzeros and celldiag.Honestly,I could understand what you want to deal with.Unfortunately,I can't find these function in matlab,could you give an advice

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.