Code Monkey home page Code Monkey logo

cpp_retinotopy's Introduction

codecov

Build Status

RETINOTOPIC MAPPING STIMULUS

1. Depdendencies

Dependencies Used version
Matlab 20???
or Octave 4.?
Psychtoolbox v3.15
JSONio NA

1.1. mpm (beta)

You can use matlab package manager to install the dependencies.

mpm install -i fullpath_to_this_folder/dependencies.txt -c PTB_retinotopy --allpaths

2. Running the experiment

2.1. Set up

Before you can begin you will need to generate a checkerboard or ripple stimulus with the dimensions of the screen you are using for your experiment. For this, you will need to modify the script GenCheckerboard.m or GenRipples.m in the input folder and change the variable width or the height of your screen in pixels. After running this script the new checkerboard stimulus will be saved on your disk.

Some other things will need to be changed to match your needs. Most of it should be in :

  • SetParameters.m
    • The parameter Resolution needs to be changed to reflect your screen dimensions (e.g. [0 0 1024 768] for 1024*768).
    • The parameters TR and Dummies need to be adjusted for your scanner sequence.

In the following

  • Polar.m
  • Eccen.m
  • DriftingBar

you will need to adapt the VolsPerCycle parameter such that you have enough volumes to fill approximately one minute per stimulus cycle.

For example, if your TR is 2 seconds you would want to have 30 volumes per cycle. (Note that shorter cycles work as well, but for inexperienced participants a minute per cycle is probably optimal).

2.2. Running the retinotopy scripts

Any of the other parameters probably do not need to be changed at all.

Calling the Polar and Eccen program without any input arguments will run a demo which is triggered manually by pressing a key.

The first input argument is the subject name/ID, the second (optional) input argument defines the direction the stimulus is moving (that is either clockwise vs anticlockwise or contracting vs expanding).

3. Other scripts

There are also two scripts which can be used for population receptive field mapping. One is the standard protocol with bars traversing the visual field as in Dumoulin & Wandell (2008).

In addition, there is a dual phase-encoded protocol with which you could theoretically map both the polar angle and the eccentricity in the same scan. By including blank periods this could also be used in order to map population receptive fields. This still needs refactoring.

4. Reporting a problem

Get in touch by reporting an issue or sending a pull request

5. Contributors

Original version by Sam Schwarzkopf (27th July 2010)

For more recent version of the same code () check it here on OSF: DOI 10.17605/OSF.IO/2RGSM

Some modifications (esp for eye tracking) have been done by Tim Rohe.

Code cleaning and refactoring was done by Rémi Gau.

The loose style guide used here:

  • use PascalCase
  • structures that are passed around and centralize a lot of information (TARGET, BEHAVIOUR, PARAMETERS...) are in upper case
  • McCabe complexity has to be inferior to 15 (see checkcode('foo.m', '-cyc'))

cpp_retinotopy's People

Stargazers

 avatar

Watchers

 avatar  avatar  avatar

Forkers

marcobarilari

cpp_retinotopy's Issues

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.