-
Notifications
You must be signed in to change notification settings - Fork 9
saving triggers in tsv file #25
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Changes from all commits
84a1f8e
4347a32
d2cfcc7
cdd1528
e47b8d6
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| +7 −6 | .gitignore | |
| +70 −14 | README.md | |
| +0 −0 | manualTests/dummyData/CHANGES | |
| +0 −0 | manualTests/dummyData/README | |
| +0 −0 | manualTests/dummyData/dummyData.nii.gz | |
| +10 −0 | manualTests/testData/extra_bold.json | |
| +50 −0 | manualTests/test_createBoldJson.m | |
| +68 −17 | manualTests/test_makeRawDataset.m | |
| +5 −43 | src/convertSourceToRaw.m | |
| +17 −2 | src/createBoldJson.m | |
| +22 −2 | src/createFilename.m | |
| +22 −6 | src/saveEventsFile.m | |
| +6 −6 | src/subfun/createValidName.m | |
| +45 −0 | src/subfun/parseFunc.m | |
| +31 −0 | src/subfun/removeDateSuffix.m | |
| +1 −1 | src/subfun/transferInfoToBids.m | |
| +2 −32 | tests/test_checkCFG.m | |
| +46 −0 | tests/test_createFilename.m | |
| +5 −5 | tests/test_createValidName.m | |
| +70 −0 | tests/test_removeDateSuffix.m | |
| +44 −0 | tests/test_saveEventsFileOpen.m | |
| +20 −5 | tests/test_transferInfoToBids.m |
| +4 −0 | apertureTexture.m | |
| +2 −2 | collectAndSaveResponses.m | |
| +5 −1 | getExperimentStart.m | |
| +0 −52 | initDots.m | |
| +7 −0 | src/dot/computeCartCoord.m | |
| +13 −0 | src/dot/computeRadialMotionDirection.m | |
| +1 −1 | src/dot/decomposeMotion.m | |
| +0 −0 | src/dot/dotTexture.m | |
| +5 −0 | src/dot/generateNewDotPositions.m | |
| +68 −0 | src/dot/initDots.m | |
| +43 −0 | src/dot/reseedDots.m | |
| +19 −0 | src/dot/setDotDirection.m | |
| +18 −0 | src/dot/updateDots.m | |
| +38 −0 | tests/test_computeRadialMotionDirection.m | |
| +112 −0 | tests/test_initDots.m | |
| +45 −0 | tests/test_reseedDots.m | |
| +30 −52 | tests/test_setDefaultsPTB.m | |
| +0 −34 | updateDots.m |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -11,7 +11,7 @@ | |
| 'output'); | ||
|
|
||
| %% Debug mode settings | ||
|
|
||
| cfg.debug.do = true; % To test the script out of the scanner, skip PTB sync | ||
| cfg.debug.smallWin = false; % To test on a part of the screen, change to 1 | ||
| cfg.debug.transpWin = true; % To test with trasparent full size screen | ||
|
|
@@ -34,22 +34,31 @@ | |
|
|
||
| %% Experiment Design | ||
|
|
||
| % cfg.design.motionType = 'translation'; | ||
| % cfg.design.motionType = 'radial'; | ||
| cfg.design.motionType = 'translation'; | ||
| cfg.design.names = {'static'; 'motion'}; | ||
| cfg.design.nbRepetitions = 4; | ||
| cfg.design.nbEventsPerBlock = 12; % DO NOT CHANGE | ||
|
|
||
| %% Timing | ||
|
|
||
| % FOR 7T: if you want to create localizers on the fly, the following must be | ||
| % multiples of the scanneryour sequence TR | ||
| % | ||
| % IBI | ||
| % block length = (cfg.eventDuration + cfg.ISI) * cfg.design.nbEventsPerBlock | ||
|
|
||
| % Time between blocs in secs | ||
| cfg.IBI = .5; % 8; | ||
| cfg.IBI = 1.8*3; % 8; | ||
| % Time between events in secs | ||
| cfg.ISI = 0.5; | ||
| cfg.ISI = 0.1; | ||
| % Number of seconds before the motion stimuli are presented | ||
| cfg.onsetDelay = .1; | ||
| % Number of seconds after the end all the stimuli before ending the run | ||
| cfg.endDelay = .1; | ||
|
|
||
| cfg.eventDuration = 1; % second | ||
| cfg.eventDuration = 0.8; % second | ||
|
|
||
| %% Visual Stimulation | ||
|
|
||
|
|
@@ -91,13 +100,13 @@ | |
| cfg.target.maxNbPerBlock = 2; | ||
| cfg.target.duration = 0.05; % In secs | ||
|
|
||
| cfg.extraColumns = {'direction', 'speed', 'target', 'event', 'block'}; | ||
| cfg.extraColumns = {'direction', 'speed', 'target', 'event', 'block', 'keyName'}; | ||
|
Contributor
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. for extra precautions we wanto also collect the key pressed by the subject to distinguish keypresses from trigger |
||
|
|
||
| end | ||
|
|
||
| function cfg = setKeyboards(cfg) | ||
| cfg.keyboard.escapeKey = 'ESCAPE'; | ||
| cfg.keyboard.responseKey = {'space'}; | ||
| cfg.keyboard.responseKey = {'space', 't'}; | ||
|
Contributor
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. We will be monitoring the trigger keys on the same KbQueue as the responses so we need automate adding the value from |
||
| cfg.keyboard.keyboard = []; | ||
| cfg.keyboard.responseBox = []; | ||
|
|
||
|
|
@@ -112,7 +121,7 @@ | |
| cfg.mri.triggerKey = 't'; | ||
| cfg.mri.triggerNb = 4; | ||
|
|
||
| cfg.mri.repetitionTime = 2; | ||
| cfg.mri.repetitionTime = 1.8; | ||
|
|
||
| cfg.bids.MRI.Instructions = 'Detect the RED fixation cross'; | ||
| cfg.bids.MRI.TaskDescription = []; | ||
|
|
||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Our TR will be around 1.8 ms and we to have only one "condition" per volume so we have to make sure some of our parameters are a multiple of the TR.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think we should add an automatic check for this that send an error in case we don't the math wrong.