Skip to content

Commit 82b0a1f

Browse files
committed
Merge remote-tracking branch 'cpp-lln-lab/master'
2 parents 8a48d57 + ba1a20c commit 82b0a1f

20 files changed

+880
-1079
lines changed

.gitattributes

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
# Set the default behavior, in case people don't have core.autocrlf set.
2+
* text=auto

.gitmodules

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
[submodule "lib/CPP_PTB"]
2+
path = lib/CPP_PTB
3+
url = https://github.com/cpp-lln-lab/CPP_PTB.git
4+
[submodule "lib/CPP_BIDS"]
5+
path = lib/CPP_BIDS
6+
url = https://github.com/cpp-lln-lab/CPP_BIDS.git

README.md

Lines changed: 86 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,88 @@
1-
# Motion Visual-Localizer
1+
# fMRI localizers for visual motion
22

3-
This repo collects the most common localizers in use to define hMT/V5
3+
# Translational Motion
4+
5+
## Requirements
6+
7+
Make sure that the following toolboxes are installed and added to the matlab / octave path.
8+
9+
For instructions see the following links:
10+
11+
| Requirements | Used version |
12+
|----------------------------------------------------------|--------------|
13+
| [CPP_BIDS](https://github.com/cpp-lln-lab/CPP_BIDS) | ? |
14+
| [CPP_PTB](https://github.com/cpp-lln-lab/CPP_PTB) | ? |
15+
| [PsychToolBox](http://psychtoolbox.org/) | >=3.0.14 |
16+
| [Matlab](https://www.mathworks.com/products/matlab.html) | >=2017 |
17+
| or [octave](https://www.gnu.org/software/octave/) | >=4.? |
18+
19+
## Installation
20+
21+
The CPP_BIDS and CPP_PTB dependencies are already set up as submodule to this repository.
22+
You can install it all with git by doing.
23+
24+
```bash
25+
git clone --recurse-submodules https://github.com/cpp-lln-lab/localizer_visual_motion.git
26+
```
27+
28+
## Structure and function details
29+
30+
### visualLocTranslational
31+
32+
Running this script will show blocks of motion dots (soon also moving gratings) and static dots. Motion blocks will show dots(/gratings) moving in one of four directions (up-, down-, left-, and right-ward)
33+
34+
By default it is run in `Debug mode` meaning that it does not run care about subjID, run n., fMRI triggers, Eye Tracker, etc..
35+
36+
Any details of the experiment can be changed in `setParameters.m` (e.g., experiment mode, motion stimuli details, exp. design, etc.)
37+
38+
### setParameters
39+
40+
`setParameters.m` is the core engine of the experiment. It contains the following tweakable sections:
41+
42+
- Debug mode setting
43+
- MRI settings
44+
- Engine parameters:
45+
- Monitor parameters
46+
- Monitor parameters for PsychToolBox
47+
- Keyboards
48+
- Experiment Design
49+
- Visual Stimulation
50+
- Task(s)
51+
- Instructions
52+
- Task #1 parameters
53+
54+
### subfun/doDotMo
55+
56+
#### Input:
57+
- `cfg`: PTB/machine configurations returned by `setParameters` and `initPTB`
58+
- `expParameters`: parameters returned by `setParameters`
59+
- `logFile`: structure that stores the experiment logfile to be saved
60+
61+
#### Output:
62+
- Event `onset`
63+
- Event `duration`
64+
65+
The dots are drawn on a square that contains the round aperture, then any dots outside of the aperture is turned into a NaN so effectively the actual number of dots on the screen at any given time is not the one that you input but a smaller number (nDots / Area of aperture) on average.
66+
67+
### subfun/expDesign
68+
Creates the sequence of blocks and the events in them. The conditions are consecutive static and motion blocks (Gives better results than randomised). It can be run as a stand alone without inputs to display a visual example of possible design.
69+
70+
#### EVENTS
71+
The `numEventsPerBlock` should be a multiple of the number of "base" listed in the `motionDirections` and `staticDirections` (4 at the moment).
72+
73+
#### TARGETS:
74+
- If there are 2 targets per block we make sure that they are at least 2 events apart.
75+
- Targets cannot be on the first or last event of a block
76+
77+
#### Input:
78+
- `expParameters`: parameters returned by `setParameters`
79+
- `displayFigs`: a boolean to decide whether to show the basic design matrix of the design
80+
81+
#### Output:
82+
- `expParameters.designBlockNames` is a cell array `(nr_blocks, 1)` with the name for each block
83+
- `expParameters.designDirections` is an array `(nr_blocks, numEventsPerBlock)` with the direction to present in a given block
84+
- `0 90 180 270` indicate the angle
85+
- `-1` indicates static
86+
- `expParameters.designSpeeds` is an array `(nr_blocks, numEventsPerBlock) * speedEvent`
87+
- `expParameters.designFixationTargets` is an array `(nr_blocks, numEventsPerBlock)` showing for each event if it should be accompanied by a target
488

5-
1. Radial Motion
6-
2. [Translational motion](/Visual-loc_translational) (4 directions: up-, dowm-, left-, right-ward)

Visual-loc_translational/README.md

Lines changed: 0 additions & 97 deletions
This file was deleted.

Visual-loc_translational/setParameters.m

Lines changed: 0 additions & 159 deletions
This file was deleted.

0 commit comments

Comments
 (0)