Igor Iarrobino
|
|
Group: Forum Members
Posts: 34,
Visits: 88
|
Hello again, Hope this message finds you well. I have a some of tiny issues to assess in a couple of brief scripts. I hope and think I'm close to the end. I start with the first one, I'm gonna put the latter issues after the former is solved. The first issue is that I'm trying to put a longer fixation cross before any presentation of stimuli to draw participant attention before the task (patients). I did so creating brand new stimulus, trial and block for fixationStart (as I called the stuff in the script). I don't know why the block is not coming up, it is like hidden somewhere. Thank you in advance. ************************************************************************************************************** ************************************************************************************************************** EDITABLE PARAMETERS: change editable parameters here ************************************************************************************************************** **************************************************************************************************************
<parameters> /ITI = 500 /fixationStart = 3000 /picsize = 60% /top_y = 55% /bottom_y = 55% /leftresponsekey = "Z" //lo stampino con la BLU va messo sulla Z /rightresponsekey = "M" //lo stampino con la ROSSO va messo sulla M /spacekey = "BARRA SPAZIATRICE" </parameters>
************************************************************************************************************** ************************************************************************************************************** EDITABLE INSTRUCTIONS: change instructions here ************************************************************************************************************** ************************************************************************************************************** <instruct> / fontstyle = ("Arial", 3%, false, false, false, false, 5, 1) </instruct>
<item instructions> /1 = "Benvenuto/a. Adesso faremo una piccola prova per farla familiarizzare con il task.
Le compariranno dei volti che esprimono un'emozione, oppure no. Le verrà chiesto di premere il tasto BLU se il volto presentato esprime un'emozione; al contrario, prema il tasto ROSSO se esso non esprime un'emozione."
/2 = "Grazie per la partecipazione." </item>
<item continueButtons> /1 = "Prema la BARRA SPAZIATRICE per iniziare" /2 = "STOP" </item>
<text YESButton_instruct> / items = ("YES = Prema BLU") / position = (25%, 60%) / fontstyle = ("Arial", 5%, true, false, false, false, 5, 1) / vjustify = center / hjustify = center / size = (45%, 10%) / txcolor = white </text>
<text NOButton_instruct> / items = ("NO = Prema ROSSO") / position = (75%, 60%) / fontstyle = ("Arial", 5%, true, false, false, false, 5, 1) / vjustify = center / hjustify = center / size = (45%, 10%) / txcolor = white </text>
<text fixationStart> / items = ("+") / vposition = 50% / hposition = 50% / fontstyle = ("Arial", 7%, true, false, false, false, 5, 1) / size = (10%, 10%) / txcolor = black / txbgcolor = transparent </text>
<text fixationResp> / items = ("+") / vposition = 50% / hposition = 50% / fontstyle = ("Arial", 7%, true, false, false, false, 5, 1) / size = (10%, 10%) / txcolor = black / txbgcolor = transparent </text>
<text exit> / items = ("<prema la BARRA per uscire>") / fontstyle = ("Arial", 3.5%, false, false, false, false, 5, 1) / position = (50%, 90%) / size = (80%, 5%) / vjustify = center </text>
<expressions> /buttoninstruct1 = if (computer.touch && !computer.haskeyboard) {"response button";} else { "un tasto";} /buttoninstruct2 = if (computer.touch && !computer.haskeyboard) {"button";} else { "un altro tasto";} /buttoninstruct3 = if (computer.touch && !computer.haskeyboard) {"Le chiadiamo di posizionare le dita della mano sinistra e della mano destra sulla tastiera, e di premere un dei tasto per cominciare";} else { "Le chiediamo di posizionare l'indice della mano sinistra e l'indice della mano destra sulla tastiera e premere uno dei due tasti colorati per iniziare.";} </expressions>
************************************************************************************************************** ************************************************************************************************************** EDITABLE STIMULI ************************************************************************************************************** ************************************************************************************************************** ******************************************** practice ********************************************
<list practice_itemnumbers> / items = (1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22) / replace = false / resetinterval = 0 </list>
<item pics_practice> /1= "F11_F20.JPG" /2= "F11_F30.JPG" /3 = "F11_F40.JPG" /4 = "F11_F50.JPG" /5 = "F11_F60.JPG" /6 = "F11_F70.JPG" /7 = "F11_F80.JPG" /8 = "F11_F90.JPG" /9 = "F11_F100.JPG" /10 = "F11_F0.JPG" /11 = "F11_F10.JPG" /12 = "M11_F20.JPG" /13 = "M11_F30.JPG" /14 = "M11_F40.JPG" /15 = "M11_F50.JPG" /16 = "M11_F60.JPG" /17 = "M11_F70.JPG" /18 = "M11_F80.JPG" /19 = "M11_F90.JPG" /20 = "M11_F100.JPG" /21 = "M11_F0.JPG" /22 = "M11_F10.JPG" </item>
<item correctButton_practice> /1 = "YESButton" /2 = "YESButton" /3 = "YESButton" /4 = "YESButton" /5 = "YESButton" /6 = "YESButton" /7 = "YESButton" /8 = "YESButton" /9 = "YESButton" /10 = "NOButton" /11 = "NOButton" /12 = "YESButton" /13 = "YESButton" /14 = "YESButton" /15 = "YESButton" /16 = "YESButton" /17 = "YESButton" /18 = "YESButton" /19 = "YESButton" /20 = "YESButton" /21 = "NOButton" /22 = "NOButton" </item>
************************************************************************************************************** ************************************************************************************************************** DEFAULTS ************************************************************************************************************** ************************************************************************************************************** script requires Inquisit 6.5.2.0 or higher
<defaults> /canvasaspectratio = (4,3) /minimumversion = "6.5.2.0" /fontstyle = ("Arial", 3%, false, false, false, false, 5, 1) /txbgcolor = transparent /txcolor = black /screencolor = white /inputdevice = keyboard </defaults>
************************************************************************************************************** ************************************************************************************************************** DATA ************************************************************************************************************** **************************************************************************************************************
Note: data file explanations under User Manual Information at the top
To change from one data file per participant to one data file for all participants, set /separatefiles = false
*********************** raw data file *********************** <data> / separatefiles = true / columns = (build, computer.platform, date, time, subject, group, session, blockcode, blocknum, trialcode, trialnum, values.keyAssignment, values.selectStim, stimulusitem, values.correctButton, response, correct, latency, list.accuracy.mean) </data>
*********************** summary data file *********************** <summarydata> / columns = (inquisit.version, computer.platform, script.startdate, script.starttime, script.subjectid, script.groupid, script.sessionid, script.elapsedtime, script.completed, values.keyAssignment, values.ACC_practice, values.practiceRuns, expressions.ACC_all, expressions.meanRT_all) / separatefiles = true </summarydata>
************************************************************************************************************** ************************************************************************************************************** VALUES: automatically updated ************************************************************************************************************** ************************************************************************************************************** /countTestBlocks: counts number of test blocks /selectWord: stores the itemnumber of the currently presented word /selectImage: stores the itemnumber of the currently presented image /wordposition: 0 = words at the centre of the image /word_y: stores the vertical coordinate of the current word /congruence: 0 = neutral; 1 = incongruent /practice1Runs: counts number of practice1 runs /practice2WRuns: counts number of practice2W runs /practice2FRuns: counts number of practice2F runs /selectFeedback: controls the selection of the feedback text to be presented /skipReadyTrial: 0 = run ready trial; 1 = skip ready trial
<values> /countTestBlocks = 0 /selectStim = 1 /correctButton = "" /practiceRuns = 0 /fixationsStart = 0 /fixationResp = 0 /keyAssignment = "leftYES" /spacekey = parameters.spacekey /YESkey = parameters.leftresponsekey /NOkey = parameters.rightresponsekey </values>
/ACC_practice: stores the proportion correct of the current practice run
<values> /ACC_practice = 0 </values>
************************************************************************************************************** ************************************************************************************************************** EXPRESSIONS ************************************************************************************************************** ************************************************************************************************************** /shadowSize: size of shadow text
/ACC_all: proportion correct overall (across all test trials) /meanRT_all: mean correct latency (in ms) overall
/ACC_FACE: proportion correct in "FACE" block /ACC_congruent: proportion correct in "congruent" pairings trials (across test blocks) /ACC_incongruent: proportion correct in "incongruent" pairings trials (across test blocks)
/meanRT_FACE: mean correct latency (in ms) in "FACE" block /meanRT_congruent: mean correct latency (in ms) in "congruent" pairings trials (across test blocks) /meanRT_incongruent: mean correct latency (in ms) in "incongruent" pairings trials (across test blocks)
<expressions> /ACC_all = list.accuracy.mean /meanRT_all = list.latencies.mean </expressions>
************************************************************************************************************** ************************************************************************************************************** INSTRUCTIONS ************************************************************************************************************** **************************************************************************************************************
<text intro> / items = instructions / select = 1 / position = (50%, 50%) / fontstyle = ("Arial", 4%, false, false, false, false, 5, 1) / vjustify = center / hjustify = center / size = (90%, 80%) </text>
<text end> / items = instructions / select = 2 / position = (50%, 50%) / fontstyle = ("Arial", 8%, false, false, false, false, 5, 1) / vjustify = center / hjustify = center / size = (90%, 80%) </text>
<text continueButton_intro> / items = continueButtons / select = text.intro.currentitemnumber / position = (50%, 90%) / fontstyle = ("Arial", 3.5%, true, false, false, false, 5, 1) / vjustify = center / hjustify = center / size = (45%, 10%) / txbgcolor = blue </text>
<text continueButton_Pnd> / items = continueButtons / select = text.end.currentitemnumber / position = (50%, 90%) / fontstyle = ("Arial", 3.5%, true, false, false, false, 5, 1) / vjustify = center / hjustify = center / size = (45%, 10%) / txbgcolor = red </text>
*********************** Instruction Trials ***********************
<trial practiceStart> / inputdevice = keyboard / stimulusframes = [1 = intro, continueButton_intro] / validresponse = (" ") / recorddata = false </trial>
<trial finish> / inputdevice = keyboard / skip = [ values.countTestBlocks == 1; ] / stimulusframes = [1 = clearscreen, end, exit] / validresponse = (" ") / recorddata = false </trial>
<trial fixationStart> / stimulusframes = [1 = fixationStart] / timeout = 3000 / response = noresponse / recorddata = false </trial>
************************************************************************************************************** ************************************************************************************************************** STIMULI ************************************************************************************************************** **************************************************************************************************************
<picture Pic_practice> / items = item.pics_practice / select = values.selectStim / position = (50%, 50%) / size = (parameters.picsize, parameters.picSize) / erase = white </picture>
************************************************************************************************************** ************************************************************************************************************** LISTS ************************************************************************************************************** **************************************************************************************************************
************************************************* Data Lists: used for descriptive statistics store correct latencies/accuracy data fill up during runtime *************************************************
Note: list stores 1 = correct response; 0 = incorrect response for each relevant trial any response coded as an error is automatically coded as 0 <list accuracy> </list>
Note: list stores the latency of correct responses for each relevant trial <list latencies> </list>
Note: list stores 1 = correct response; 0 = incorrect response for each relevant trial any response coded as an error is automatically coded as 0 <list accuracytest> </list>
************************************************************************************************************** ************************************************************************************************************** TRIALS : practice ************************************************************************************************************** **************************************************************************************************************
<trial practice> / ontrialbegin = [ values.selectStim = list.practice_itemnumbers.nextvalue; ] / stimulusframes = [1 = clearscreen; 2 = Pic_practice] / response = noresponse / trialduration = 350 </trial>
<trial fixationResp> / inputdevice = keyboard / ontrialbegin = [ values.selectStim = list.practice_itemnumbers.nextvalue; values.correctButton = item.correctButton_practice.item(values.selectStim); ]
/ stimulusframes = [1 = clearscreen; 2 = fixationResp;] / validresponse = (parameters.leftresponsekey, parameters.rightresponsekey) / iscorrectresponse = [ if (values.correctButton == "YESButton") { if (trial.practice.responsetext == values.YESkey) { return true; } else { return false; }; } else { if (trial.practice.responsetext == values.NOkey) { return true; } else { return false; }; }; ] / beginresponsetime = 0 / responseinterrupt = immediate / ontrialend = [ list.accuracy.appendItem(trial.practice.correct); values.ACC_practice = list.accuracy.mean;] / branch = [return trial.ITI;] </trial>
************************************************************************************************************** ************************************************************************************************************** TRIALS : helper trials ************************************************************************************************************** **************************************************************************************************************
<trial ITI> / stimulusframes = [1 = clearscreen] / recorddata = false / trialduration = parameters.ITI </trial>
************************************************************************************************************** ************************************************************************************************************** BLOCKS ************************************************************************************************************** **************************************************************************************************************
<block practiceIntro> / trials = [1 = practiceStart] </block>
<block fixationStart> / trials = [1 = fixationStart] </block>
<block practice> / onblockbegin = [ list.accuracy.reset(); list.latencies.reset(); values.practiceRuns += 1; ] / trials = [1 -22 = practice; 3 = fixationResp] </block>
<block finish> / trials = [1 = finish] </block>
************************************************************************************************************** ************************************************************************************************************** EXPERIMENT ************************************************************************************************************** ************************************************************************************************************** <expt> / onexptbegin = [ if (computer.touch && !computer.haskeyboard) { text.continueButton_Pnd.skip = true; text.continueButton_intro.skip = true; };]
/ blocks = [ 1 = practiceIntro; 2 = fixationStart; 3 = practice; 4 = finish; ] </expt>
<monkey> / latencydistribution = normal(50, 20) </monkey>
************************************************************************************************************** End of File ************************************************************************************************************** dden somewhere. Can someone help me out please? The script is attached
|
|
|
Dave
|
|
Group: Administrators
Posts: 13K,
Visits: 105K
|
+xHello again, Hope this message finds you well. I have a some of tiny issues to assess in a couple of brief scripts. I hope and think I'm close to the end. I start with the first one, I'm gonna put the latter issues after the former is solved. The first issue is that I'm trying to put a longer fixation cross before any presentation of stimuli to draw participant attention before the task (patients). I did so creating brand new stimulus, trial and block for fixationStart (as I called the stuff in the script). I don't know why the block is not coming up, it is like hidden somewhere. Thank you in advance. ************************************************************************************************************** ************************************************************************************************************** EDITABLE PARAMETERS: change editable parameters here ************************************************************************************************************** **************************************************************************************************************
<parameters> /ITI = 500 /fixationStart = 3000 /picsize = 60% /top_y = 55% /bottom_y = 55% /leftresponsekey = "Z" //lo stampino con la BLU va messo sulla Z /rightresponsekey = "M" //lo stampino con la ROSSO va messo sulla M /spacekey = "BARRA SPAZIATRICE" </parameters>
************************************************************************************************************** ************************************************************************************************************** EDITABLE INSTRUCTIONS: change instructions here ************************************************************************************************************** ************************************************************************************************************** <instruct> / fontstyle = ("Arial", 3%, false, false, false, false, 5, 1) </instruct>
<item instructions> /1 = "Benvenuto/a. Adesso faremo una piccola prova per farla familiarizzare con il task.
Le compariranno dei volti che esprimono un'emozione, oppure no. Le verrà chiesto di premere il tasto BLU se il volto presentato esprime un'emozione; al contrario, prema il tasto ROSSO se esso non esprime un'emozione."
/2 = "Grazie per la partecipazione." </item>
<item continueButtons> /1 = "Prema la BARRA SPAZIATRICE per iniziare" /2 = "STOP" </item>
<text YESButton_instruct> / items = ("YES = Prema BLU") / position = (25%, 60%) / fontstyle = ("Arial", 5%, true, false, false, false, 5, 1) / vjustify = center / hjustify = center / size = (45%, 10%) / txcolor = white </text>
<text NOButton_instruct> / items = ("NO = Prema ROSSO") / position = (75%, 60%) / fontstyle = ("Arial", 5%, true, false, false, false, 5, 1) / vjustify = center / hjustify = center / size = (45%, 10%) / txcolor = white </text>
<text fixationStart> / items = ("+") / vposition = 50% / hposition = 50% / fontstyle = ("Arial", 7%, true, false, false, false, 5, 1) / size = (10%, 10%) / txcolor = black / txbgcolor = transparent </text>
<text fixationResp> / items = ("+") / vposition = 50% / hposition = 50% / fontstyle = ("Arial", 7%, true, false, false, false, 5, 1) / size = (10%, 10%) / txcolor = black / txbgcolor = transparent </text>
<text exit> / items = ("<prema la BARRA per uscire>") / fontstyle = ("Arial", 3.5%, false, false, false, false, 5, 1) / position = (50%, 90%) / size = (80%, 5%) / vjustify = center </text>
<expressions> /buttoninstruct1 = if (computer.touch && !computer.haskeyboard) {"response button";} else { "un tasto";} /buttoninstruct2 = if (computer.touch && !computer.haskeyboard) {"button";} else { "un altro tasto";} /buttoninstruct3 = if (computer.touch && !computer.haskeyboard) {"Le chiadiamo di posizionare le dita della mano sinistra e della mano destra sulla tastiera, e di premere un dei tasto per cominciare";} else { "Le chiediamo di posizionare l'indice della mano sinistra e l'indice della mano destra sulla tastiera e premere uno dei due tasti colorati per iniziare.";} </expressions>
************************************************************************************************************** ************************************************************************************************************** EDITABLE STIMULI ************************************************************************************************************** ************************************************************************************************************** ******************************************** practice ********************************************
<list practice_itemnumbers> / items = (1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22) / replace = false / resetinterval = 0 </list>
<item pics_practice> /1= "F11_F20.JPG" /2= "F11_F30.JPG" /3 = "F11_F40.JPG" /4 = "F11_F50.JPG" /5 = "F11_F60.JPG" /6 = "F11_F70.JPG" /7 = "F11_F80.JPG" /8 = "F11_F90.JPG" /9 = "F11_F100.JPG" /10 = "F11_F0.JPG" /11 = "F11_F10.JPG" /12 = "M11_F20.JPG" /13 = "M11_F30.JPG" /14 = "M11_F40.JPG" /15 = "M11_F50.JPG" /16 = "M11_F60.JPG" /17 = "M11_F70.JPG" /18 = "M11_F80.JPG" /19 = "M11_F90.JPG" /20 = "M11_F100.JPG" /21 = "M11_F0.JPG" /22 = "M11_F10.JPG" </item>
<item correctButton_practice> /1 = "YESButton" /2 = "YESButton" /3 = "YESButton" /4 = "YESButton" /5 = "YESButton" /6 = "YESButton" /7 = "YESButton" /8 = "YESButton" /9 = "YESButton" /10 = "NOButton" /11 = "NOButton" /12 = "YESButton" /13 = "YESButton" /14 = "YESButton" /15 = "YESButton" /16 = "YESButton" /17 = "YESButton" /18 = "YESButton" /19 = "YESButton" /20 = "YESButton" /21 = "NOButton" /22 = "NOButton" </item>
************************************************************************************************************** ************************************************************************************************************** DEFAULTS ************************************************************************************************************** ************************************************************************************************************** script requires Inquisit 6.5.2.0 or higher
<defaults> /canvasaspectratio = (4,3) /minimumversion = "6.5.2.0" /fontstyle = ("Arial", 3%, false, false, false, false, 5, 1) /txbgcolor = transparent /txcolor = black /screencolor = white /inputdevice = keyboard </defaults>
************************************************************************************************************** ************************************************************************************************************** DATA ************************************************************************************************************** **************************************************************************************************************
Note: data file explanations under User Manual Information at the top
To change from one data file per participant to one data file for all participants, set /separatefiles = false
*********************** raw data file *********************** <data> / separatefiles = true / columns = (build, computer.platform, date, time, subject, group, session, blockcode, blocknum, trialcode, trialnum, values.keyAssignment, values.selectStim, stimulusitem, values.correctButton, response, correct, latency, list.accuracy.mean) </data>
*********************** summary data file *********************** <summarydata> / columns = (inquisit.version, computer.platform, script.startdate, script.starttime, script.subjectid, script.groupid, script.sessionid, script.elapsedtime, script.completed, values.keyAssignment, values.ACC_practice, values.practiceRuns, expressions.ACC_all, expressions.meanRT_all) / separatefiles = true </summarydata>
************************************************************************************************************** ************************************************************************************************************** VALUES: automatically updated ************************************************************************************************************** ************************************************************************************************************** /countTestBlocks: counts number of test blocks /selectWord: stores the itemnumber of the currently presented word /selectImage: stores the itemnumber of the currently presented image /wordposition: 0 = words at the centre of the image /word_y: stores the vertical coordinate of the current word /congruence: 0 = neutral; 1 = incongruent /practice1Runs: counts number of practice1 runs /practice2WRuns: counts number of practice2W runs /practice2FRuns: counts number of practice2F runs /selectFeedback: controls the selection of the feedback text to be presented /skipReadyTrial: 0 = run ready trial; 1 = skip ready trial
<values> /countTestBlocks = 0 /selectStim = 1 /correctButton = "" /practiceRuns = 0 /fixationsStart = 0 /fixationResp = 0 /keyAssignment = "leftYES" /spacekey = parameters.spacekey /YESkey = parameters.leftresponsekey /NOkey = parameters.rightresponsekey </values>
/ACC_practice: stores the proportion correct of the current practice run
<values> /ACC_practice = 0 </values>
************************************************************************************************************** ************************************************************************************************************** EXPRESSIONS ************************************************************************************************************** ************************************************************************************************************** /shadowSize: size of shadow text
/ACC_all: proportion correct overall (across all test trials) /meanRT_all: mean correct latency (in ms) overall
/ACC_FACE: proportion correct in "FACE" block /ACC_congruent: proportion correct in "congruent" pairings trials (across test blocks) /ACC_incongruent: proportion correct in "incongruent" pairings trials (across test blocks)
/meanRT_FACE: mean correct latency (in ms) in "FACE" block /meanRT_congruent: mean correct latency (in ms) in "congruent" pairings trials (across test blocks) /meanRT_incongruent: mean correct latency (in ms) in "incongruent" pairings trials (across test blocks)
<expressions> /ACC_all = list.accuracy.mean /meanRT_all = list.latencies.mean </expressions>
************************************************************************************************************** ************************************************************************************************************** INSTRUCTIONS ************************************************************************************************************** **************************************************************************************************************
<text intro> / items = instructions / select = 1 / position = (50%, 50%) / fontstyle = ("Arial", 4%, false, false, false, false, 5, 1) / vjustify = center / hjustify = center / size = (90%, 80%) </text>
<text end> / items = instructions / select = 2 / position = (50%, 50%) / fontstyle = ("Arial", 8%, false, false, false, false, 5, 1) / vjustify = center / hjustify = center / size = (90%, 80%) </text>
<text continueButton_intro> / items = continueButtons / select = text.intro.currentitemnumber / position = (50%, 90%) / fontstyle = ("Arial", 3.5%, true, false, false, false, 5, 1) / vjustify = center / hjustify = center / size = (45%, 10%) / txbgcolor = blue </text>
<text continueButton_Pnd> / items = continueButtons / select = text.end.currentitemnumber / position = (50%, 90%) / fontstyle = ("Arial", 3.5%, true, false, false, false, 5, 1) / vjustify = center / hjustify = center / size = (45%, 10%) / txbgcolor = red </text>
*********************** Instruction Trials ***********************
<trial practiceStart> / inputdevice = keyboard / stimulusframes = [1 = intro, continueButton_intro] / validresponse = (" ") / recorddata = false </trial>
<trial finish> / inputdevice = keyboard / skip = [ values.countTestBlocks == 1; ] / stimulusframes = [1 = clearscreen, end, exit] / validresponse = (" ") / recorddata = false </trial>
<trial fixationStart> / stimulusframes = [1 = fixationStart] / timeout = 3000 / response = noresponse / recorddata = false </trial>
************************************************************************************************************** ************************************************************************************************************** STIMULI ************************************************************************************************************** **************************************************************************************************************
<picture Pic_practice> / items = item.pics_practice / select = values.selectStim / position = (50%, 50%) / size = (parameters.picsize, parameters.picSize) / erase = white </picture>
************************************************************************************************************** ************************************************************************************************************** LISTS ************************************************************************************************************** **************************************************************************************************************
************************************************* Data Lists: used for descriptive statistics store correct latencies/accuracy data fill up during runtime *************************************************
Note: list stores 1 = correct response; 0 = incorrect response for each relevant trial any response coded as an error is automatically coded as 0 <list accuracy> </list>
Note: list stores the latency of correct responses for each relevant trial <list latencies> </list>
Note: list stores 1 = correct response; 0 = incorrect response for each relevant trial any response coded as an error is automatically coded as 0 <list accuracytest> </list>
************************************************************************************************************** ************************************************************************************************************** TRIALS : practice ************************************************************************************************************** **************************************************************************************************************
<trial practice> / ontrialbegin = [ values.selectStim = list.practice_itemnumbers.nextvalue; ] / stimulusframes = [1 = clearscreen; 2 = Pic_practice] / response = noresponse / trialduration = 350 </trial>
<trial fixationResp> / inputdevice = keyboard / ontrialbegin = [ values.selectStim = list.practice_itemnumbers.nextvalue; values.correctButton = item.correctButton_practice.item(values.selectStim); ]
/ stimulusframes = [1 = clearscreen; 2 = fixationResp;] / validresponse = (parameters.leftresponsekey, parameters.rightresponsekey) / iscorrectresponse = [ if (values.correctButton == "YESButton") { if (trial.practice.responsetext == values.YESkey) { return true; } else { return false; }; } else { if (trial.practice.responsetext == values.NOkey) { return true; } else { return false; }; }; ] / beginresponsetime = 0 / responseinterrupt = immediate / ontrialend = [ list.accuracy.appendItem(trial.practice.correct); values.ACC_practice = list.accuracy.mean;] / branch = [return trial.ITI;] </trial>
************************************************************************************************************** ************************************************************************************************************** TRIALS : helper trials ************************************************************************************************************** **************************************************************************************************************
<trial ITI> / stimulusframes = [1 = clearscreen] / recorddata = false / trialduration = parameters.ITI </trial>
************************************************************************************************************** ************************************************************************************************************** BLOCKS ************************************************************************************************************** **************************************************************************************************************
<block practiceIntro> / trials = [1 = practiceStart] </block>
<block fixationStart> / trials = [1 = fixationStart] </block>
<block practice> / onblockbegin = [ list.accuracy.reset(); list.latencies.reset(); values.practiceRuns += 1; ] / trials = [1 -22 = practice; 3 = fixationResp] </block>
<block finish> / trials = [1 = finish] </block>
************************************************************************************************************** ************************************************************************************************************** EXPERIMENT ************************************************************************************************************** ************************************************************************************************************** <expt> / onexptbegin = [ if (computer.touch && !computer.haskeyboard) { text.continueButton_Pnd.skip = true; text.continueButton_intro.skip = true; };]
/ blocks = [ 1 = practiceIntro; 2 = fixationStart; 3 = practice; 4 = finish; ] </expt>
<monkey> / latencydistribution = normal(50, 20) </monkey>
************************************************************************************************************** End of File ************************************************************************************************************** dden somewhere. Can someone help me out please? The script is attached You need to define <trial fixationStart> / stimulusframes = [1 = fixationStart] / trialduration = parameters.fixationStart / validresponse = (0) / recorddata = false </trial> if you want the fixation period prior to the practice block to last 3 seconds (or whatever other value you set parameters.fixationStart to).
|
|
|
Igor Iarrobino
|
|
Group: Forum Members
Posts: 34,
Visits: 88
|
+x+xHello again, Hope this message finds you well. I have a some of tiny issues to assess in a couple of brief scripts. I hope and think I'm close to the end. I start with the first one, I'm gonna put the latter issues after the former is solved. The first issue is that I'm trying to put a longer fixation cross before any presentation of stimuli to draw participant attention before the task (patients). I did so creating brand new stimulus, trial and block for fixationStart (as I called the stuff in the script). I don't know why the block is not coming up, it is like hidden somewhere. Thank you in advance. ************************************************************************************************************** ************************************************************************************************************** EDITABLE PARAMETERS: change editable parameters here ************************************************************************************************************** **************************************************************************************************************
<parameters> /ITI = 500 /fixationStart = 3000 /picsize = 60% /top_y = 55% /bottom_y = 55% /leftresponsekey = "Z" //lo stampino con la BLU va messo sulla Z /rightresponsekey = "M" //lo stampino con la ROSSO va messo sulla M /spacekey = "BARRA SPAZIATRICE" </parameters>
************************************************************************************************************** ************************************************************************************************************** EDITABLE INSTRUCTIONS: change instructions here ************************************************************************************************************** ************************************************************************************************************** <instruct> / fontstyle = ("Arial", 3%, false, false, false, false, 5, 1) </instruct>
<item instructions> /1 = "Benvenuto/a. Adesso faremo una piccola prova per farla familiarizzare con il task.
Le compariranno dei volti che esprimono un'emozione, oppure no. Le verrà chiesto di premere il tasto BLU se il volto presentato esprime un'emozione; al contrario, prema il tasto ROSSO se esso non esprime un'emozione."
/2 = "Grazie per la partecipazione." </item>
<item continueButtons> /1 = "Prema la BARRA SPAZIATRICE per iniziare" /2 = "STOP" </item>
<text YESButton_instruct> / items = ("YES = Prema BLU") / position = (25%, 60%) / fontstyle = ("Arial", 5%, true, false, false, false, 5, 1) / vjustify = center / hjustify = center / size = (45%, 10%) / txcolor = white </text>
<text NOButton_instruct> / items = ("NO = Prema ROSSO") / position = (75%, 60%) / fontstyle = ("Arial", 5%, true, false, false, false, 5, 1) / vjustify = center / hjustify = center / size = (45%, 10%) / txcolor = white </text>
<text fixationStart> / items = ("+") / vposition = 50% / hposition = 50% / fontstyle = ("Arial", 7%, true, false, false, false, 5, 1) / size = (10%, 10%) / txcolor = black / txbgcolor = transparent </text>
<text fixationResp> / items = ("+") / vposition = 50% / hposition = 50% / fontstyle = ("Arial", 7%, true, false, false, false, 5, 1) / size = (10%, 10%) / txcolor = black / txbgcolor = transparent </text>
<text exit> / items = ("<prema la BARRA per uscire>") / fontstyle = ("Arial", 3.5%, false, false, false, false, 5, 1) / position = (50%, 90%) / size = (80%, 5%) / vjustify = center </text>
<expressions> /buttoninstruct1 = if (computer.touch && !computer.haskeyboard) {"response button";} else { "un tasto";} /buttoninstruct2 = if (computer.touch && !computer.haskeyboard) {"button";} else { "un altro tasto";} /buttoninstruct3 = if (computer.touch && !computer.haskeyboard) {"Le chiadiamo di posizionare le dita della mano sinistra e della mano destra sulla tastiera, e di premere un dei tasto per cominciare";} else { "Le chiediamo di posizionare l'indice della mano sinistra e l'indice della mano destra sulla tastiera e premere uno dei due tasti colorati per iniziare.";} </expressions>
************************************************************************************************************** ************************************************************************************************************** EDITABLE STIMULI ************************************************************************************************************** ************************************************************************************************************** ******************************************** practice ********************************************
<list practice_itemnumbers> / items = (1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22) / replace = false / resetinterval = 0 </list>
<item pics_practice> /1= "F11_F20.JPG" /2= "F11_F30.JPG" /3 = "F11_F40.JPG" /4 = "F11_F50.JPG" /5 = "F11_F60.JPG" /6 = "F11_F70.JPG" /7 = "F11_F80.JPG" /8 = "F11_F90.JPG" /9 = "F11_F100.JPG" /10 = "F11_F0.JPG" /11 = "F11_F10.JPG" /12 = "M11_F20.JPG" /13 = "M11_F30.JPG" /14 = "M11_F40.JPG" /15 = "M11_F50.JPG" /16 = "M11_F60.JPG" /17 = "M11_F70.JPG" /18 = "M11_F80.JPG" /19 = "M11_F90.JPG" /20 = "M11_F100.JPG" /21 = "M11_F0.JPG" /22 = "M11_F10.JPG" </item>
<item correctButton_practice> /1 = "YESButton" /2 = "YESButton" /3 = "YESButton" /4 = "YESButton" /5 = "YESButton" /6 = "YESButton" /7 = "YESButton" /8 = "YESButton" /9 = "YESButton" /10 = "NOButton" /11 = "NOButton" /12 = "YESButton" /13 = "YESButton" /14 = "YESButton" /15 = "YESButton" /16 = "YESButton" /17 = "YESButton" /18 = "YESButton" /19 = "YESButton" /20 = "YESButton" /21 = "NOButton" /22 = "NOButton" </item>
************************************************************************************************************** ************************************************************************************************************** DEFAULTS ************************************************************************************************************** ************************************************************************************************************** script requires Inquisit 6.5.2.0 or higher
<defaults> /canvasaspectratio = (4,3) /minimumversion = "6.5.2.0" /fontstyle = ("Arial", 3%, false, false, false, false, 5, 1) /txbgcolor = transparent /txcolor = black /screencolor = white /inputdevice = keyboard </defaults>
************************************************************************************************************** ************************************************************************************************************** DATA ************************************************************************************************************** **************************************************************************************************************
Note: data file explanations under User Manual Information at the top
To change from one data file per participant to one data file for all participants, set /separatefiles = false
*********************** raw data file *********************** <data> / separatefiles = true / columns = (build, computer.platform, date, time, subject, group, session, blockcode, blocknum, trialcode, trialnum, values.keyAssignment, values.selectStim, stimulusitem, values.correctButton, response, correct, latency, list.accuracy.mean) </data>
*********************** summary data file *********************** <summarydata> / columns = (inquisit.version, computer.platform, script.startdate, script.starttime, script.subjectid, script.groupid, script.sessionid, script.elapsedtime, script.completed, values.keyAssignment, values.ACC_practice, values.practiceRuns, expressions.ACC_all, expressions.meanRT_all) / separatefiles = true </summarydata>
************************************************************************************************************** ************************************************************************************************************** VALUES: automatically updated ************************************************************************************************************** ************************************************************************************************************** /countTestBlocks: counts number of test blocks /selectWord: stores the itemnumber of the currently presented word /selectImage: stores the itemnumber of the currently presented image /wordposition: 0 = words at the centre of the image /word_y: stores the vertical coordinate of the current word /congruence: 0 = neutral; 1 = incongruent /practice1Runs: counts number of practice1 runs /practice2WRuns: counts number of practice2W runs /practice2FRuns: counts number of practice2F runs /selectFeedback: controls the selection of the feedback text to be presented /skipReadyTrial: 0 = run ready trial; 1 = skip ready trial
<values> /countTestBlocks = 0 /selectStim = 1 /correctButton = "" /practiceRuns = 0 /fixationsStart = 0 /fixationResp = 0 /keyAssignment = "leftYES" /spacekey = parameters.spacekey /YESkey = parameters.leftresponsekey /NOkey = parameters.rightresponsekey </values>
/ACC_practice: stores the proportion correct of the current practice run
<values> /ACC_practice = 0 </values>
************************************************************************************************************** ************************************************************************************************************** EXPRESSIONS ************************************************************************************************************** ************************************************************************************************************** /shadowSize: size of shadow text
/ACC_all: proportion correct overall (across all test trials) /meanRT_all: mean correct latency (in ms) overall
/ACC_FACE: proportion correct in "FACE" block /ACC_congruent: proportion correct in "congruent" pairings trials (across test blocks) /ACC_incongruent: proportion correct in "incongruent" pairings trials (across test blocks)
/meanRT_FACE: mean correct latency (in ms) in "FACE" block /meanRT_congruent: mean correct latency (in ms) in "congruent" pairings trials (across test blocks) /meanRT_incongruent: mean correct latency (in ms) in "incongruent" pairings trials (across test blocks)
<expressions> /ACC_all = list.accuracy.mean /meanRT_all = list.latencies.mean </expressions>
************************************************************************************************************** ************************************************************************************************************** INSTRUCTIONS ************************************************************************************************************** **************************************************************************************************************
<text intro> / items = instructions / select = 1 / position = (50%, 50%) / fontstyle = ("Arial", 4%, false, false, false, false, 5, 1) / vjustify = center / hjustify = center / size = (90%, 80%) </text>
<text end> / items = instructions / select = 2 / position = (50%, 50%) / fontstyle = ("Arial", 8%, false, false, false, false, 5, 1) / vjustify = center / hjustify = center / size = (90%, 80%) </text>
<text continueButton_intro> / items = continueButtons / select = text.intro.currentitemnumber / position = (50%, 90%) / fontstyle = ("Arial", 3.5%, true, false, false, false, 5, 1) / vjustify = center / hjustify = center / size = (45%, 10%) / txbgcolor = blue </text>
<text continueButton_Pnd> / items = continueButtons / select = text.end.currentitemnumber / position = (50%, 90%) / fontstyle = ("Arial", 3.5%, true, false, false, false, 5, 1) / vjustify = center / hjustify = center / size = (45%, 10%) / txbgcolor = red </text>
*********************** Instruction Trials ***********************
<trial practiceStart> / inputdevice = keyboard / stimulusframes = [1 = intro, continueButton_intro] / validresponse = (" ") / recorddata = false </trial>
<trial finish> / inputdevice = keyboard / skip = [ values.countTestBlocks == 1; ] / stimulusframes = [1 = clearscreen, end, exit] / validresponse = (" ") / recorddata = false </trial>
<trial fixationStart> / stimulusframes = [1 = fixationStart] / timeout = 3000 / response = noresponse / recorddata = false </trial>
************************************************************************************************************** ************************************************************************************************************** STIMULI ************************************************************************************************************** **************************************************************************************************************
<picture Pic_practice> / items = item.pics_practice / select = values.selectStim / position = (50%, 50%) / size = (parameters.picsize, parameters.picSize) / erase = white </picture>
************************************************************************************************************** ************************************************************************************************************** LISTS ************************************************************************************************************** **************************************************************************************************************
************************************************* Data Lists: used for descriptive statistics store correct latencies/accuracy data fill up during runtime *************************************************
Note: list stores 1 = correct response; 0 = incorrect response for each relevant trial any response coded as an error is automatically coded as 0 <list accuracy> </list>
Note: list stores the latency of correct responses for each relevant trial <list latencies> </list>
Note: list stores 1 = correct response; 0 = incorrect response for each relevant trial any response coded as an error is automatically coded as 0 <list accuracytest> </list>
************************************************************************************************************** ************************************************************************************************************** TRIALS : practice ************************************************************************************************************** **************************************************************************************************************
<trial practice> / ontrialbegin = [ values.selectStim = list.practice_itemnumbers.nextvalue; ] / stimulusframes = [1 = clearscreen; 2 = Pic_practice] / response = noresponse / trialduration = 350 </trial>
<trial fixationResp> / inputdevice = keyboard / ontrialbegin = [ values.selectStim = list.practice_itemnumbers.nextvalue; values.correctButton = item.correctButton_practice.item(values.selectStim); ]
/ stimulusframes = [1 = clearscreen; 2 = fixationResp;] / validresponse = (parameters.leftresponsekey, parameters.rightresponsekey) / iscorrectresponse = [ if (values.correctButton == "YESButton") { if (trial.practice.responsetext == values.YESkey) { return true; } else { return false; }; } else { if (trial.practice.responsetext == values.NOkey) { return true; } else { return false; }; }; ] / beginresponsetime = 0 / responseinterrupt = immediate / ontrialend = [ list.accuracy.appendItem(trial.practice.correct); values.ACC_practice = list.accuracy.mean;] / branch = [return trial.ITI;] </trial>
************************************************************************************************************** ************************************************************************************************************** TRIALS : helper trials ************************************************************************************************************** **************************************************************************************************************
<trial ITI> / stimulusframes = [1 = clearscreen] / recorddata = false / trialduration = parameters.ITI </trial>
************************************************************************************************************** ************************************************************************************************************** BLOCKS ************************************************************************************************************** **************************************************************************************************************
<block practiceIntro> / trials = [1 = practiceStart] </block>
<block fixationStart> / trials = [1 = fixationStart] </block>
<block practice> / onblockbegin = [ list.accuracy.reset(); list.latencies.reset(); values.practiceRuns += 1; ] / trials = [1 -22 = practice; 3 = fixationResp] </block>
<block finish> / trials = [1 = finish] </block>
************************************************************************************************************** ************************************************************************************************************** EXPERIMENT ************************************************************************************************************** ************************************************************************************************************** <expt> / onexptbegin = [ if (computer.touch && !computer.haskeyboard) { text.continueButton_Pnd.skip = true; text.continueButton_intro.skip = true; };]
/ blocks = [ 1 = practiceIntro; 2 = fixationStart; 3 = practice; 4 = finish; ] </expt>
<monkey> / latencydistribution = normal(50, 20) </monkey>
************************************************************************************************************** End of File ************************************************************************************************************** dden somewhere. Can someone help me out please? The script is attached You need to define <trial fixationStart> / stimulusframes = [1 = fixationStart] / trialduration = parameters.fixationStart / validresponse = (0) / recorddata = false </trial> if you want the fixation period prior to the practice block to last 3 seconds (or whatever other value you set parameters.fixationStart to). thank you very much as always!
|
|
|
Igor Iarrobino
|
|
Group: Forum Members
Posts: 34,
Visits: 88
|
Hello. I am close to the end but need another couple of tips. The first ones are: - this script is giving me the double of data (86 instead of 44). I do not know why, because I do not see any redundancy according to what I can see. - I'd like to have a perfect correspondance between this raw data columns: stimulus item (Pic_practice), stimulusitem (fixationResp), values.correctButton (YES/NO), response, correct (0/1). I added another stimulusitem in another try, but it's not working. I attach the output to let you watch at it. I really have read and tried different ways according to theory, but apparently there's something I cannot figure out but these two points. Thank you beforehand for this last tips! I ************************************************************************************************************** ************************************************************************************************************** EDITABLE PARAMETERS: change editable parameters here ************************************************************************************************************** **************************************************************************************************************
<parameters> /ITI = 500 /fixationStart = 3000 /picsize = 60% /top_y = 55% /bottom_y = 55% /leftresponsekey = "Z" //lo stampino con la BLU va messo sulla Z /rightresponsekey = "M" //lo stampino con la ROSSO va messo sulla M /spacekey = "BARRA SPAZIATRICE" </parameters>
************************************************************************************************************** ************************************************************************************************************** EDITABLE INSTRUCTIONS: change instructions here ************************************************************************************************************** ************************************************************************************************************** <instruct> / fontstyle = ("Arial", 3%, false, false, false, false, 5, 1) </instruct>
<item instructions> /1 = "Salve. Adesso faremo una piccola prova per farla familiarizzare con il compito. Le compariranno dei volti che possono avere la bocca aperta, oppure chiusa. Le verrà chiesto di premere il tasto BLU se il volto ha le labbra aperte (separate); al contrario, prema il tasto ROSSO se ha le labbra chiuse (unite). Le ricordiamo di premere il più velocemente possibile. Se non risponde, la prova non va avanti."
/2 = "Grazie per la partecipazione. Se vuole possiamo ripetere la prova." </item>
<item continueButtons> /1 = "Prema gentilemente la BARRA SPAZIATRICE per iniziare" /2 = "STOP" </item>
<text YESButton_instruct> / items = ("YES = Prema BLU") / position = (25%, 60%) / fontstyle = ("Arial", 5%, true, false, false, false, 5, 1) / vjustify = center / hjustify = center / size = (45%, 10%) / txcolor = white </text>
<text NOButton_instruct> / items = ("NO = Prema ROSSO") / position = (75%, 60%) / fontstyle = ("Arial", 5%, true, false, false, false, 5, 1) / vjustify = center / hjustify = center / size = (45%, 10%) / txcolor = white </text>
<text fixationStart> / items = ("+") / vposition = 50% / hposition = 50% / fontstyle = ("Arial", 7%, true, false, false, false, 5, 1) / size = (10%, 10%) / txcolor = black / txbgcolor = transparent </text>
<text fixationResp> / items = ("+") / vposition = 50% / hposition = 50% / fontstyle = ("Arial", 7%, true, false, false, false, 5, 1) / size = (10%, 10%) / txcolor = black / txbgcolor = transparent </text>
<text exit> / items = ("<prema la BARRA per uscire>") / fontstyle = ("Arial", 3.5%, false, false, false, false, 5, 1) / position = (50%, 90%) / size = (80%, 5%) / vjustify = center </text>
<expressions> /buttoninstruct1 = if (computer.touch && !computer.haskeyboard) {"response button";} else { "un tasto";} /buttoninstruct2 = if (computer.touch && !computer.haskeyboard) {"button";} else { "un altro tasto";} /buttoninstruct3 = if (computer.touch && !computer.haskeyboard) {"Le chiadiamo di posizionare le dita della mano sinistra e della mano destra sulla tastiera, e di premere un dei tasto per cominciare";} else { "Le chiediamo di posizionare l'indice della mano sinistra e l'indice della mano destra sulla tastiera e premere uno dei due tasti colorati per iniziare.";} </expressions>
************************************************************************************************************** ************************************************************************************************************** EDITABLE STIMULI ************************************************************************************************************** ************************************************************************************************************** ******************************************** practice ********************************************
<list practice_itemnumbers> / items = (1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44) / replace = false / resetinterval = 0 </list>
<item pics_practice> /1= "F11_F20.JPG" /2= "F11_F30.JPG" /3 = "F11_F40.JPG" /4 = "F11_F50.JPG" /5 = "F11_F60.JPG" /6 = "F11_F70.JPG" /7 = "F11_F80.JPG" /8 = "F11_F90.JPG" /9 = "F11_F100.JPG" /10 = "F11_F0.JPG" /11 = "F11_F10.JPG" /12 = "M11_F20.JPG" /13 = "M11_F30.JPG" /14 = "M11_F40.JPG" /15 = "M11_F50.JPG" /16 = "M11_F60.JPG" /17 = "M11_F70.JPG" /18 = "M11_F80.JPG" /19 = "M11_F90.JPG" /20 = "M11_F100.JPG" /21 = "M11_F0.JPG" /22 = "M11_F10.JPG" /23 = "F11_P20.JPG" /24 = "F11_P30.JPG" /25 = "F11_P40.JPG" /26 = "F11_P50.JPG" /27 = "F11_P60.JPG" /28 = "F11_P70.JPG" /29 = "F11_P80.JPG" /30 = "F11_P90.JPG" /31 = "F11_P100.JPG" /32 = "F11_P0.JPG" /33 = "F11_P10.JPG" /34 = "M11_F20.JPG" /35 = "M11_P30.JPG" /36 = "M11_P40.JPG" /37 = "M11_P50.JPG" /38 = "M11_P60.JPG" /39 = "M11_P70.JPG" /40 = "M11_P80.JPG" /41 = "M11_P90.JPG" /42 = "M11_P100.JPG" /43 = "M11_P0.JPG" /44 = "M11_P10.JPG" </item>
<item correctButton_practice> /1 = "YESButton" /2 = "YESButton" /3 = "YESButton" /4 = "YESButton" /5 = "YESButton" /6 = "YESButton" /7 = "YESButton" /8 = "YESButton" /9 = "YESButton" /10 = "NOButton" /11 = "NOButton" /12 = "YESButton" /13 = "YESButton" /14 = "YESButton" /15 = "YESButton" /16 = "YESButton" /17 = "YESButton" /18 = "YESButton" /19 = "YESButton" /20 = "YESButton" /21 = "NOButton" /22 = "NOButton" /23 = "YESButton" /24 = "YESButton" /25 = "YESButton" /26 = "YESButton" /27 = "YESButton" /28 = "YESButton" /29 = "YESButton" /30 = "YESButton" /31 = "YESButton" /32 = "NOButton" /33 = "NOButton" /34 = "YESButton" /35 = "YESButton" /36 = "YESButton" /37 = "YESButton" /38 = "YESButton" /39 = "YESButton" /40 = "YESButton" /41 = "YESButton" /42 = "YESButton" /43 = "NOButton" /44 = "NOButton" </item>
************************************************************************************************************** ************************************************************************************************************** DEFAULTS ************************************************************************************************************** ************************************************************************************************************** script requires Inquisit 6.5.2.0 or higher
<defaults> /canvasaspectratio = (4,3) /minimumversion = "6.5.2.0" /fontstyle = ("Arial", 3%, false, false, false, false, 5, 1) /txbgcolor = transparent /txcolor = black /screencolor = white /inputdevice = keyboard </defaults>
************************************************************************************************************** ************************************************************************************************************** DATA ************************************************************************************************************** **************************************************************************************************************
Note: data file explanations under User Manual Information at the top
To change from one data file per participant to one data file for all participants, set /separatefiles = false
*********************** raw data file *********************** <data> / separatefiles = true / columns = (build, computer.platform, date, time, subject, group, session, blockcode, blocknum, trialcode, trialnum, values.keyAssignment, values.selectStim, stimulusitem, stimulusitem, values.correctButton, response, correct, latency, list.accuracy.mean) </data>
*********************** summary data file *********************** <summarydata> / columns = (inquisit.version, computer.platform, script.startdate, script.starttime, script.subjectid, script.groupid, script.sessionid, script.elapsedtime, script.completed, values.keyAssignment, values.ACC_practice, values.practiceRuns, expressions.ACC_all, expressions.meanRT_all) / separatefiles = true </summarydata>
************************************************************************************************************** ************************************************************************************************************** VALUES: automatically updated ************************************************************************************************************** ************************************************************************************************************** /countTestBlocks: counts number of test blocks /wordposition: 0 = words at the centre of the image /word_y: stores the vertical coordinate of the current word /congruence: 0 = neutral; 1 = incongruent /practice1Runs: counts number of practice1 runs /practice2WRuns: counts number of practice2W runs /practice2FRuns: counts number of practice2F runs /selectFeedback: controls the selection of the feedback text to be presented /skipReadyTrial: 0 = run ready trial; 1 = skip ready trial
<values> /countTestBlocks = 0 /selectStim = 1 /correctButton = "" /practiceRuns = 0 /fixationStart = 0 /fixationResp = 0 /keyAssignment = "leftYES" /spacekey = parameters.spacekey /YESkey = parameters.leftresponsekey /NOkey = parameters.rightresponsekey </values>
/ACC_practice: stores the proportion correct of the current practice run
<values> /ACC_practice = 0 </values>
************************************************************************************************************** ************************************************************************************************************** EXPRESSIONS ************************************************************************************************************** ************************************************************************************************************** /shadowSize: size of shadow text
/ACC_all: proportion correct overall (across all test trials) /meanRT_all: mean correct latency (in ms) overall
/ACC_FACE: proportion correct in "FACE" block /ACC_congruent: proportion correct in "congruent" pairings trials (across test blocks) /ACC_incongruent: proportion correct in "incongruent" pairings trials (across test blocks)
/meanRT_FACE: mean correct latency (in ms) in "FACE" block /meanRT_congruent: mean correct latency (in ms) in "congruent" pairings trials (across test blocks) /meanRT_incongruent: mean correct latency (in ms) in "incongruent" pairings trials (across test blocks)
<expressions> /ACC_all = list.accuracy.mean /meanRT_all = list.latencies.mean </expressions>
************************************************************************************************************** ************************************************************************************************************** INSTRUCTIONS ************************************************************************************************************** **************************************************************************************************************
<text intro> / items = instructions / select = 1 / position = (50%, 50%) / fontstyle = ("Arial", 4%, false, false, false, false, 5, 1) / vjustify = center / hjustify = center / size = (90%, 80%) </text>
<text end> / items = instructions / select = 2 / position = (50%, 50%) / fontstyle = ("Arial", 8%, false, false, false, false, 5, 1) / vjustify = center / hjustify = center / size = (90%, 80%) </text>
<text continueButton_intro> / items = continueButtons / select = text.intro.currentitemnumber / position = (50%, 90%) / fontstyle = ("Arial", 3.5%, true, false, false, false, 5, 1) / vjustify = center / hjustify = center / size = (45%, 10%) / txbgcolor = blue </text>
<text continueButton_Pnd> / items = continueButtons / select = text.end.currentitemnumber / position = (50%, 90%) / fontstyle = ("Arial", 3.5%, true, false, false, false, 5, 1) / vjustify = center / hjustify = center / size = (45%, 10%) / txbgcolor = red </text>
*********************** Instruction Trials ***********************
<trial practiceStart> / inputdevice = keyboard / stimulusframes = [1 = intro, continueButton_intro] / validresponse = (" ") / recorddata = false </trial>
<trial finish> / inputdevice = keyboard / skip = [ values.countTestBlocks == 1; ] / stimulusframes = [1 = clearscreen, end, exit] / validresponse = (" ") / recorddata = false </trial>
<trial fixationStart> / stimulusframes = [1 = fixationStart] / trialduration = parameters.fixationStart / validresponse = (0) / recorddata = false </trial>
************************************************************************************************************** ************************************************************************************************************** STIMULI ************************************************************************************************************** **************************************************************************************************************
<picture Pic_practice> /items = item.pics_practice / select = values.selectStim / position = (50%, 50%) / size = (parameters.picsize, parameters.picSize) / erase = false </picture>
************************************************************************************************************** ************************************************************************************************************** LISTS ************************************************************************************************************** **************************************************************************************************************
************************************************* Data Lists: used for descriptive statistics store correct latencies/accuracy data fill up during runtime *************************************************
Note: list stores 1 = correct response; 0 = incorrect response for each relevant trial any response coded as an error is automatically coded as 0 <list accuracy> </list>
Note: list stores the latency of correct responses for each relevant trial <list latencies> </list>
Note: list stores 1 = correct response; 0 = incorrect response for each relevant trial any response coded as an error is automatically coded as 0 <list accuracytest> </list>
************************************************************************************************************** ************************************************************************************************************** TRIALS : practice ************************************************************************************************************** ************************************************************************************************************** <trial practice> / ontrialbegin = [ values.selectStim = list.practice_itemnumbers.nextvalue; ] / stimulusframes = [1 = clearscreen; 2 = Pic_practice;] / response = noresponse / trialduration = 350 </trial>
<trial fixationResp> / inputdevice = keyboard / ontrialbegin = [ values.correctButton = item.correctButton_practice.item(values.selectStim); ] / stimulusframes = [1 = clearscreen; 2 = fixationResp;] / validresponse = (parameters.leftresponsekey, parameters.rightresponsekey) / iscorrectresponse = [ if (values.correctButton == "YESButton") { if (trial.practice.responsetext == values.YESkey) { return true; } else { return false; }; } else { if (trial.practice.responsetext == values.NOkey) { return true; } else { return false; }; }; ] / beginresponsetime = 0 / responseinterrupt = immediate / ontrialend = [ list.accuracy.appendItem(trial.practice.correct); values.ACC_practice = list.accuracy.mean;] / branch = [return trial.ITI;] </trial>
************************************************************************************************************** ************************************************************************************************************** TRIALS : helper trials ************************************************************************************************************** **************************************************************************************************************
<trial ITI> / stimulusframes = [1 = clearscreen]
//touchscreens: present inactive response buttons / validresponse = (parameters.leftresponsekey, parameters.rightresponsekey) / isvalidresponse = [ return(false); ] / recorddata = false / trialduration = parameters.ITI </trial>
************************************************************************************************************** ************************************************************************************************************** BLOCKS ************************************************************************************************************** **************************************************************************************************************
<block practiceIntro> / trials = [1 = practiceStart] </block>
<block fixationStart> / trials = [1 = fixationStart] </block>
<block practice> / onblockbegin = [ list.accuracy.reset(); list.latencies.reset(); values.practiceRuns += 1; ] / trials = [1 - 43 = practice; 2 = fixationResp] </block>
<block finish> / trials = [1 = finish] </block>
************************************************************************************************************** ************************************************************************************************************** EXPERIMENT ************************************************************************************************************** ************************************************************************************************************** <expt> / onexptbegin = [ if (computer.touch && !computer.haskeyboard) { text.continueButton_Pnd.skip = true; text.continueButton_intro.skip = true; };]
/ blocks = [ 1 = practiceIntro; 2 = fixationStart; 3 = practice; 4 = finish; ] </expt>
<monkey> / latencydistribution = normal(50, 20) </monkey>
************************************************************************************************************** End of File **************************************************************************************************************
|
|
|
Dave
|
|
Group: Administrators
Posts: 13K,
Visits: 105K
|
+xHello. I am close to the end but need another couple of tips. The first ones are: - this script is giving me the double of data (86 instead of 44). I do not know why, because I do not see any redundancy according to what I can see. - I'd like to have a perfect correspondance between this raw data columns: stimulus item (Pic_practice), stimulusitem (fixationResp), values.correctButton (YES/NO), response, correct (0/1). I added another stimulusitem in another try, but it's not working. I attach the output to let you watch at it. I really have read and tried different ways according to theory, but apparently there's something I cannot figure out but these two points. Thank you beforehand for this last tips! I ************************************************************************************************************** ************************************************************************************************************** EDITABLE PARAMETERS: change editable parameters here ************************************************************************************************************** **************************************************************************************************************
<parameters> /ITI = 500 /fixationStart = 3000 /picsize = 60% /top_y = 55% /bottom_y = 55% /leftresponsekey = "Z" //lo stampino con la BLU va messo sulla Z /rightresponsekey = "M" //lo stampino con la ROSSO va messo sulla M /spacekey = "BARRA SPAZIATRICE" </parameters>
************************************************************************************************************** ************************************************************************************************************** EDITABLE INSTRUCTIONS: change instructions here ************************************************************************************************************** ************************************************************************************************************** <instruct> / fontstyle = ("Arial", 3%, false, false, false, false, 5, 1) </instruct>
<item instructions> /1 = "Salve. Adesso faremo una piccola prova per farla familiarizzare con il compito. Le compariranno dei volti che possono avere la bocca aperta, oppure chiusa. Le verrà chiesto di premere il tasto BLU se il volto ha le labbra aperte (separate); al contrario, prema il tasto ROSSO se ha le labbra chiuse (unite). Le ricordiamo di premere il più velocemente possibile. Se non risponde, la prova non va avanti."
/2 = "Grazie per la partecipazione. Se vuole possiamo ripetere la prova." </item>
<item continueButtons> /1 = "Prema gentilemente la BARRA SPAZIATRICE per iniziare" /2 = "STOP" </item>
<text YESButton_instruct> / items = ("YES = Prema BLU") / position = (25%, 60%) / fontstyle = ("Arial", 5%, true, false, false, false, 5, 1) / vjustify = center / hjustify = center / size = (45%, 10%) / txcolor = white </text>
<text NOButton_instruct> / items = ("NO = Prema ROSSO") / position = (75%, 60%) / fontstyle = ("Arial", 5%, true, false, false, false, 5, 1) / vjustify = center / hjustify = center / size = (45%, 10%) / txcolor = white </text>
<text fixationStart> / items = ("+") / vposition = 50% / hposition = 50% / fontstyle = ("Arial", 7%, true, false, false, false, 5, 1) / size = (10%, 10%) / txcolor = black / txbgcolor = transparent </text>
<text fixationResp> / items = ("+") / vposition = 50% / hposition = 50% / fontstyle = ("Arial", 7%, true, false, false, false, 5, 1) / size = (10%, 10%) / txcolor = black / txbgcolor = transparent </text>
<text exit> / items = ("<prema la BARRA per uscire>") / fontstyle = ("Arial", 3.5%, false, false, false, false, 5, 1) / position = (50%, 90%) / size = (80%, 5%) / vjustify = center </text>
<expressions> /buttoninstruct1 = if (computer.touch && !computer.haskeyboard) {"response button";} else { "un tasto";} /buttoninstruct2 = if (computer.touch && !computer.haskeyboard) {"button";} else { "un altro tasto";} /buttoninstruct3 = if (computer.touch && !computer.haskeyboard) {"Le chiadiamo di posizionare le dita della mano sinistra e della mano destra sulla tastiera, e di premere un dei tasto per cominciare";} else { "Le chiediamo di posizionare l'indice della mano sinistra e l'indice della mano destra sulla tastiera e premere uno dei due tasti colorati per iniziare.";} </expressions>
************************************************************************************************************** ************************************************************************************************************** EDITABLE STIMULI ************************************************************************************************************** ************************************************************************************************************** ******************************************** practice ********************************************
<list practice_itemnumbers> / items = (1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44) / replace = false / resetinterval = 0 </list>
<item pics_practice> /1= "F11_F20.JPG" /2= "F11_F30.JPG" /3 = "F11_F40.JPG" /4 = "F11_F50.JPG" /5 = "F11_F60.JPG" /6 = "F11_F70.JPG" /7 = "F11_F80.JPG" /8 = "F11_F90.JPG" /9 = "F11_F100.JPG" /10 = "F11_F0.JPG" /11 = "F11_F10.JPG" /12 = "M11_F20.JPG" /13 = "M11_F30.JPG" /14 = "M11_F40.JPG" /15 = "M11_F50.JPG" /16 = "M11_F60.JPG" /17 = "M11_F70.JPG" /18 = "M11_F80.JPG" /19 = "M11_F90.JPG" /20 = "M11_F100.JPG" /21 = "M11_F0.JPG" /22 = "M11_F10.JPG" /23 = "F11_P20.JPG" /24 = "F11_P30.JPG" /25 = "F11_P40.JPG" /26 = "F11_P50.JPG" /27 = "F11_P60.JPG" /28 = "F11_P70.JPG" /29 = "F11_P80.JPG" /30 = "F11_P90.JPG" /31 = "F11_P100.JPG" /32 = "F11_P0.JPG" /33 = "F11_P10.JPG" /34 = "M11_F20.JPG" /35 = "M11_P30.JPG" /36 = "M11_P40.JPG" /37 = "M11_P50.JPG" /38 = "M11_P60.JPG" /39 = "M11_P70.JPG" /40 = "M11_P80.JPG" /41 = "M11_P90.JPG" /42 = "M11_P100.JPG" /43 = "M11_P0.JPG" /44 = "M11_P10.JPG" </item>
<item correctButton_practice> /1 = "YESButton" /2 = "YESButton" /3 = "YESButton" /4 = "YESButton" /5 = "YESButton" /6 = "YESButton" /7 = "YESButton" /8 = "YESButton" /9 = "YESButton" /10 = "NOButton" /11 = "NOButton" /12 = "YESButton" /13 = "YESButton" /14 = "YESButton" /15 = "YESButton" /16 = "YESButton" /17 = "YESButton" /18 = "YESButton" /19 = "YESButton" /20 = "YESButton" /21 = "NOButton" /22 = "NOButton" /23 = "YESButton" /24 = "YESButton" /25 = "YESButton" /26 = "YESButton" /27 = "YESButton" /28 = "YESButton" /29 = "YESButton" /30 = "YESButton" /31 = "YESButton" /32 = "NOButton" /33 = "NOButton" /34 = "YESButton" /35 = "YESButton" /36 = "YESButton" /37 = "YESButton" /38 = "YESButton" /39 = "YESButton" /40 = "YESButton" /41 = "YESButton" /42 = "YESButton" /43 = "NOButton" /44 = "NOButton" </item>
************************************************************************************************************** ************************************************************************************************************** DEFAULTS ************************************************************************************************************** ************************************************************************************************************** script requires Inquisit 6.5.2.0 or higher
<defaults> /canvasaspectratio = (4,3) /minimumversion = "6.5.2.0" /fontstyle = ("Arial", 3%, false, false, false, false, 5, 1) /txbgcolor = transparent /txcolor = black /screencolor = white /inputdevice = keyboard </defaults>
************************************************************************************************************** ************************************************************************************************************** DATA ************************************************************************************************************** **************************************************************************************************************
Note: data file explanations under User Manual Information at the top
To change from one data file per participant to one data file for all participants, set /separatefiles = false
*********************** raw data file *********************** <data> / separatefiles = true / columns = (build, computer.platform, date, time, subject, group, session, blockcode, blocknum, trialcode, trialnum, values.keyAssignment, values.selectStim, stimulusitem, stimulusitem, values.correctButton, response, correct, latency, list.accuracy.mean) </data>
*********************** summary data file *********************** <summarydata> / columns = (inquisit.version, computer.platform, script.startdate, script.starttime, script.subjectid, script.groupid, script.sessionid, script.elapsedtime, script.completed, values.keyAssignment, values.ACC_practice, values.practiceRuns, expressions.ACC_all, expressions.meanRT_all) / separatefiles = true </summarydata>
************************************************************************************************************** ************************************************************************************************************** VALUES: automatically updated ************************************************************************************************************** ************************************************************************************************************** /countTestBlocks: counts number of test blocks /wordposition: 0 = words at the centre of the image /word_y: stores the vertical coordinate of the current word /congruence: 0 = neutral; 1 = incongruent /practice1Runs: counts number of practice1 runs /practice2WRuns: counts number of practice2W runs /practice2FRuns: counts number of practice2F runs /selectFeedback: controls the selection of the feedback text to be presented /skipReadyTrial: 0 = run ready trial; 1 = skip ready trial
<values> /countTestBlocks = 0 /selectStim = 1 /correctButton = "" /practiceRuns = 0 /fixationStart = 0 /fixationResp = 0 /keyAssignment = "leftYES" /spacekey = parameters.spacekey /YESkey = parameters.leftresponsekey /NOkey = parameters.rightresponsekey </values>
/ACC_practice: stores the proportion correct of the current practice run
<values> /ACC_practice = 0 </values>
************************************************************************************************************** ************************************************************************************************************** EXPRESSIONS ************************************************************************************************************** ************************************************************************************************************** /shadowSize: size of shadow text
/ACC_all: proportion correct overall (across all test trials) /meanRT_all: mean correct latency (in ms) overall
/ACC_FACE: proportion correct in "FACE" block /ACC_congruent: proportion correct in "congruent" pairings trials (across test blocks) /ACC_incongruent: proportion correct in "incongruent" pairings trials (across test blocks)
/meanRT_FACE: mean correct latency (in ms) in "FACE" block /meanRT_congruent: mean correct latency (in ms) in "congruent" pairings trials (across test blocks) /meanRT_incongruent: mean correct latency (in ms) in "incongruent" pairings trials (across test blocks)
<expressions> /ACC_all = list.accuracy.mean /meanRT_all = list.latencies.mean </expressions>
************************************************************************************************************** ************************************************************************************************************** INSTRUCTIONS ************************************************************************************************************** **************************************************************************************************************
<text intro> / items = instructions / select = 1 / position = (50%, 50%) / fontstyle = ("Arial", 4%, false, false, false, false, 5, 1) / vjustify = center / hjustify = center / size = (90%, 80%) </text>
<text end> / items = instructions / select = 2 / position = (50%, 50%) / fontstyle = ("Arial", 8%, false, false, false, false, 5, 1) / vjustify = center / hjustify = center / size = (90%, 80%) </text>
<text continueButton_intro> / items = continueButtons / select = text.intro.currentitemnumber / position = (50%, 90%) / fontstyle = ("Arial", 3.5%, true, false, false, false, 5, 1) / vjustify = center / hjustify = center / size = (45%, 10%) / txbgcolor = blue </text>
<text continueButton_Pnd> / items = continueButtons / select = text.end.currentitemnumber / position = (50%, 90%) / fontstyle = ("Arial", 3.5%, true, false, false, false, 5, 1) / vjustify = center / hjustify = center / size = (45%, 10%) / txbgcolor = red </text>
*********************** Instruction Trials ***********************
<trial practiceStart> / inputdevice = keyboard / stimulusframes = [1 = intro, continueButton_intro] / validresponse = (" ") / recorddata = false </trial>
<trial finish> / inputdevice = keyboard / skip = [ values.countTestBlocks == 1; ] / stimulusframes = [1 = clearscreen, end, exit] / validresponse = (" ") / recorddata = false </trial>
<trial fixationStart> / stimulusframes = [1 = fixationStart] / trialduration = parameters.fixationStart / validresponse = (0) / recorddata = false </trial>
************************************************************************************************************** ************************************************************************************************************** STIMULI ************************************************************************************************************** **************************************************************************************************************
<picture Pic_practice> /items = item.pics_practice / select = values.selectStim / position = (50%, 50%) / size = (parameters.picsize, parameters.picSize) / erase = false </picture>
************************************************************************************************************** ************************************************************************************************************** LISTS ************************************************************************************************************** **************************************************************************************************************
************************************************* Data Lists: used for descriptive statistics store correct latencies/accuracy data fill up during runtime *************************************************
Note: list stores 1 = correct response; 0 = incorrect response for each relevant trial any response coded as an error is automatically coded as 0 <list accuracy> </list>
Note: list stores the latency of correct responses for each relevant trial <list latencies> </list>
Note: list stores 1 = correct response; 0 = incorrect response for each relevant trial any response coded as an error is automatically coded as 0 <list accuracytest> </list>
************************************************************************************************************** ************************************************************************************************************** TRIALS : practice ************************************************************************************************************** ************************************************************************************************************** <trial practice> / ontrialbegin = [ values.selectStim = list.practice_itemnumbers.nextvalue; ] / stimulusframes = [1 = clearscreen; 2 = Pic_practice;] / response = noresponse / trialduration = 350 </trial>
<trial fixationResp> / inputdevice = keyboard / ontrialbegin = [ values.correctButton = item.correctButton_practice.item(values.selectStim); ] / stimulusframes = [1 = clearscreen; 2 = fixationResp;] / validresponse = (parameters.leftresponsekey, parameters.rightresponsekey) / iscorrectresponse = [ if (values.correctButton == "YESButton") { if (trial.practice.responsetext == values.YESkey) { return true; } else { return false; }; } else { if (trial.practice.responsetext == values.NOkey) { return true; } else { return false; }; }; ] / beginresponsetime = 0 / responseinterrupt = immediate / ontrialend = [ list.accuracy.appendItem(trial.practice.correct); values.ACC_practice = list.accuracy.mean;] / branch = [return trial.ITI;] </trial>
************************************************************************************************************** ************************************************************************************************************** TRIALS : helper trials ************************************************************************************************************** **************************************************************************************************************
<trial ITI> / stimulusframes = [1 = clearscreen]
//touchscreens: present inactive response buttons / validresponse = (parameters.leftresponsekey, parameters.rightresponsekey) / isvalidresponse = [ return(false); ] / recorddata = false / trialduration = parameters.ITI </trial>
************************************************************************************************************** ************************************************************************************************************** BLOCKS ************************************************************************************************************** **************************************************************************************************************
<block practiceIntro> / trials = [1 = practiceStart] </block>
<block fixationStart> / trials = [1 = fixationStart] </block>
<block practice> / onblockbegin = [ list.accuracy.reset(); list.latencies.reset(); values.practiceRuns += 1; ] / trials = [1 - 43 = practice; 2 = fixationResp] </block>
<block finish> / trials = [1 = finish] </block>
************************************************************************************************************** ************************************************************************************************************** EXPERIMENT ************************************************************************************************************** ************************************************************************************************************** <expt> / onexptbegin = [ if (computer.touch && !computer.haskeyboard) { text.continueButton_Pnd.skip = true; text.continueButton_intro.skip = true; };]
/ blocks = [ 1 = practiceIntro; 2 = fixationStart; 3 = practice; 4 = finish; ] </expt>
<monkey> / latencydistribution = normal(50, 20) </monkey>
************************************************************************************************************** End of File ************************************************************************************************************** / trials = [1 - 43 = practice; 2 = fixationResp] What is this supposed to do? It makes no sense. If you want to run 43 practice trials, and the as the final 44th trial one instance of fixationResp, you ought to do / trials = [1 - 43 = practice; 44 = fixationResp] I have no idea what you are talking about in terms of "perfect correspondence." Explain that in terms that others can understand, please
|
|
|
Igor Iarrobino
|
|
Group: Forum Members
Posts: 34,
Visits: 88
|
+x+xHello. I am close to the end but need another couple of tips. The first ones are: - this script is giving me the double of data (86 instead of 44). I do not know why, because I do not see any redundancy according to what I can see. - I'd like to have a perfect correspondance between this raw data columns: stimulus item (Pic_practice), stimulusitem (fixationResp), values.correctButton (YES/NO), response, correct (0/1). I added another stimulusitem in another try, but it's not working. I attach the output to let you watch at it. I really have read and tried different ways according to theory, but apparently there's something I cannot figure out but these two points. Thank you beforehand for this last tips! I ************************************************************************************************************** ************************************************************************************************************** EDITABLE PARAMETERS: change editable parameters here ************************************************************************************************************** **************************************************************************************************************
<parameters> /ITI = 500 /fixationStart = 3000 /picsize = 60% /top_y = 55% /bottom_y = 55% /leftresponsekey = "Z" //lo stampino con la BLU va messo sulla Z /rightresponsekey = "M" //lo stampino con la ROSSO va messo sulla M /spacekey = "BARRA SPAZIATRICE" </parameters>
************************************************************************************************************** ************************************************************************************************************** EDITABLE INSTRUCTIONS: change instructions here ************************************************************************************************************** ************************************************************************************************************** <instruct> / fontstyle = ("Arial", 3%, false, false, false, false, 5, 1) </instruct>
<item instructions> /1 = "Salve. Adesso faremo una piccola prova per farla familiarizzare con il compito. Le compariranno dei volti che possono avere la bocca aperta, oppure chiusa. Le verrà chiesto di premere il tasto BLU se il volto ha le labbra aperte (separate); al contrario, prema il tasto ROSSO se ha le labbra chiuse (unite). Le ricordiamo di premere il più velocemente possibile. Se non risponde, la prova non va avanti."
/2 = "Grazie per la partecipazione. Se vuole possiamo ripetere la prova." </item>
<item continueButtons> /1 = "Prema gentilemente la BARRA SPAZIATRICE per iniziare" /2 = "STOP" </item>
<text YESButton_instruct> / items = ("YES = Prema BLU") / position = (25%, 60%) / fontstyle = ("Arial", 5%, true, false, false, false, 5, 1) / vjustify = center / hjustify = center / size = (45%, 10%) / txcolor = white </text>
<text NOButton_instruct> / items = ("NO = Prema ROSSO") / position = (75%, 60%) / fontstyle = ("Arial", 5%, true, false, false, false, 5, 1) / vjustify = center / hjustify = center / size = (45%, 10%) / txcolor = white </text>
<text fixationStart> / items = ("+") / vposition = 50% / hposition = 50% / fontstyle = ("Arial", 7%, true, false, false, false, 5, 1) / size = (10%, 10%) / txcolor = black / txbgcolor = transparent </text>
<text fixationResp> / items = ("+") / vposition = 50% / hposition = 50% / fontstyle = ("Arial", 7%, true, false, false, false, 5, 1) / size = (10%, 10%) / txcolor = black / txbgcolor = transparent </text>
<text exit> / items = ("<prema la BARRA per uscire>") / fontstyle = ("Arial", 3.5%, false, false, false, false, 5, 1) / position = (50%, 90%) / size = (80%, 5%) / vjustify = center </text>
<expressions> /buttoninstruct1 = if (computer.touch && !computer.haskeyboard) {"response button";} else { "un tasto";} /buttoninstruct2 = if (computer.touch && !computer.haskeyboard) {"button";} else { "un altro tasto";} /buttoninstruct3 = if (computer.touch && !computer.haskeyboard) {"Le chiadiamo di posizionare le dita della mano sinistra e della mano destra sulla tastiera, e di premere un dei tasto per cominciare";} else { "Le chiediamo di posizionare l'indice della mano sinistra e l'indice della mano destra sulla tastiera e premere uno dei due tasti colorati per iniziare.";} </expressions>
************************************************************************************************************** ************************************************************************************************************** EDITABLE STIMULI ************************************************************************************************************** ************************************************************************************************************** ******************************************** practice ********************************************
<list practice_itemnumbers> / items = (1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44) / replace = false / resetinterval = 0 </list>
<item pics_practice> /1= "F11_F20.JPG" /2= "F11_F30.JPG" /3 = "F11_F40.JPG" /4 = "F11_F50.JPG" /5 = "F11_F60.JPG" /6 = "F11_F70.JPG" /7 = "F11_F80.JPG" /8 = "F11_F90.JPG" /9 = "F11_F100.JPG" /10 = "F11_F0.JPG" /11 = "F11_F10.JPG" /12 = "M11_F20.JPG" /13 = "M11_F30.JPG" /14 = "M11_F40.JPG" /15 = "M11_F50.JPG" /16 = "M11_F60.JPG" /17 = "M11_F70.JPG" /18 = "M11_F80.JPG" /19 = "M11_F90.JPG" /20 = "M11_F100.JPG" /21 = "M11_F0.JPG" /22 = "M11_F10.JPG" /23 = "F11_P20.JPG" /24 = "F11_P30.JPG" /25 = "F11_P40.JPG" /26 = "F11_P50.JPG" /27 = "F11_P60.JPG" /28 = "F11_P70.JPG" /29 = "F11_P80.JPG" /30 = "F11_P90.JPG" /31 = "F11_P100.JPG" /32 = "F11_P0.JPG" /33 = "F11_P10.JPG" /34 = "M11_F20.JPG" /35 = "M11_P30.JPG" /36 = "M11_P40.JPG" /37 = "M11_P50.JPG" /38 = "M11_P60.JPG" /39 = "M11_P70.JPG" /40 = "M11_P80.JPG" /41 = "M11_P90.JPG" /42 = "M11_P100.JPG" /43 = "M11_P0.JPG" /44 = "M11_P10.JPG" </item>
<item correctButton_practice> /1 = "YESButton" /2 = "YESButton" /3 = "YESButton" /4 = "YESButton" /5 = "YESButton" /6 = "YESButton" /7 = "YESButton" /8 = "YESButton" /9 = "YESButton" /10 = "NOButton" /11 = "NOButton" /12 = "YESButton" /13 = "YESButton" /14 = "YESButton" /15 = "YESButton" /16 = "YESButton" /17 = "YESButton" /18 = "YESButton" /19 = "YESButton" /20 = "YESButton" /21 = "NOButton" /22 = "NOButton" /23 = "YESButton" /24 = "YESButton" /25 = "YESButton" /26 = "YESButton" /27 = "YESButton" /28 = "YESButton" /29 = "YESButton" /30 = "YESButton" /31 = "YESButton" /32 = "NOButton" /33 = "NOButton" /34 = "YESButton" /35 = "YESButton" /36 = "YESButton" /37 = "YESButton" /38 = "YESButton" /39 = "YESButton" /40 = "YESButton" /41 = "YESButton" /42 = "YESButton" /43 = "NOButton" /44 = "NOButton" </item>
************************************************************************************************************** ************************************************************************************************************** DEFAULTS ************************************************************************************************************** ************************************************************************************************************** script requires Inquisit 6.5.2.0 or higher
<defaults> /canvasaspectratio = (4,3) /minimumversion = "6.5.2.0" /fontstyle = ("Arial", 3%, false, false, false, false, 5, 1) /txbgcolor = transparent /txcolor = black /screencolor = white /inputdevice = keyboard </defaults>
************************************************************************************************************** ************************************************************************************************************** DATA ************************************************************************************************************** **************************************************************************************************************
Note: data file explanations under User Manual Information at the top
To change from one data file per participant to one data file for all participants, set /separatefiles = false
*********************** raw data file *********************** <data> / separatefiles = true / columns = (build, computer.platform, date, time, subject, group, session, blockcode, blocknum, trialcode, trialnum, values.keyAssignment, values.selectStim, stimulusitem, stimulusitem, values.correctButton, response, correct, latency, list.accuracy.mean) </data>
*********************** summary data file *********************** <summarydata> / columns = (inquisit.version, computer.platform, script.startdate, script.starttime, script.subjectid, script.groupid, script.sessionid, script.elapsedtime, script.completed, values.keyAssignment, values.ACC_practice, values.practiceRuns, expressions.ACC_all, expressions.meanRT_all) / separatefiles = true </summarydata>
************************************************************************************************************** ************************************************************************************************************** VALUES: automatically updated ************************************************************************************************************** ************************************************************************************************************** /countTestBlocks: counts number of test blocks /wordposition: 0 = words at the centre of the image /word_y: stores the vertical coordinate of the current word /congruence: 0 = neutral; 1 = incongruent /practice1Runs: counts number of practice1 runs /practice2WRuns: counts number of practice2W runs /practice2FRuns: counts number of practice2F runs /selectFeedback: controls the selection of the feedback text to be presented /skipReadyTrial: 0 = run ready trial; 1 = skip ready trial
<values> /countTestBlocks = 0 /selectStim = 1 /correctButton = "" /practiceRuns = 0 /fixationStart = 0 /fixationResp = 0 /keyAssignment = "leftYES" /spacekey = parameters.spacekey /YESkey = parameters.leftresponsekey /NOkey = parameters.rightresponsekey </values>
/ACC_practice: stores the proportion correct of the current practice run
<values> /ACC_practice = 0 </values>
************************************************************************************************************** ************************************************************************************************************** EXPRESSIONS ************************************************************************************************************** ************************************************************************************************************** /shadowSize: size of shadow text
/ACC_all: proportion correct overall (across all test trials) /meanRT_all: mean correct latency (in ms) overall
/ACC_FACE: proportion correct in "FACE" block /ACC_congruent: proportion correct in "congruent" pairings trials (across test blocks) /ACC_incongruent: proportion correct in "incongruent" pairings trials (across test blocks)
/meanRT_FACE: mean correct latency (in ms) in "FACE" block /meanRT_congruent: mean correct latency (in ms) in "congruent" pairings trials (across test blocks) /meanRT_incongruent: mean correct latency (in ms) in "incongruent" pairings trials (across test blocks)
<expressions> /ACC_all = list.accuracy.mean /meanRT_all = list.latencies.mean </expressions>
************************************************************************************************************** ************************************************************************************************************** INSTRUCTIONS ************************************************************************************************************** **************************************************************************************************************
<text intro> / items = instructions / select = 1 / position = (50%, 50%) / fontstyle = ("Arial", 4%, false, false, false, false, 5, 1) / vjustify = center / hjustify = center / size = (90%, 80%) </text>
<text end> / items = instructions / select = 2 / position = (50%, 50%) / fontstyle = ("Arial", 8%, false, false, false, false, 5, 1) / vjustify = center / hjustify = center / size = (90%, 80%) </text>
<text continueButton_intro> / items = continueButtons / select = text.intro.currentitemnumber / position = (50%, 90%) / fontstyle = ("Arial", 3.5%, true, false, false, false, 5, 1) / vjustify = center / hjustify = center / size = (45%, 10%) / txbgcolor = blue </text>
<text continueButton_Pnd> / items = continueButtons / select = text.end.currentitemnumber / position = (50%, 90%) / fontstyle = ("Arial", 3.5%, true, false, false, false, 5, 1) / vjustify = center / hjustify = center / size = (45%, 10%) / txbgcolor = red </text>
*********************** Instruction Trials ***********************
<trial practiceStart> / inputdevice = keyboard / stimulusframes = [1 = intro, continueButton_intro] / validresponse = (" ") / recorddata = false </trial>
<trial finish> / inputdevice = keyboard / skip = [ values.countTestBlocks == 1; ] / stimulusframes = [1 = clearscreen, end, exit] / validresponse = (" ") / recorddata = false </trial>
<trial fixationStart> / stimulusframes = [1 = fixationStart] / trialduration = parameters.fixationStart / validresponse = (0) / recorddata = false </trial>
************************************************************************************************************** ************************************************************************************************************** STIMULI ************************************************************************************************************** **************************************************************************************************************
<picture Pic_practice> /items = item.pics_practice / select = values.selectStim / position = (50%, 50%) / size = (parameters.picsize, parameters.picSize) / erase = false </picture>
************************************************************************************************************** ************************************************************************************************************** LISTS ************************************************************************************************************** **************************************************************************************************************
************************************************* Data Lists: used for descriptive statistics store correct latencies/accuracy data fill up during runtime *************************************************
Note: list stores 1 = correct response; 0 = incorrect response for each relevant trial any response coded as an error is automatically coded as 0 <list accuracy> </list>
Note: list stores the latency of correct responses for each relevant trial <list latencies> </list>
Note: list stores 1 = correct response; 0 = incorrect response for each relevant trial any response coded as an error is automatically coded as 0 <list accuracytest> </list>
************************************************************************************************************** ************************************************************************************************************** TRIALS : practice ************************************************************************************************************** ************************************************************************************************************** <trial practice> / ontrialbegin = [ values.selectStim = list.practice_itemnumbers.nextvalue; ] / stimulusframes = [1 = clearscreen; 2 = Pic_practice;] / response = noresponse / trialduration = 350 </trial>
<trial fixationResp> / inputdevice = keyboard / ontrialbegin = [ values.correctButton = item.correctButton_practice.item(values.selectStim); ] / stimulusframes = [1 = clearscreen; 2 = fixationResp;] / validresponse = (parameters.leftresponsekey, parameters.rightresponsekey) / iscorrectresponse = [ if (values.correctButton == "YESButton") { if (trial.practice.responsetext == values.YESkey) { return true; } else { return false; }; } else { if (trial.practice.responsetext == values.NOkey) { return true; } else { return false; }; }; ] / beginresponsetime = 0 / responseinterrupt = immediate / ontrialend = [ list.accuracy.appendItem(trial.practice.correct); values.ACC_practice = list.accuracy.mean;] / branch = [return trial.ITI;] </trial>
************************************************************************************************************** ************************************************************************************************************** TRIALS : helper trials ************************************************************************************************************** **************************************************************************************************************
<trial ITI> / stimulusframes = [1 = clearscreen]
//touchscreens: present inactive response buttons / validresponse = (parameters.leftresponsekey, parameters.rightresponsekey) / isvalidresponse = [ return(false); ] / recorddata = false / trialduration = parameters.ITI </trial>
************************************************************************************************************** ************************************************************************************************************** BLOCKS ************************************************************************************************************** **************************************************************************************************************
<block practiceIntro> / trials = [1 = practiceStart] </block>
<block fixationStart> / trials = [1 = fixationStart] </block>
<block practice> / onblockbegin = [ list.accuracy.reset(); list.latencies.reset(); values.practiceRuns += 1; ] / trials = [1 - 43 = practice; 2 = fixationResp] </block>
<block finish> / trials = [1 = finish] </block>
************************************************************************************************************** ************************************************************************************************************** EXPERIMENT ************************************************************************************************************** ************************************************************************************************************** <expt> / onexptbegin = [ if (computer.touch && !computer.haskeyboard) { text.continueButton_Pnd.skip = true; text.continueButton_intro.skip = true; };]
/ blocks = [ 1 = practiceIntro; 2 = fixationStart; 3 = practice; 4 = finish; ] </expt>
<monkey> / latencydistribution = normal(50, 20) </monkey>
************************************************************************************************************** End of File ************************************************************************************************************** / trials = [1 - 43 = practice; 2 = fixationResp] What is this supposed to do? It makes no sense. If you want to run 43 practice trials, and the as the final 44th trial one instance of fixationResp, you ought to do / trials = [1 - 43 = practice; 44 = fixationResp] I have no idea what you are talking about in terms of "perfect correspondence." Explain that in terms that others can understand, please I do not want to do have 43 trials practice and 1 final fixationResp trial. What I want it's to have practice (video presentation) and fixationResp always coupled, because fixationresp is the fixation time window response for any prascticevideo. I make it this way but I just have the problem that the number of stimuli presented is doubled. For the second issue, I have four columns: stimulus item (Pic_practice), stimulusitem (fixationResp), values.correctButton (YES/NO), response, correct (0/1). As you can see the output is quite messy as for these columns. Pic_practice should have should have its video stimuli, fixationResp its fxation cross, and correct button should be aligned with video stimuli or both. Then the actual response and correct should give me corresponding results. I don't know how to arrange these columns properly though. Thank you.
|
|
|
Dave
|
|
Group: Administrators
Posts: 13K,
Visits: 105K
|
+x+x+xHello. I am close to the end but need another couple of tips. The first ones are: - this script is giving me the double of data (86 instead of 44). I do not know why, because I do not see any redundancy according to what I can see. - I'd like to have a perfect correspondance between this raw data columns: stimulus item (Pic_practice), stimulusitem (fixationResp), values.correctButton (YES/NO), response, correct (0/1). I added another stimulusitem in another try, but it's not working. I attach the output to let you watch at it. I really have read and tried different ways according to theory, but apparently there's something I cannot figure out but these two points. Thank you beforehand for this last tips! I ************************************************************************************************************** ************************************************************************************************************** EDITABLE PARAMETERS: change editable parameters here ************************************************************************************************************** **************************************************************************************************************
<parameters> /ITI = 500 /fixationStart = 3000 /picsize = 60% /top_y = 55% /bottom_y = 55% /leftresponsekey = "Z" //lo stampino con la BLU va messo sulla Z /rightresponsekey = "M" //lo stampino con la ROSSO va messo sulla M /spacekey = "BARRA SPAZIATRICE" </parameters>
************************************************************************************************************** ************************************************************************************************************** EDITABLE INSTRUCTIONS: change instructions here ************************************************************************************************************** ************************************************************************************************************** <instruct> / fontstyle = ("Arial", 3%, false, false, false, false, 5, 1) </instruct>
<item instructions> /1 = "Salve. Adesso faremo una piccola prova per farla familiarizzare con il compito. Le compariranno dei volti che possono avere la bocca aperta, oppure chiusa. Le verrà chiesto di premere il tasto BLU se il volto ha le labbra aperte (separate); al contrario, prema il tasto ROSSO se ha le labbra chiuse (unite). Le ricordiamo di premere il più velocemente possibile. Se non risponde, la prova non va avanti."
/2 = "Grazie per la partecipazione. Se vuole possiamo ripetere la prova." </item>
<item continueButtons> /1 = "Prema gentilemente la BARRA SPAZIATRICE per iniziare" /2 = "STOP" </item>
<text YESButton_instruct> / items = ("YES = Prema BLU") / position = (25%, 60%) / fontstyle = ("Arial", 5%, true, false, false, false, 5, 1) / vjustify = center / hjustify = center / size = (45%, 10%) / txcolor = white </text>
<text NOButton_instruct> / items = ("NO = Prema ROSSO") / position = (75%, 60%) / fontstyle = ("Arial", 5%, true, false, false, false, 5, 1) / vjustify = center / hjustify = center / size = (45%, 10%) / txcolor = white </text>
<text fixationStart> / items = ("+") / vposition = 50% / hposition = 50% / fontstyle = ("Arial", 7%, true, false, false, false, 5, 1) / size = (10%, 10%) / txcolor = black / txbgcolor = transparent </text>
<text fixationResp> / items = ("+") / vposition = 50% / hposition = 50% / fontstyle = ("Arial", 7%, true, false, false, false, 5, 1) / size = (10%, 10%) / txcolor = black / txbgcolor = transparent </text>
<text exit> / items = ("<prema la BARRA per uscire>") / fontstyle = ("Arial", 3.5%, false, false, false, false, 5, 1) / position = (50%, 90%) / size = (80%, 5%) / vjustify = center </text>
<expressions> /buttoninstruct1 = if (computer.touch && !computer.haskeyboard) {"response button";} else { "un tasto";} /buttoninstruct2 = if (computer.touch && !computer.haskeyboard) {"button";} else { "un altro tasto";} /buttoninstruct3 = if (computer.touch && !computer.haskeyboard) {"Le chiadiamo di posizionare le dita della mano sinistra e della mano destra sulla tastiera, e di premere un dei tasto per cominciare";} else { "Le chiediamo di posizionare l'indice della mano sinistra e l'indice della mano destra sulla tastiera e premere uno dei due tasti colorati per iniziare.";} </expressions>
************************************************************************************************************** ************************************************************************************************************** EDITABLE STIMULI ************************************************************************************************************** ************************************************************************************************************** ******************************************** practice ********************************************
<list practice_itemnumbers> / items = (1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44) / replace = false / resetinterval = 0 </list>
<item pics_practice> /1= "F11_F20.JPG" /2= "F11_F30.JPG" /3 = "F11_F40.JPG" /4 = "F11_F50.JPG" /5 = "F11_F60.JPG" /6 = "F11_F70.JPG" /7 = "F11_F80.JPG" /8 = "F11_F90.JPG" /9 = "F11_F100.JPG" /10 = "F11_F0.JPG" /11 = "F11_F10.JPG" /12 = "M11_F20.JPG" /13 = "M11_F30.JPG" /14 = "M11_F40.JPG" /15 = "M11_F50.JPG" /16 = "M11_F60.JPG" /17 = "M11_F70.JPG" /18 = "M11_F80.JPG" /19 = "M11_F90.JPG" /20 = "M11_F100.JPG" /21 = "M11_F0.JPG" /22 = "M11_F10.JPG" /23 = "F11_P20.JPG" /24 = "F11_P30.JPG" /25 = "F11_P40.JPG" /26 = "F11_P50.JPG" /27 = "F11_P60.JPG" /28 = "F11_P70.JPG" /29 = "F11_P80.JPG" /30 = "F11_P90.JPG" /31 = "F11_P100.JPG" /32 = "F11_P0.JPG" /33 = "F11_P10.JPG" /34 = "M11_F20.JPG" /35 = "M11_P30.JPG" /36 = "M11_P40.JPG" /37 = "M11_P50.JPG" /38 = "M11_P60.JPG" /39 = "M11_P70.JPG" /40 = "M11_P80.JPG" /41 = "M11_P90.JPG" /42 = "M11_P100.JPG" /43 = "M11_P0.JPG" /44 = "M11_P10.JPG" </item>
<item correctButton_practice> /1 = "YESButton" /2 = "YESButton" /3 = "YESButton" /4 = "YESButton" /5 = "YESButton" /6 = "YESButton" /7 = "YESButton" /8 = "YESButton" /9 = "YESButton" /10 = "NOButton" /11 = "NOButton" /12 = "YESButton" /13 = "YESButton" /14 = "YESButton" /15 = "YESButton" /16 = "YESButton" /17 = "YESButton" /18 = "YESButton" /19 = "YESButton" /20 = "YESButton" /21 = "NOButton" /22 = "NOButton" /23 = "YESButton" /24 = "YESButton" /25 = "YESButton" /26 = "YESButton" /27 = "YESButton" /28 = "YESButton" /29 = "YESButton" /30 = "YESButton" /31 = "YESButton" /32 = "NOButton" /33 = "NOButton" /34 = "YESButton" /35 = "YESButton" /36 = "YESButton" /37 = "YESButton" /38 = "YESButton" /39 = "YESButton" /40 = "YESButton" /41 = "YESButton" /42 = "YESButton" /43 = "NOButton" /44 = "NOButton" </item>
************************************************************************************************************** ************************************************************************************************************** DEFAULTS ************************************************************************************************************** ************************************************************************************************************** script requires Inquisit 6.5.2.0 or higher
<defaults> /canvasaspectratio = (4,3) /minimumversion = "6.5.2.0" /fontstyle = ("Arial", 3%, false, false, false, false, 5, 1) /txbgcolor = transparent /txcolor = black /screencolor = white /inputdevice = keyboard </defaults>
************************************************************************************************************** ************************************************************************************************************** DATA ************************************************************************************************************** **************************************************************************************************************
Note: data file explanations under User Manual Information at the top
To change from one data file per participant to one data file for all participants, set /separatefiles = false
*********************** raw data file *********************** <data> / separatefiles = true / columns = (build, computer.platform, date, time, subject, group, session, blockcode, blocknum, trialcode, trialnum, values.keyAssignment, values.selectStim, stimulusitem, stimulusitem, values.correctButton, response, correct, latency, list.accuracy.mean) </data>
*********************** summary data file *********************** <summarydata> / columns = (inquisit.version, computer.platform, script.startdate, script.starttime, script.subjectid, script.groupid, script.sessionid, script.elapsedtime, script.completed, values.keyAssignment, values.ACC_practice, values.practiceRuns, expressions.ACC_all, expressions.meanRT_all) / separatefiles = true </summarydata>
************************************************************************************************************** ************************************************************************************************************** VALUES: automatically updated ************************************************************************************************************** ************************************************************************************************************** /countTestBlocks: counts number of test blocks /wordposition: 0 = words at the centre of the image /word_y: stores the vertical coordinate of the current word /congruence: 0 = neutral; 1 = incongruent /practice1Runs: counts number of practice1 runs /practice2WRuns: counts number of practice2W runs /practice2FRuns: counts number of practice2F runs /selectFeedback: controls the selection of the feedback text to be presented /skipReadyTrial: 0 = run ready trial; 1 = skip ready trial
<values> /countTestBlocks = 0 /selectStim = 1 /correctButton = "" /practiceRuns = 0 /fixationStart = 0 /fixationResp = 0 /keyAssignment = "leftYES" /spacekey = parameters.spacekey /YESkey = parameters.leftresponsekey /NOkey = parameters.rightresponsekey </values>
/ACC_practice: stores the proportion correct of the current practice run
<values> /ACC_practice = 0 </values>
************************************************************************************************************** ************************************************************************************************************** EXPRESSIONS ************************************************************************************************************** ************************************************************************************************************** /shadowSize: size of shadow text
/ACC_all: proportion correct overall (across all test trials) /meanRT_all: mean correct latency (in ms) overall
/ACC_FACE: proportion correct in "FACE" block /ACC_congruent: proportion correct in "congruent" pairings trials (across test blocks) /ACC_incongruent: proportion correct in "incongruent" pairings trials (across test blocks)
/meanRT_FACE: mean correct latency (in ms) in "FACE" block /meanRT_congruent: mean correct latency (in ms) in "congruent" pairings trials (across test blocks) /meanRT_incongruent: mean correct latency (in ms) in "incongruent" pairings trials (across test blocks)
<expressions> /ACC_all = list.accuracy.mean /meanRT_all = list.latencies.mean </expressions>
************************************************************************************************************** ************************************************************************************************************** INSTRUCTIONS ************************************************************************************************************** **************************************************************************************************************
<text intro> / items = instructions / select = 1 / position = (50%, 50%) / fontstyle = ("Arial", 4%, false, false, false, false, 5, 1) / vjustify = center / hjustify = center / size = (90%, 80%) </text>
<text end> / items = instructions / select = 2 / position = (50%, 50%) / fontstyle = ("Arial", 8%, false, false, false, false, 5, 1) / vjustify = center / hjustify = center / size = (90%, 80%) </text>
<text continueButton_intro> / items = continueButtons / select = text.intro.currentitemnumber / position = (50%, 90%) / fontstyle = ("Arial", 3.5%, true, false, false, false, 5, 1) / vjustify = center / hjustify = center / size = (45%, 10%) / txbgcolor = blue </text>
<text continueButton_Pnd> / items = continueButtons / select = text.end.currentitemnumber / position = (50%, 90%) / fontstyle = ("Arial", 3.5%, true, false, false, false, 5, 1) / vjustify = center / hjustify = center / size = (45%, 10%) / txbgcolor = red </text>
*********************** Instruction Trials ***********************
<trial practiceStart> / inputdevice = keyboard / stimulusframes = [1 = intro, continueButton_intro] / validresponse = (" ") / recorddata = false </trial>
<trial finish> / inputdevice = keyboard / skip = [ values.countTestBlocks == 1; ] / stimulusframes = [1 = clearscreen, end, exit] / validresponse = (" ") / recorddata = false </trial>
<trial fixationStart> / stimulusframes = [1 = fixationStart] / trialduration = parameters.fixationStart / validresponse = (0) / recorddata = false </trial>
************************************************************************************************************** ************************************************************************************************************** STIMULI ************************************************************************************************************** **************************************************************************************************************
<picture Pic_practice> /items = item.pics_practice / select = values.selectStim / position = (50%, 50%) / size = (parameters.picsize, parameters.picSize) / erase = false </picture>
************************************************************************************************************** ************************************************************************************************************** LISTS ************************************************************************************************************** **************************************************************************************************************
************************************************* Data Lists: used for descriptive statistics store correct latencies/accuracy data fill up during runtime *************************************************
Note: list stores 1 = correct response; 0 = incorrect response for each relevant trial any response coded as an error is automatically coded as 0 <list accuracy> </list>
Note: list stores the latency of correct responses for each relevant trial <list latencies> </list>
Note: list stores 1 = correct response; 0 = incorrect response for each relevant trial any response coded as an error is automatically coded as 0 <list accuracytest> </list>
************************************************************************************************************** ************************************************************************************************************** TRIALS : practice ************************************************************************************************************** ************************************************************************************************************** <trial practice> / ontrialbegin = [ values.selectStim = list.practice_itemnumbers.nextvalue; ] / stimulusframes = [1 = clearscreen; 2 = Pic_practice;] / response = noresponse / trialduration = 350 </trial>
<trial fixationResp> / inputdevice = keyboard / ontrialbegin = [ values.correctButton = item.correctButton_practice.item(values.selectStim); ] / stimulusframes = [1 = clearscreen; 2 = fixationResp;] / validresponse = (parameters.leftresponsekey, parameters.rightresponsekey) / iscorrectresponse = [ if (values.correctButton == "YESButton") { if (trial.practice.responsetext == values.YESkey) { return true; } else { return false; }; } else { if (trial.practice.responsetext == values.NOkey) { return true; } else { return false; }; }; ] / beginresponsetime = 0 / responseinterrupt = immediate / ontrialend = [ list.accuracy.appendItem(trial.practice.correct); values.ACC_practice = list.accuracy.mean;] / branch = [return trial.ITI;] </trial>
************************************************************************************************************** ************************************************************************************************************** TRIALS : helper trials ************************************************************************************************************** **************************************************************************************************************
<trial ITI> / stimulusframes = [1 = clearscreen]
//touchscreens: present inactive response buttons / validresponse = (parameters.leftresponsekey, parameters.rightresponsekey) / isvalidresponse = [ return(false); ] / recorddata = false / trialduration = parameters.ITI </trial>
************************************************************************************************************** ************************************************************************************************************** BLOCKS ************************************************************************************************************** **************************************************************************************************************
<block practiceIntro> / trials = [1 = practiceStart] </block>
<block fixationStart> / trials = [1 = fixationStart] </block>
<block practice> / onblockbegin = [ list.accuracy.reset(); list.latencies.reset(); values.practiceRuns += 1; ] / trials = [1 - 43 = practice; 2 = fixationResp] </block>
<block finish> / trials = [1 = finish] </block>
************************************************************************************************************** ************************************************************************************************************** EXPERIMENT ************************************************************************************************************** ************************************************************************************************************** <expt> / onexptbegin = [ if (computer.touch && !computer.haskeyboard) { text.continueButton_Pnd.skip = true; text.continueButton_intro.skip = true; };]
/ blocks = [ 1 = practiceIntro; 2 = fixationStart; 3 = practice; 4 = finish; ] </expt>
<monkey> / latencydistribution = normal(50, 20) </monkey>
************************************************************************************************************** End of File ************************************************************************************************************** / trials = [1 - 43 = practice; 2 = fixationResp] What is this supposed to do? It makes no sense. If you want to run 43 practice trials, and the as the final 44th trial one instance of fixationResp, you ought to do / trials = [1 - 43 = practice; 44 = fixationResp] I have no idea what you are talking about in terms of "perfect correspondence." Explain that in terms that others can understand, please I do not want to do have 43 trials practice and 1 final fixationResp trial. What I want it's to have practice (video presentation) and fixationResp always coupled, because fixationresp is the fixation time window response for any prascticevideo. I make it this way but I just have the problem that the number of stimuli presented is doubled. For the second issue, I have four columns: stimulus item (Pic_practice), stimulusitem (fixationResp), values.correctButton (YES/NO), response, correct (0/1). As you can see the output is quite messy as for these columns. Pic_practice should have should have its video stimuli, fixationResp its fxation cross, and correct button should be aligned with video stimuli or both. Then the actual response and correct should give me corresponding results. I don't know how to arrange these columns properly though. Thank you. > What I want it's to have practice (video presentation) and fixationResp always coupled Then that's / trials = [1 - 43 = sequence(practice, fixationResp)] I still have no idea what you're talking about regarding the output. The first stimulusitem column captures the item of the first stimulus displayed by any trial. For <trial fixationStart> / stimulusframes = [1 = fixationStart] ... </rial> that's the fixationStart stimulus. For <trial practice> ... / stimulusframes = [1 = clearscreen; 2 = Pic_practice;] ... </trial that's the clearscreen, i.e. blank. For <trial fixationResp> ... / stimulusframes = [1 = clearscreen; 2 = fixationResp;] ... </trial> it's also the clearscreen. The 2nd stimulusitem column captures the item of the 2nd stimulus displayed by any trial. That's Pic_practice for <trial practice> and fixationResp for <trial fixationResp>. All of that is explained in the documentation, which I linked you to. Please read and understand it.
|
|
|
Igor Iarrobino
|
|
Group: Forum Members
Posts: 34,
Visits: 88
|
+x+x+x+xHello. I am close to the end but need another couple of tips. The first ones are: - this script is giving me the double of data (86 instead of 44). I do not know why, because I do not see any redundancy according to what I can see. - I'd like to have a perfect correspondance between this raw data columns: stimulus item (Pic_practice), stimulusitem (fixationResp), values.correctButton (YES/NO), response, correct (0/1). I added another stimulusitem in another try, but it's not working. I attach the output to let you watch at it. I really have read and tried different ways according to theory, but apparently there's something I cannot figure out but these two points. Thank you beforehand for this last tips! I ************************************************************************************************************** ************************************************************************************************************** EDITABLE PARAMETERS: change editable parameters here ************************************************************************************************************** **************************************************************************************************************
<parameters> /ITI = 500 /fixationStart = 3000 /picsize = 60% /top_y = 55% /bottom_y = 55% /leftresponsekey = "Z" //lo stampino con la BLU va messo sulla Z /rightresponsekey = "M" //lo stampino con la ROSSO va messo sulla M /spacekey = "BARRA SPAZIATRICE" </parameters>
************************************************************************************************************** ************************************************************************************************************** EDITABLE INSTRUCTIONS: change instructions here ************************************************************************************************************** ************************************************************************************************************** <instruct> / fontstyle = ("Arial", 3%, false, false, false, false, 5, 1) </instruct>
<item instructions> /1 = "Salve. Adesso faremo una piccola prova per farla familiarizzare con il compito. Le compariranno dei volti che possono avere la bocca aperta, oppure chiusa. Le verrà chiesto di premere il tasto BLU se il volto ha le labbra aperte (separate); al contrario, prema il tasto ROSSO se ha le labbra chiuse (unite). Le ricordiamo di premere il più velocemente possibile. Se non risponde, la prova non va avanti."
/2 = "Grazie per la partecipazione. Se vuole possiamo ripetere la prova." </item>
<item continueButtons> /1 = "Prema gentilemente la BARRA SPAZIATRICE per iniziare" /2 = "STOP" </item>
<text YESButton_instruct> / items = ("YES = Prema BLU") / position = (25%, 60%) / fontstyle = ("Arial", 5%, true, false, false, false, 5, 1) / vjustify = center / hjustify = center / size = (45%, 10%) / txcolor = white </text>
<text NOButton_instruct> / items = ("NO = Prema ROSSO") / position = (75%, 60%) / fontstyle = ("Arial", 5%, true, false, false, false, 5, 1) / vjustify = center / hjustify = center / size = (45%, 10%) / txcolor = white </text>
<text fixationStart> / items = ("+") / vposition = 50% / hposition = 50% / fontstyle = ("Arial", 7%, true, false, false, false, 5, 1) / size = (10%, 10%) / txcolor = black / txbgcolor = transparent </text>
<text fixationResp> / items = ("+") / vposition = 50% / hposition = 50% / fontstyle = ("Arial", 7%, true, false, false, false, 5, 1) / size = (10%, 10%) / txcolor = black / txbgcolor = transparent </text>
<text exit> / items = ("<prema la BARRA per uscire>") / fontstyle = ("Arial", 3.5%, false, false, false, false, 5, 1) / position = (50%, 90%) / size = (80%, 5%) / vjustify = center </text>
<expressions> /buttoninstruct1 = if (computer.touch && !computer.haskeyboard) {"response button";} else { "un tasto";} /buttoninstruct2 = if (computer.touch && !computer.haskeyboard) {"button";} else { "un altro tasto";} /buttoninstruct3 = if (computer.touch && !computer.haskeyboard) {"Le chiadiamo di posizionare le dita della mano sinistra e della mano destra sulla tastiera, e di premere un dei tasto per cominciare";} else { "Le chiediamo di posizionare l'indice della mano sinistra e l'indice della mano destra sulla tastiera e premere uno dei due tasti colorati per iniziare.";} </expressions>
************************************************************************************************************** ************************************************************************************************************** EDITABLE STIMULI ************************************************************************************************************** ************************************************************************************************************** ******************************************** practice ********************************************
<list practice_itemnumbers> / items = (1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44) / replace = false / resetinterval = 0 </list>
<item pics_practice> /1= "F11_F20.JPG" /2= "F11_F30.JPG" /3 = "F11_F40.JPG" /4 = "F11_F50.JPG" /5 = "F11_F60.JPG" /6 = "F11_F70.JPG" /7 = "F11_F80.JPG" /8 = "F11_F90.JPG" /9 = "F11_F100.JPG" /10 = "F11_F0.JPG" /11 = "F11_F10.JPG" /12 = "M11_F20.JPG" /13 = "M11_F30.JPG" /14 = "M11_F40.JPG" /15 = "M11_F50.JPG" /16 = "M11_F60.JPG" /17 = "M11_F70.JPG" /18 = "M11_F80.JPG" /19 = "M11_F90.JPG" /20 = "M11_F100.JPG" /21 = "M11_F0.JPG" /22 = "M11_F10.JPG" /23 = "F11_P20.JPG" /24 = "F11_P30.JPG" /25 = "F11_P40.JPG" /26 = "F11_P50.JPG" /27 = "F11_P60.JPG" /28 = "F11_P70.JPG" /29 = "F11_P80.JPG" /30 = "F11_P90.JPG" /31 = "F11_P100.JPG" /32 = "F11_P0.JPG" /33 = "F11_P10.JPG" /34 = "M11_F20.JPG" /35 = "M11_P30.JPG" /36 = "M11_P40.JPG" /37 = "M11_P50.JPG" /38 = "M11_P60.JPG" /39 = "M11_P70.JPG" /40 = "M11_P80.JPG" /41 = "M11_P90.JPG" /42 = "M11_P100.JPG" /43 = "M11_P0.JPG" /44 = "M11_P10.JPG" </item>
<item correctButton_practice> /1 = "YESButton" /2 = "YESButton" /3 = "YESButton" /4 = "YESButton" /5 = "YESButton" /6 = "YESButton" /7 = "YESButton" /8 = "YESButton" /9 = "YESButton" /10 = "NOButton" /11 = "NOButton" /12 = "YESButton" /13 = "YESButton" /14 = "YESButton" /15 = "YESButton" /16 = "YESButton" /17 = "YESButton" /18 = "YESButton" /19 = "YESButton" /20 = "YESButton" /21 = "NOButton" /22 = "NOButton" /23 = "YESButton" /24 = "YESButton" /25 = "YESButton" /26 = "YESButton" /27 = "YESButton" /28 = "YESButton" /29 = "YESButton" /30 = "YESButton" /31 = "YESButton" /32 = "NOButton" /33 = "NOButton" /34 = "YESButton" /35 = "YESButton" /36 = "YESButton" /37 = "YESButton" /38 = "YESButton" /39 = "YESButton" /40 = "YESButton" /41 = "YESButton" /42 = "YESButton" /43 = "NOButton" /44 = "NOButton" </item>
************************************************************************************************************** ************************************************************************************************************** DEFAULTS ************************************************************************************************************** ************************************************************************************************************** script requires Inquisit 6.5.2.0 or higher
<defaults> /canvasaspectratio = (4,3) /minimumversion = "6.5.2.0" /fontstyle = ("Arial", 3%, false, false, false, false, 5, 1) /txbgcolor = transparent /txcolor = black /screencolor = white /inputdevice = keyboard </defaults>
************************************************************************************************************** ************************************************************************************************************** DATA ************************************************************************************************************** **************************************************************************************************************
Note: data file explanations under User Manual Information at the top
To change from one data file per participant to one data file for all participants, set /separatefiles = false
*********************** raw data file *********************** <data> / separatefiles = true / columns = (build, computer.platform, date, time, subject, group, session, blockcode, blocknum, trialcode, trialnum, values.keyAssignment, values.selectStim, stimulusitem, stimulusitem, values.correctButton, response, correct, latency, list.accuracy.mean) </data>
*********************** summary data file *********************** <summarydata> / columns = (inquisit.version, computer.platform, script.startdate, script.starttime, script.subjectid, script.groupid, script.sessionid, script.elapsedtime, script.completed, values.keyAssignment, values.ACC_practice, values.practiceRuns, expressions.ACC_all, expressions.meanRT_all) / separatefiles = true </summarydata>
************************************************************************************************************** ************************************************************************************************************** VALUES: automatically updated ************************************************************************************************************** ************************************************************************************************************** /countTestBlocks: counts number of test blocks /wordposition: 0 = words at the centre of the image /word_y: stores the vertical coordinate of the current word /congruence: 0 = neutral; 1 = incongruent /practice1Runs: counts number of practice1 runs /practice2WRuns: counts number of practice2W runs /practice2FRuns: counts number of practice2F runs /selectFeedback: controls the selection of the feedback text to be presented /skipReadyTrial: 0 = run ready trial; 1 = skip ready trial
<values> /countTestBlocks = 0 /selectStim = 1 /correctButton = "" /practiceRuns = 0 /fixationStart = 0 /fixationResp = 0 /keyAssignment = "leftYES" /spacekey = parameters.spacekey /YESkey = parameters.leftresponsekey /NOkey = parameters.rightresponsekey </values>
/ACC_practice: stores the proportion correct of the current practice run
<values> /ACC_practice = 0 </values>
************************************************************************************************************** ************************************************************************************************************** EXPRESSIONS ************************************************************************************************************** ************************************************************************************************************** /shadowSize: size of shadow text
/ACC_all: proportion correct overall (across all test trials) /meanRT_all: mean correct latency (in ms) overall
/ACC_FACE: proportion correct in "FACE" block /ACC_congruent: proportion correct in "congruent" pairings trials (across test blocks) /ACC_incongruent: proportion correct in "incongruent" pairings trials (across test blocks)
/meanRT_FACE: mean correct latency (in ms) in "FACE" block /meanRT_congruent: mean correct latency (in ms) in "congruent" pairings trials (across test blocks) /meanRT_incongruent: mean correct latency (in ms) in "incongruent" pairings trials (across test blocks)
<expressions> /ACC_all = list.accuracy.mean /meanRT_all = list.latencies.mean </expressions>
************************************************************************************************************** ************************************************************************************************************** INSTRUCTIONS ************************************************************************************************************** **************************************************************************************************************
<text intro> / items = instructions / select = 1 / position = (50%, 50%) / fontstyle = ("Arial", 4%, false, false, false, false, 5, 1) / vjustify = center / hjustify = center / size = (90%, 80%) </text>
<text end> / items = instructions / select = 2 / position = (50%, 50%) / fontstyle = ("Arial", 8%, false, false, false, false, 5, 1) / vjustify = center / hjustify = center / size = (90%, 80%) </text>
<text continueButton_intro> / items = continueButtons / select = text.intro.currentitemnumber / position = (50%, 90%) / fontstyle = ("Arial", 3.5%, true, false, false, false, 5, 1) / vjustify = center / hjustify = center / size = (45%, 10%) / txbgcolor = blue </text>
<text continueButton_Pnd> / items = continueButtons / select = text.end.currentitemnumber / position = (50%, 90%) / fontstyle = ("Arial", 3.5%, true, false, false, false, 5, 1) / vjustify = center / hjustify = center / size = (45%, 10%) / txbgcolor = red </text>
*********************** Instruction Trials ***********************
<trial practiceStart> / inputdevice = keyboard / stimulusframes = [1 = intro, continueButton_intro] / validresponse = (" ") / recorddata = false </trial>
<trial finish> / inputdevice = keyboard / skip = [ values.countTestBlocks == 1; ] / stimulusframes = [1 = clearscreen, end, exit] / validresponse = (" ") / recorddata = false </trial>
<trial fixationStart> / stimulusframes = [1 = fixationStart] / trialduration = parameters.fixationStart / validresponse = (0) / recorddata = false </trial>
************************************************************************************************************** ************************************************************************************************************** STIMULI ************************************************************************************************************** **************************************************************************************************************
<picture Pic_practice> /items = item.pics_practice / select = values.selectStim / position = (50%, 50%) / size = (parameters.picsize, parameters.picSize) / erase = false </picture>
************************************************************************************************************** ************************************************************************************************************** LISTS ************************************************************************************************************** **************************************************************************************************************
************************************************* Data Lists: used for descriptive statistics store correct latencies/accuracy data fill up during runtime *************************************************
Note: list stores 1 = correct response; 0 = incorrect response for each relevant trial any response coded as an error is automatically coded as 0 <list accuracy> </list>
Note: list stores the latency of correct responses for each relevant trial <list latencies> </list>
Note: list stores 1 = correct response; 0 = incorrect response for each relevant trial any response coded as an error is automatically coded as 0 <list accuracytest> </list>
************************************************************************************************************** ************************************************************************************************************** TRIALS : practice ************************************************************************************************************** ************************************************************************************************************** <trial practice> / ontrialbegin = [ values.selectStim = list.practice_itemnumbers.nextvalue; ] / stimulusframes = [1 = clearscreen; 2 = Pic_practice;] / response = noresponse / trialduration = 350 </trial>
<trial fixationResp> / inputdevice = keyboard / ontrialbegin = [ values.correctButton = item.correctButton_practice.item(values.selectStim); ] / stimulusframes = [1 = clearscreen; 2 = fixationResp;] / validresponse = (parameters.leftresponsekey, parameters.rightresponsekey) / iscorrectresponse = [ if (values.correctButton == "YESButton") { if (trial.practice.responsetext == values.YESkey) { return true; } else { return false; }; } else { if (trial.practice.responsetext == values.NOkey) { return true; } else { return false; }; }; ] / beginresponsetime = 0 / responseinterrupt = immediate / ontrialend = [ list.accuracy.appendItem(trial.practice.correct); values.ACC_practice = list.accuracy.mean;] / branch = [return trial.ITI;] </trial>
************************************************************************************************************** ************************************************************************************************************** TRIALS : helper trials ************************************************************************************************************** **************************************************************************************************************
<trial ITI> / stimulusframes = [1 = clearscreen]
//touchscreens: present inactive response buttons / validresponse = (parameters.leftresponsekey, parameters.rightresponsekey) / isvalidresponse = [ return(false); ] / recorddata = false / trialduration = parameters.ITI </trial>
************************************************************************************************************** ************************************************************************************************************** BLOCKS ************************************************************************************************************** **************************************************************************************************************
<block practiceIntro> / trials = [1 = practiceStart] </block>
<block fixationStart> / trials = [1 = fixationStart] </block>
<block practice> / onblockbegin = [ list.accuracy.reset(); list.latencies.reset(); values.practiceRuns += 1; ] / trials = [1 - 43 = practice; 2 = fixationResp] </block>
<block finish> / trials = [1 = finish] </block>
************************************************************************************************************** ************************************************************************************************************** EXPERIMENT ************************************************************************************************************** ************************************************************************************************************** <expt> / onexptbegin = [ if (computer.touch && !computer.haskeyboard) { text.continueButton_Pnd.skip = true; text.continueButton_intro.skip = true; };]
/ blocks = [ 1 = practiceIntro; 2 = fixationStart; 3 = practice; 4 = finish; ] </expt>
<monkey> / latencydistribution = normal(50, 20) </monkey>
************************************************************************************************************** End of File ************************************************************************************************************** / trials = [1 - 43 = practice; 2 = fixationResp] What is this supposed to do? It makes no sense. If you want to run 43 practice trials, and the as the final 44th trial one instance of fixationResp, you ought to do / trials = [1 - 43 = practice; 44 = fixationResp] I have no idea what you are talking about in terms of "perfect correspondence." Explain that in terms that others can understand, please I do not want to do have 43 trials practice and 1 final fixationResp trial. What I want it's to have practice (video presentation) and fixationResp always coupled, because fixationresp is the fixation time window response for any prascticevideo. I make it this way but I just have the problem that the number of stimuli presented is doubled. For the second issue, I have four columns: stimulus item (Pic_practice), stimulusitem (fixationResp), values.correctButton (YES/NO), response, correct (0/1). As you can see the output is quite messy as for these columns. Pic_practice should have should have its video stimuli, fixationResp its fxation cross, and correct button should be aligned with video stimuli or both. Then the actual response and correct should give me corresponding results. I don't know how to arrange these columns properly though. Thank you. > What I want it's to have practice (video presentation) and fixationResp always coupled Then that's / trials = [1 - 43 = sequence(practice, fixationResp)] I still have no idea what you're talking about regarding the output. The first stimulusitem column captures the item of the first stimulus displayed by any trial. For <trial fixationStart> / stimulusframes = [1 = fixationStart] ... </rial> that's the fixationStart stimulus. For <trial practice> ... / stimulusframes = [1 = clearscreen; 2 = Pic_practice;] ... </trial that's the clearscreen, i.e. blank. For <trial fixationResp> ... / stimulusframes = [1 = clearscreen; 2 = fixationResp;] ... </trial> it's also the clearscreen. The 2nd stimulusitem column captures the item of the 2nd stimulus displayed by any trial. That's Pic_practice for <trial practice> and fixationResp for <trial fixationResp>. All of that is explained in the documentation, which I linked you to. Please read and understand it. I got it all before. and I read! But the matter of fact is different. I'd just like to have 1 column for 'Pic_practice', one for 'fixationResp'; but even if I cannot have this ideal state, the real problem should be the 'correct response' columns, because it is not truly coupled with the right stimulus. This is giving me a 'correct' column that is always 0, that is not the case. The right stimulus to be coupled should be the 'fixationResp', because I record the response in this trial. Perhaps, I should make another list of stimuli with as much fixation crosses as the stimuli? I'd rather find a shorter way, if possible. Eventually, it could be also a matter of assigning something specific to that column! I might use 'data element' maybe, but I'm not used to it and I'm not understanding well how to overcome the issue.
|
|
|
Dave
|
|
Group: Administrators
Posts: 13K,
Visits: 105K
|
+x+x+x+x+xHello. I am close to the end but need another couple of tips. The first ones are: - this script is giving me the double of data (86 instead of 44). I do not know why, because I do not see any redundancy according to what I can see. - I'd like to have a perfect correspondance between this raw data columns: stimulus item (Pic_practice), stimulusitem (fixationResp), values.correctButton (YES/NO), response, correct (0/1). I added another stimulusitem in another try, but it's not working. I attach the output to let you watch at it. I really have read and tried different ways according to theory, but apparently there's something I cannot figure out but these two points. Thank you beforehand for this last tips! I ************************************************************************************************************** ************************************************************************************************************** EDITABLE PARAMETERS: change editable parameters here ************************************************************************************************************** **************************************************************************************************************
<parameters> /ITI = 500 /fixationStart = 3000 /picsize = 60% /top_y = 55% /bottom_y = 55% /leftresponsekey = "Z" //lo stampino con la BLU va messo sulla Z /rightresponsekey = "M" //lo stampino con la ROSSO va messo sulla M /spacekey = "BARRA SPAZIATRICE" </parameters>
************************************************************************************************************** ************************************************************************************************************** EDITABLE INSTRUCTIONS: change instructions here ************************************************************************************************************** ************************************************************************************************************** <instruct> / fontstyle = ("Arial", 3%, false, false, false, false, 5, 1) </instruct>
<item instructions> /1 = "Salve. Adesso faremo una piccola prova per farla familiarizzare con il compito. Le compariranno dei volti che possono avere la bocca aperta, oppure chiusa. Le verrà chiesto di premere il tasto BLU se il volto ha le labbra aperte (separate); al contrario, prema il tasto ROSSO se ha le labbra chiuse (unite). Le ricordiamo di premere il più velocemente possibile. Se non risponde, la prova non va avanti."
/2 = "Grazie per la partecipazione. Se vuole possiamo ripetere la prova." </item>
<item continueButtons> /1 = "Prema gentilemente la BARRA SPAZIATRICE per iniziare" /2 = "STOP" </item>
<text YESButton_instruct> / items = ("YES = Prema BLU") / position = (25%, 60%) / fontstyle = ("Arial", 5%, true, false, false, false, 5, 1) / vjustify = center / hjustify = center / size = (45%, 10%) / txcolor = white </text>
<text NOButton_instruct> / items = ("NO = Prema ROSSO") / position = (75%, 60%) / fontstyle = ("Arial", 5%, true, false, false, false, 5, 1) / vjustify = center / hjustify = center / size = (45%, 10%) / txcolor = white </text>
<text fixationStart> / items = ("+") / vposition = 50% / hposition = 50% / fontstyle = ("Arial", 7%, true, false, false, false, 5, 1) / size = (10%, 10%) / txcolor = black / txbgcolor = transparent </text>
<text fixationResp> / items = ("+") / vposition = 50% / hposition = 50% / fontstyle = ("Arial", 7%, true, false, false, false, 5, 1) / size = (10%, 10%) / txcolor = black / txbgcolor = transparent </text>
<text exit> / items = ("<prema la BARRA per uscire>") / fontstyle = ("Arial", 3.5%, false, false, false, false, 5, 1) / position = (50%, 90%) / size = (80%, 5%) / vjustify = center </text>
<expressions> /buttoninstruct1 = if (computer.touch && !computer.haskeyboard) {"response button";} else { "un tasto";} /buttoninstruct2 = if (computer.touch && !computer.haskeyboard) {"button";} else { "un altro tasto";} /buttoninstruct3 = if (computer.touch && !computer.haskeyboard) {"Le chiadiamo di posizionare le dita della mano sinistra e della mano destra sulla tastiera, e di premere un dei tasto per cominciare";} else { "Le chiediamo di posizionare l'indice della mano sinistra e l'indice della mano destra sulla tastiera e premere uno dei due tasti colorati per iniziare.";} </expressions>
************************************************************************************************************** ************************************************************************************************************** EDITABLE STIMULI ************************************************************************************************************** ************************************************************************************************************** ******************************************** practice ********************************************
<list practice_itemnumbers> / items = (1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44) / replace = false / resetinterval = 0 </list>
<item pics_practice> /1= "F11_F20.JPG" /2= "F11_F30.JPG" /3 = "F11_F40.JPG" /4 = "F11_F50.JPG" /5 = "F11_F60.JPG" /6 = "F11_F70.JPG" /7 = "F11_F80.JPG" /8 = "F11_F90.JPG" /9 = "F11_F100.JPG" /10 = "F11_F0.JPG" /11 = "F11_F10.JPG" /12 = "M11_F20.JPG" /13 = "M11_F30.JPG" /14 = "M11_F40.JPG" /15 = "M11_F50.JPG" /16 = "M11_F60.JPG" /17 = "M11_F70.JPG" /18 = "M11_F80.JPG" /19 = "M11_F90.JPG" /20 = "M11_F100.JPG" /21 = "M11_F0.JPG" /22 = "M11_F10.JPG" /23 = "F11_P20.JPG" /24 = "F11_P30.JPG" /25 = "F11_P40.JPG" /26 = "F11_P50.JPG" /27 = "F11_P60.JPG" /28 = "F11_P70.JPG" /29 = "F11_P80.JPG" /30 = "F11_P90.JPG" /31 = "F11_P100.JPG" /32 = "F11_P0.JPG" /33 = "F11_P10.JPG" /34 = "M11_F20.JPG" /35 = "M11_P30.JPG" /36 = "M11_P40.JPG" /37 = "M11_P50.JPG" /38 = "M11_P60.JPG" /39 = "M11_P70.JPG" /40 = "M11_P80.JPG" /41 = "M11_P90.JPG" /42 = "M11_P100.JPG" /43 = "M11_P0.JPG" /44 = "M11_P10.JPG" </item>
<item correctButton_practice> /1 = "YESButton" /2 = "YESButton" /3 = "YESButton" /4 = "YESButton" /5 = "YESButton" /6 = "YESButton" /7 = "YESButton" /8 = "YESButton" /9 = "YESButton" /10 = "NOButton" /11 = "NOButton" /12 = "YESButton" /13 = "YESButton" /14 = "YESButton" /15 = "YESButton" /16 = "YESButton" /17 = "YESButton" /18 = "YESButton" /19 = "YESButton" /20 = "YESButton" /21 = "NOButton" /22 = "NOButton" /23 = "YESButton" /24 = "YESButton" /25 = "YESButton" /26 = "YESButton" /27 = "YESButton" /28 = "YESButton" /29 = "YESButton" /30 = "YESButton" /31 = "YESButton" /32 = "NOButton" /33 = "NOButton" /34 = "YESButton" /35 = "YESButton" /36 = "YESButton" /37 = "YESButton" /38 = "YESButton" /39 = "YESButton" /40 = "YESButton" /41 = "YESButton" /42 = "YESButton" /43 = "NOButton" /44 = "NOButton" </item>
************************************************************************************************************** ************************************************************************************************************** DEFAULTS ************************************************************************************************************** ************************************************************************************************************** script requires Inquisit 6.5.2.0 or higher
<defaults> /canvasaspectratio = (4,3) /minimumversion = "6.5.2.0" /fontstyle = ("Arial", 3%, false, false, false, false, 5, 1) /txbgcolor = transparent /txcolor = black /screencolor = white /inputdevice = keyboard </defaults>
************************************************************************************************************** ************************************************************************************************************** DATA ************************************************************************************************************** **************************************************************************************************************
Note: data file explanations under User Manual Information at the top
To change from one data file per participant to one data file for all participants, set /separatefiles = false
*********************** raw data file *********************** <data> / separatefiles = true / columns = (build, computer.platform, date, time, subject, group, session, blockcode, blocknum, trialcode, trialnum, values.keyAssignment, values.selectStim, stimulusitem, stimulusitem, values.correctButton, response, correct, latency, list.accuracy.mean) </data>
*********************** summary data file *********************** <summarydata> / columns = (inquisit.version, computer.platform, script.startdate, script.starttime, script.subjectid, script.groupid, script.sessionid, script.elapsedtime, script.completed, values.keyAssignment, values.ACC_practice, values.practiceRuns, expressions.ACC_all, expressions.meanRT_all) / separatefiles = true </summarydata>
************************************************************************************************************** ************************************************************************************************************** VALUES: automatically updated ************************************************************************************************************** ************************************************************************************************************** /countTestBlocks: counts number of test blocks /wordposition: 0 = words at the centre of the image /word_y: stores the vertical coordinate of the current word /congruence: 0 = neutral; 1 = incongruent /practice1Runs: counts number of practice1 runs /practice2WRuns: counts number of practice2W runs /practice2FRuns: counts number of practice2F runs /selectFeedback: controls the selection of the feedback text to be presented /skipReadyTrial: 0 = run ready trial; 1 = skip ready trial
<values> /countTestBlocks = 0 /selectStim = 1 /correctButton = "" /practiceRuns = 0 /fixationStart = 0 /fixationResp = 0 /keyAssignment = "leftYES" /spacekey = parameters.spacekey /YESkey = parameters.leftresponsekey /NOkey = parameters.rightresponsekey </values>
/ACC_practice: stores the proportion correct of the current practice run
<values> /ACC_practice = 0 </values>
************************************************************************************************************** ************************************************************************************************************** EXPRESSIONS ************************************************************************************************************** ************************************************************************************************************** /shadowSize: size of shadow text
/ACC_all: proportion correct overall (across all test trials) /meanRT_all: mean correct latency (in ms) overall
/ACC_FACE: proportion correct in "FACE" block /ACC_congruent: proportion correct in "congruent" pairings trials (across test blocks) /ACC_incongruent: proportion correct in "incongruent" pairings trials (across test blocks)
/meanRT_FACE: mean correct latency (in ms) in "FACE" block /meanRT_congruent: mean correct latency (in ms) in "congruent" pairings trials (across test blocks) /meanRT_incongruent: mean correct latency (in ms) in "incongruent" pairings trials (across test blocks)
<expressions> /ACC_all = list.accuracy.mean /meanRT_all = list.latencies.mean </expressions>
************************************************************************************************************** ************************************************************************************************************** INSTRUCTIONS ************************************************************************************************************** **************************************************************************************************************
<text intro> / items = instructions / select = 1 / position = (50%, 50%) / fontstyle = ("Arial", 4%, false, false, false, false, 5, 1) / vjustify = center / hjustify = center / size = (90%, 80%) </text>
<text end> / items = instructions / select = 2 / position = (50%, 50%) / fontstyle = ("Arial", 8%, false, false, false, false, 5, 1) / vjustify = center / hjustify = center / size = (90%, 80%) </text>
<text continueButton_intro> / items = continueButtons / select = text.intro.currentitemnumber / position = (50%, 90%) / fontstyle = ("Arial", 3.5%, true, false, false, false, 5, 1) / vjustify = center / hjustify = center / size = (45%, 10%) / txbgcolor = blue </text>
<text continueButton_Pnd> / items = continueButtons / select = text.end.currentitemnumber / position = (50%, 90%) / fontstyle = ("Arial", 3.5%, true, false, false, false, 5, 1) / vjustify = center / hjustify = center / size = (45%, 10%) / txbgcolor = red </text>
*********************** Instruction Trials ***********************
<trial practiceStart> / inputdevice = keyboard / stimulusframes = [1 = intro, continueButton_intro] / validresponse = (" ") / recorddata = false </trial>
<trial finish> / inputdevice = keyboard / skip = [ values.countTestBlocks == 1; ] / stimulusframes = [1 = clearscreen, end, exit] / validresponse = (" ") / recorddata = false </trial>
<trial fixationStart> / stimulusframes = [1 = fixationStart] / trialduration = parameters.fixationStart / validresponse = (0) / recorddata = false </trial>
************************************************************************************************************** ************************************************************************************************************** STIMULI ************************************************************************************************************** **************************************************************************************************************
<picture Pic_practice> /items = item.pics_practice / select = values.selectStim / position = (50%, 50%) / size = (parameters.picsize, parameters.picSize) / erase = false </picture>
************************************************************************************************************** ************************************************************************************************************** LISTS ************************************************************************************************************** **************************************************************************************************************
************************************************* Data Lists: used for descriptive statistics store correct latencies/accuracy data fill up during runtime *************************************************
Note: list stores 1 = correct response; 0 = incorrect response for each relevant trial any response coded as an error is automatically coded as 0 <list accuracy> </list>
Note: list stores the latency of correct responses for each relevant trial <list latencies> </list>
Note: list stores 1 = correct response; 0 = incorrect response for each relevant trial any response coded as an error is automatically coded as 0 <list accuracytest> </list>
************************************************************************************************************** ************************************************************************************************************** TRIALS : practice ************************************************************************************************************** ************************************************************************************************************** <trial practice> / ontrialbegin = [ values.selectStim = list.practice_itemnumbers.nextvalue; ] / stimulusframes = [1 = clearscreen; 2 = Pic_practice;] / response = noresponse / trialduration = 350 </trial>
<trial fixationResp> / inputdevice = keyboard / ontrialbegin = [ values.correctButton = item.correctButton_practice.item(values.selectStim); ] / stimulusframes = [1 = clearscreen; 2 = fixationResp;] / validresponse = (parameters.leftresponsekey, parameters.rightresponsekey) / iscorrectresponse = [ if (values.correctButton == "YESButton") { if (trial.practice.responsetext == values.YESkey) { return true; } else { return false; }; } else { if (trial.practice.responsetext == values.NOkey) { return true; } else { return false; }; }; ] / beginresponsetime = 0 / responseinterrupt = immediate / ontrialend = [ list.accuracy.appendItem(trial.practice.correct); values.ACC_practice = list.accuracy.mean;] / branch = [return trial.ITI;] </trial>
************************************************************************************************************** ************************************************************************************************************** TRIALS : helper trials ************************************************************************************************************** **************************************************************************************************************
<trial ITI> / stimulusframes = [1 = clearscreen]
//touchscreens: present inactive response buttons / validresponse = (parameters.leftresponsekey, parameters.rightresponsekey) / isvalidresponse = [ return(false); ] / recorddata = false / trialduration = parameters.ITI </trial>
************************************************************************************************************** ************************************************************************************************************** BLOCKS ************************************************************************************************************** **************************************************************************************************************
<block practiceIntro> / trials = [1 = practiceStart] </block>
<block fixationStart> / trials = [1 = fixationStart] </block>
<block practice> / onblockbegin = [ list.accuracy.reset(); list.latencies.reset(); values.practiceRuns += 1; ] / trials = [1 - 43 = practice; 2 = fixationResp] </block>
<block finish> / trials = [1 = finish] </block>
************************************************************************************************************** ************************************************************************************************************** EXPERIMENT ************************************************************************************************************** ************************************************************************************************************** <expt> / onexptbegin = [ if (computer.touch && !computer.haskeyboard) { text.continueButton_Pnd.skip = true; text.continueButton_intro.skip = true; };]
/ blocks = [ 1 = practiceIntro; 2 = fixationStart; 3 = practice; 4 = finish; ] </expt>
<monkey> / latencydistribution = normal(50, 20) </monkey>
************************************************************************************************************** End of File ************************************************************************************************************** / trials = [1 - 43 = practice; 2 = fixationResp] What is this supposed to do? It makes no sense. If you want to run 43 practice trials, and the as the final 44th trial one instance of fixationResp, you ought to do / trials = [1 - 43 = practice; 44 = fixationResp] I have no idea what you are talking about in terms of "perfect correspondence." Explain that in terms that others can understand, please I do not want to do have 43 trials practice and 1 final fixationResp trial. What I want it's to have practice (video presentation) and fixationResp always coupled, because fixationresp is the fixation time window response for any prascticevideo. I make it this way but I just have the problem that the number of stimuli presented is doubled. For the second issue, I have four columns: stimulus item (Pic_practice), stimulusitem (fixationResp), values.correctButton (YES/NO), response, correct (0/1). As you can see the output is quite messy as for these columns. Pic_practice should have should have its video stimuli, fixationResp its fxation cross, and correct button should be aligned with video stimuli or both. Then the actual response and correct should give me corresponding results. I don't know how to arrange these columns properly though. Thank you. > What I want it's to have practice (video presentation) and fixationResp always coupled Then that's / trials = [1 - 43 = sequence(practice, fixationResp)] I still have no idea what you're talking about regarding the output. The first stimulusitem column captures the item of the first stimulus displayed by any trial. For <trial fixationStart> / stimulusframes = [1 = fixationStart] ... </rial> that's the fixationStart stimulus. For <trial practice> ... / stimulusframes = [1 = clearscreen; 2 = Pic_practice;] ... </trial that's the clearscreen, i.e. blank. For <trial fixationResp> ... / stimulusframes = [1 = clearscreen; 2 = fixationResp;] ... </trial> it's also the clearscreen. The 2nd stimulusitem column captures the item of the 2nd stimulus displayed by any trial. That's Pic_practice for <trial practice> and fixationResp for <trial fixationResp>. All of that is explained in the documentation, which I linked you to. Please read and understand it. I got it all before. and I read! But the matter of fact is different. I'd just like to have 1 column for 'Pic_practice', one for 'fixationResp'; but even if I cannot have this ideal state, the real problem should be the 'correct response' columns, because it is not truly coupled with the right stimulus. This is giving me a 'correct' column that is always 0, that is not the case. The right stimulus to be coupled should be the 'fixationResp', because I record the response in this trial. Perhaps, I should make another list of stimuli with as much fixation crosses as the stimuli? I'd rather find a shorter way, if possible. Eventually, it could be also a matter of assigning something specific to that column! I might use 'data element' maybe, but I'm not used to it and I'm not understanding well how to overcome the issue. That's an entirely different problem and caused by the fact that your /iscorrectresponse logic in <trial fixationResp> is complete nonsense. <trial fixationResp> / inputdevice = keyboard / ontrialbegin = [ values.correctButton = item.correctButton_practice.item(values.selectStim); ] / stimulusframes = [1 = clearscreen; 2 = fixationResp;] / validresponse = (parameters.leftresponsekey, parameters.rightresponsekey) / iscorrectresponse = [ if (values.correctButton == "YESButton") { if (trial.practice.responsetext == values.YESkey) { return true; } else { return false; }; } else { if (trial.practice.responsetext == values.NOkey) { return true; } else { return false; }; }; ] / beginresponsetime = 0 / responseinterrupt = immediate / ontrialend = [ list.accuracy.appendItem(trial.practice.correct); values.ACC_practice = list.accuracy.mean;] / branch = [return trial.ITI;] </trial>
It checks for the response in <trial practice> -- but there is never any response in <trial practice>.
|
|
|
Igor Iarrobino
|
|
Group: Forum Members
Posts: 34,
Visits: 88
|
+x+x+x+x+x+xHello. I am close to the end but need another couple of tips. The first ones are: - this script is giving me the double of data (86 instead of 44). I do not know why, because I do not see any redundancy according to what I can see. - I'd like to have a perfect correspondance between this raw data columns: stimulus item (Pic_practice), stimulusitem (fixationResp), values.correctButton (YES/NO), response, correct (0/1). I added another stimulusitem in another try, but it's not working. I attach the output to let you watch at it. I really have read and tried different ways according to theory, but apparently there's something I cannot figure out but these two points. Thank you beforehand for this last tips! I ************************************************************************************************************** ************************************************************************************************************** EDITABLE PARAMETERS: change editable parameters here ************************************************************************************************************** **************************************************************************************************************
<parameters> /ITI = 500 /fixationStart = 3000 /picsize = 60% /top_y = 55% /bottom_y = 55% /leftresponsekey = "Z" //lo stampino con la BLU va messo sulla Z /rightresponsekey = "M" //lo stampino con la ROSSO va messo sulla M /spacekey = "BARRA SPAZIATRICE" </parameters>
************************************************************************************************************** ************************************************************************************************************** EDITABLE INSTRUCTIONS: change instructions here ************************************************************************************************************** ************************************************************************************************************** <instruct> / fontstyle = ("Arial", 3%, false, false, false, false, 5, 1) </instruct>
<item instructions> /1 = "Salve. Adesso faremo una piccola prova per farla familiarizzare con il compito. Le compariranno dei volti che possono avere la bocca aperta, oppure chiusa. Le verrà chiesto di premere il tasto BLU se il volto ha le labbra aperte (separate); al contrario, prema il tasto ROSSO se ha le labbra chiuse (unite). Le ricordiamo di premere il più velocemente possibile. Se non risponde, la prova non va avanti."
/2 = "Grazie per la partecipazione. Se vuole possiamo ripetere la prova." </item>
<item continueButtons> /1 = "Prema gentilemente la BARRA SPAZIATRICE per iniziare" /2 = "STOP" </item>
<text YESButton_instruct> / items = ("YES = Prema BLU") / position = (25%, 60%) / fontstyle = ("Arial", 5%, true, false, false, false, 5, 1) / vjustify = center / hjustify = center / size = (45%, 10%) / txcolor = white </text>
<text NOButton_instruct> / items = ("NO = Prema ROSSO") / position = (75%, 60%) / fontstyle = ("Arial", 5%, true, false, false, false, 5, 1) / vjustify = center / hjustify = center / size = (45%, 10%) / txcolor = white </text>
<text fixationStart> / items = ("+") / vposition = 50% / hposition = 50% / fontstyle = ("Arial", 7%, true, false, false, false, 5, 1) / size = (10%, 10%) / txcolor = black / txbgcolor = transparent </text>
<text fixationResp> / items = ("+") / vposition = 50% / hposition = 50% / fontstyle = ("Arial", 7%, true, false, false, false, 5, 1) / size = (10%, 10%) / txcolor = black / txbgcolor = transparent </text>
<text exit> / items = ("<prema la BARRA per uscire>") / fontstyle = ("Arial", 3.5%, false, false, false, false, 5, 1) / position = (50%, 90%) / size = (80%, 5%) / vjustify = center </text>
<expressions> /buttoninstruct1 = if (computer.touch && !computer.haskeyboard) {"response button";} else { "un tasto";} /buttoninstruct2 = if (computer.touch && !computer.haskeyboard) {"button";} else { "un altro tasto";} /buttoninstruct3 = if (computer.touch && !computer.haskeyboard) {"Le chiadiamo di posizionare le dita della mano sinistra e della mano destra sulla tastiera, e di premere un dei tasto per cominciare";} else { "Le chiediamo di posizionare l'indice della mano sinistra e l'indice della mano destra sulla tastiera e premere uno dei due tasti colorati per iniziare.";} </expressions>
************************************************************************************************************** ************************************************************************************************************** EDITABLE STIMULI ************************************************************************************************************** ************************************************************************************************************** ******************************************** practice ********************************************
<list practice_itemnumbers> / items = (1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44) / replace = false / resetinterval = 0 </list>
<item pics_practice> /1= "F11_F20.JPG" /2= "F11_F30.JPG" /3 = "F11_F40.JPG" /4 = "F11_F50.JPG" /5 = "F11_F60.JPG" /6 = "F11_F70.JPG" /7 = "F11_F80.JPG" /8 = "F11_F90.JPG" /9 = "F11_F100.JPG" /10 = "F11_F0.JPG" /11 = "F11_F10.JPG" /12 = "M11_F20.JPG" /13 = "M11_F30.JPG" /14 = "M11_F40.JPG" /15 = "M11_F50.JPG" /16 = "M11_F60.JPG" /17 = "M11_F70.JPG" /18 = "M11_F80.JPG" /19 = "M11_F90.JPG" /20 = "M11_F100.JPG" /21 = "M11_F0.JPG" /22 = "M11_F10.JPG" /23 = "F11_P20.JPG" /24 = "F11_P30.JPG" /25 = "F11_P40.JPG" /26 = "F11_P50.JPG" /27 = "F11_P60.JPG" /28 = "F11_P70.JPG" /29 = "F11_P80.JPG" /30 = "F11_P90.JPG" /31 = "F11_P100.JPG" /32 = "F11_P0.JPG" /33 = "F11_P10.JPG" /34 = "M11_F20.JPG" /35 = "M11_P30.JPG" /36 = "M11_P40.JPG" /37 = "M11_P50.JPG" /38 = "M11_P60.JPG" /39 = "M11_P70.JPG" /40 = "M11_P80.JPG" /41 = "M11_P90.JPG" /42 = "M11_P100.JPG" /43 = "M11_P0.JPG" /44 = "M11_P10.JPG" </item>
<item correctButton_practice> /1 = "YESButton" /2 = "YESButton" /3 = "YESButton" /4 = "YESButton" /5 = "YESButton" /6 = "YESButton" /7 = "YESButton" /8 = "YESButton" /9 = "YESButton" /10 = "NOButton" /11 = "NOButton" /12 = "YESButton" /13 = "YESButton" /14 = "YESButton" /15 = "YESButton" /16 = "YESButton" /17 = "YESButton" /18 = "YESButton" /19 = "YESButton" /20 = "YESButton" /21 = "NOButton" /22 = "NOButton" /23 = "YESButton" /24 = "YESButton" /25 = "YESButton" /26 = "YESButton" /27 = "YESButton" /28 = "YESButton" /29 = "YESButton" /30 = "YESButton" /31 = "YESButton" /32 = "NOButton" /33 = "NOButton" /34 = "YESButton" /35 = "YESButton" /36 = "YESButton" /37 = "YESButton" /38 = "YESButton" /39 = "YESButton" /40 = "YESButton" /41 = "YESButton" /42 = "YESButton" /43 = "NOButton" /44 = "NOButton" </item>
************************************************************************************************************** ************************************************************************************************************** DEFAULTS ************************************************************************************************************** ************************************************************************************************************** script requires Inquisit 6.5.2.0 or higher
<defaults> /canvasaspectratio = (4,3) /minimumversion = "6.5.2.0" /fontstyle = ("Arial", 3%, false, false, false, false, 5, 1) /txbgcolor = transparent /txcolor = black /screencolor = white /inputdevice = keyboard </defaults>
************************************************************************************************************** ************************************************************************************************************** DATA ************************************************************************************************************** **************************************************************************************************************
Note: data file explanations under User Manual Information at the top
To change from one data file per participant to one data file for all participants, set /separatefiles = false
*********************** raw data file *********************** <data> / separatefiles = true / columns = (build, computer.platform, date, time, subject, group, session, blockcode, blocknum, trialcode, trialnum, values.keyAssignment, values.selectStim, stimulusitem, stimulusitem, values.correctButton, response, correct, latency, list.accuracy.mean) </data>
*********************** summary data file *********************** <summarydata> / columns = (inquisit.version, computer.platform, script.startdate, script.starttime, script.subjectid, script.groupid, script.sessionid, script.elapsedtime, script.completed, values.keyAssignment, values.ACC_practice, values.practiceRuns, expressions.ACC_all, expressions.meanRT_all) / separatefiles = true </summarydata>
************************************************************************************************************** ************************************************************************************************************** VALUES: automatically updated ************************************************************************************************************** ************************************************************************************************************** /countTestBlocks: counts number of test blocks /wordposition: 0 = words at the centre of the image /word_y: stores the vertical coordinate of the current word /congruence: 0 = neutral; 1 = incongruent /practice1Runs: counts number of practice1 runs /practice2WRuns: counts number of practice2W runs /practice2FRuns: counts number of practice2F runs /selectFeedback: controls the selection of the feedback text to be presented /skipReadyTrial: 0 = run ready trial; 1 = skip ready trial
<values> /countTestBlocks = 0 /selectStim = 1 /correctButton = "" /practiceRuns = 0 /fixationStart = 0 /fixationResp = 0 /keyAssignment = "leftYES" /spacekey = parameters.spacekey /YESkey = parameters.leftresponsekey /NOkey = parameters.rightresponsekey </values>
/ACC_practice: stores the proportion correct of the current practice run
<values> /ACC_practice = 0 </values>
************************************************************************************************************** ************************************************************************************************************** EXPRESSIONS ************************************************************************************************************** ************************************************************************************************************** /shadowSize: size of shadow text
/ACC_all: proportion correct overall (across all test trials) /meanRT_all: mean correct latency (in ms) overall
/ACC_FACE: proportion correct in "FACE" block /ACC_congruent: proportion correct in "congruent" pairings trials (across test blocks) /ACC_incongruent: proportion correct in "incongruent" pairings trials (across test blocks)
/meanRT_FACE: mean correct latency (in ms) in "FACE" block /meanRT_congruent: mean correct latency (in ms) in "congruent" pairings trials (across test blocks) /meanRT_incongruent: mean correct latency (in ms) in "incongruent" pairings trials (across test blocks)
<expressions> /ACC_all = list.accuracy.mean /meanRT_all = list.latencies.mean </expressions>
************************************************************************************************************** ************************************************************************************************************** INSTRUCTIONS ************************************************************************************************************** **************************************************************************************************************
<text intro> / items = instructions / select = 1 / position = (50%, 50%) / fontstyle = ("Arial", 4%, false, false, false, false, 5, 1) / vjustify = center / hjustify = center / size = (90%, 80%) </text>
<text end> / items = instructions / select = 2 / position = (50%, 50%) / fontstyle = ("Arial", 8%, false, false, false, false, 5, 1) / vjustify = center / hjustify = center / size = (90%, 80%) </text>
<text continueButton_intro> / items = continueButtons / select = text.intro.currentitemnumber / position = (50%, 90%) / fontstyle = ("Arial", 3.5%, true, false, false, false, 5, 1) / vjustify = center / hjustify = center / size = (45%, 10%) / txbgcolor = blue </text>
<text continueButton_Pnd> / items = continueButtons / select = text.end.currentitemnumber / position = (50%, 90%) / fontstyle = ("Arial", 3.5%, true, false, false, false, 5, 1) / vjustify = center / hjustify = center / size = (45%, 10%) / txbgcolor = red </text>
*********************** Instruction Trials ***********************
<trial practiceStart> / inputdevice = keyboard / stimulusframes = [1 = intro, continueButton_intro] / validresponse = (" ") / recorddata = false </trial>
<trial finish> / inputdevice = keyboard / skip = [ values.countTestBlocks == 1; ] / stimulusframes = [1 = clearscreen, end, exit] / validresponse = (" ") / recorddata = false </trial>
<trial fixationStart> / stimulusframes = [1 = fixationStart] / trialduration = parameters.fixationStart / validresponse = (0) / recorddata = false </trial>
************************************************************************************************************** ************************************************************************************************************** STIMULI ************************************************************************************************************** **************************************************************************************************************
<picture Pic_practice> /items = item.pics_practice / select = values.selectStim / position = (50%, 50%) / size = (parameters.picsize, parameters.picSize) / erase = false </picture>
************************************************************************************************************** ************************************************************************************************************** LISTS ************************************************************************************************************** **************************************************************************************************************
************************************************* Data Lists: used for descriptive statistics store correct latencies/accuracy data fill up during runtime *************************************************
Note: list stores 1 = correct response; 0 = incorrect response for each relevant trial any response coded as an error is automatically coded as 0 <list accuracy> </list>
Note: list stores the latency of correct responses for each relevant trial <list latencies> </list>
Note: list stores 1 = correct response; 0 = incorrect response for each relevant trial any response coded as an error is automatically coded as 0 <list accuracytest> </list>
************************************************************************************************************** ************************************************************************************************************** TRIALS : practice ************************************************************************************************************** ************************************************************************************************************** <trial practice> / ontrialbegin = [ values.selectStim = list.practice_itemnumbers.nextvalue; ] / stimulusframes = [1 = clearscreen; 2 = Pic_practice;] / response = noresponse / trialduration = 350 </trial>
<trial fixationResp> / inputdevice = keyboard / ontrialbegin = [ values.correctButton = item.correctButton_practice.item(values.selectStim); ] / stimulusframes = [1 = clearscreen; 2 = fixationResp;] / validresponse = (parameters.leftresponsekey, parameters.rightresponsekey) / iscorrectresponse = [ if (values.correctButton == "YESButton") { if (trial.practice.responsetext == values.YESkey) { return true; } else { return false; }; } else { if (trial.practice.responsetext == values.NOkey) { return true; } else { return false; }; }; ] / beginresponsetime = 0 / responseinterrupt = immediate / ontrialend = [ list.accuracy.appendItem(trial.practice.correct); values.ACC_practice = list.accuracy.mean;] / branch = [return trial.ITI;] </trial>
************************************************************************************************************** ************************************************************************************************************** TRIALS : helper trials ************************************************************************************************************** **************************************************************************************************************
<trial ITI> / stimulusframes = [1 = clearscreen]
//touchscreens: present inactive response buttons / validresponse = (parameters.leftresponsekey, parameters.rightresponsekey) / isvalidresponse = [ return(false); ] / recorddata = false / trialduration = parameters.ITI </trial>
************************************************************************************************************** ************************************************************************************************************** BLOCKS ************************************************************************************************************** **************************************************************************************************************
<block practiceIntro> / trials = [1 = practiceStart] </block>
<block fixationStart> / trials = [1 = fixationStart] </block>
<block practice> / onblockbegin = [ list.accuracy.reset(); list.latencies.reset(); values.practiceRuns += 1; ] / trials = [1 - 43 = practice; 2 = fixationResp] </block>
<block finish> / trials = [1 = finish] </block>
************************************************************************************************************** ************************************************************************************************************** EXPERIMENT ************************************************************************************************************** ************************************************************************************************************** <expt> / onexptbegin = [ if (computer.touch && !computer.haskeyboard) { text.continueButton_Pnd.skip = true; text.continueButton_intro.skip = true; };]
/ blocks = [ 1 = practiceIntro; 2 = fixationStart; 3 = practice; 4 = finish; ] </expt>
<monkey> / latencydistribution = normal(50, 20) </monkey>
************************************************************************************************************** End of File ************************************************************************************************************** / trials = [1 - 43 = practice; 2 = fixationResp] What is this supposed to do? It makes no sense. If you want to run 43 practice trials, and the as the final 44th trial one instance of fixationResp, you ought to do / trials = [1 - 43 = practice; 44 = fixationResp] I have no idea what you are talking about in terms of "perfect correspondence." Explain that in terms that others can understand, please I do not want to do have 43 trials practice and 1 final fixationResp trial. What I want it's to have practice (video presentation) and fixationResp always coupled, because fixationresp is the fixation time window response for any prascticevideo. I make it this way but I just have the problem that the number of stimuli presented is doubled. For the second issue, I have four columns: stimulus item (Pic_practice), stimulusitem (fixationResp), values.correctButton (YES/NO), response, correct (0/1). As you can see the output is quite messy as for these columns. Pic_practice should have should have its video stimuli, fixationResp its fxation cross, and correct button should be aligned with video stimuli or both. Then the actual response and correct should give me corresponding results. I don't know how to arrange these columns properly though. Thank you. > What I want it's to have practice (video presentation) and fixationResp always coupled Then that's / trials = [1 - 43 = sequence(practice, fixationResp)] I still have no idea what you're talking about regarding the output. The first stimulusitem column captures the item of the first stimulus displayed by any trial. For <trial fixationStart> / stimulusframes = [1 = fixationStart] ... </rial> that's the fixationStart stimulus. For <trial practice> ... / stimulusframes = [1 = clearscreen; 2 = Pic_practice;] ... </trial that's the clearscreen, i.e. blank. For <trial fixationResp> ... / stimulusframes = [1 = clearscreen; 2 = fixationResp;] ... </trial> it's also the clearscreen. The 2nd stimulusitem column captures the item of the 2nd stimulus displayed by any trial. That's Pic_practice for <trial practice> and fixationResp for <trial fixationResp>. All of that is explained in the documentation, which I linked you to. Please read and understand it. I got it all before. and I read! But the matter of fact is different. I'd just like to have 1 column for 'Pic_practice', one for 'fixationResp'; but even if I cannot have this ideal state, the real problem should be the 'correct response' columns, because it is not truly coupled with the right stimulus. This is giving me a 'correct' column that is always 0, that is not the case. The right stimulus to be coupled should be the 'fixationResp', because I record the response in this trial. Perhaps, I should make another list of stimuli with as much fixation crosses as the stimuli? I'd rather find a shorter way, if possible. Eventually, it could be also a matter of assigning something specific to that column! I might use 'data element' maybe, but I'm not used to it and I'm not understanding well how to overcome the issue. That's an entirely different problem and caused by the fact that your /iscorrectresponse logic in <trial fixationResp> is complete nonsense. <trial fixationResp> / inputdevice = keyboard / ontrialbegin = [ values.correctButton = item.correctButton_practice.item(values.selectStim); ] / stimulusframes = [1 = clearscreen; 2 = fixationResp;] / validresponse = (parameters.leftresponsekey, parameters.rightresponsekey) / iscorrectresponse = [ if (values.correctButton == "YESButton") { if (trial.practice.responsetext == values.YESkey) { return true; } else { return false; }; } else { if (trial.practice.responsetext == values.NOkey) { return true; } else { return false; }; }; ] / beginresponsetime = 0 / responseinterrupt = immediate / ontrialend = [ list.accuracy.appendItem(trial.practice.correct); values.ACC_practice = list.accuracy.mean;] / branch = [return trial.ITI;] </trial>
It checks for the response in <trial practice> -- but there is never any response in <trial practice>. Ok and you are alright there! Another careless error. Thank you a lot! My output is still not coupling well the 'correct button' column. Should make another list of stimuli with as much fixation crosses as the stimuli? Or, can I have a shorter way, if possible? The 'correct response' list should be coupled to the 'fixationResp', because I record the response in this trial, but refers to 'Pic_practice' as a list of stimuli to be judged.
|
|
|