|
Igor Iarrobino
|
|
|
Group: Forum Members
Posts: 42,
Visits: 114
|
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
|
|
|
|
|
Igor Iarrobino
|
|
|
Group: Forum Members
Posts: 42,
Visits: 114
|
+x+x+x+x+x+x+xHello. So good so far, except that I don't understand why the script is doubling the presented stimuli. I tried several ways: changing variables strings; deleting the return to trial.ITI; the list odf stimuli; but it's not working. Perhaps, it's an issue arised when I put the variables the way I did to have my columns tidy up. I don't want to lose this. Anyway, I should put the pèroper number of stimnuli. Can you help, please? ************************************************************************************************************** ************************************************************************************************************** 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 esprimere 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 il volto non esprime un'emozione. 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 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_F20.JPG" /24 = "F11_F30.JPG" /25 = "F11_F40.JPG" /26 = "F11_F50.JPG" /27 = "F11_F60.JPG" /28 = "F11_F70.JPG" /29 = "F11_F80.JPG" /30 = "F11_F90.JPG" /31 = "F11_F100.JPG" /32 = "F11_F0.JPG" /33 = "F11_F10.JPG" /34 = "M11_F20.JPG" /35 = "M11_F30.JPG" /36 = "M11_F40.JPG" /37 = "M11_F50.JPG" /38 = "M11_F60.JPG" /39 = "M11_F70.JPG" /40 = "M11_F80.JPG" /41 = "M11_F90.JPG" /42 = "M11_F100.JPG" /43 = "M11_F0.JPG" /44 = "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" /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 /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] / 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 = 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; values.correctButton = item.correctButton_practice.item(values.selectStim); ] / 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.fixationResp.responsetext == values.YESkey) { return true; } else { return false; }; } else { if (trial.fixationResp.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 - 43 = sequence (practice, 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 ************************************************************************************************************** Ok, it is the variable stuff I guess, because the output is giving me the stimuli two times linking them to the two stimuli of the two trials practice and fixationResp. How can I overcome this issue not loosing the arrangement my columns layout, please? I once again have no idea what you are talking about or what bothers you. Things have names in the code and in the data. You can use these to explain what -- precisely -- you think the issue is. "Variable stuff" and "the output is giving me the stimuli two times linking them to the two stimuli of the two trials practice and fixationResp" doesn't tell me anything. Ok, I made these changes to have a proper columns arrangement in the output file: <trial practice> / ontrialbegin = [ values.selectStim = list.practice_itemnumbers.nextvalue; values.correctButton = item.correctButton_practice.item(values.selectStim); ] / 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.fixationResp.responsetext == values.YESkey) { return true; } else { return false; }; } else { if (trial.fixationResp.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 - 43 = sequence (practice, 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> ---------------------------------------------------------- But now I have a problem that the script output is giving me more stimuli than I should have, that is twice as much. I would like to preserve the layout I just set up, but removing this issue of the number of the stimuli. Thank you. P.S. before accusing me, you can read the previous message I sent to you: "Hello. So good so far, except that I don't understand why the script is doubling the presented stimuli. I tried several ways: changing variables strings; deleting the return to trial.ITI; the list odf stimuli; but it's not working. Perhaps, it's an issue arised when I put the variables the way I did to have my columns tidy up. I don't want to lose this. Anyway, I should put the pèroper number of stimuli. Can you help, please?" Then, once again, I am always kind and polite to you and I'd like you to be the same to me. thank you again The script is not doubling presented stimuli and I have no idea why you think it is. Actually I know, and I have still this output. I have no idea what's the problem! The output shows no "doubling of stimuli" whatsoever. For every image you present you are running *two* trials. (1) Trial "practice" that displays the image and takes no response, followed by (2) Trial "fixationResp" that takes a yes or no response. That is exactly what the output shows. There is no "doubling of stimuli" -- 43 images are presented. Why you *chose* to split things into two trials -- I don't know. You tell me, it's your code and your choices. The reason of this choice is to be found in the fact that I need a trial to present the images and another one to have the answer for clinical purposes and for professor's choice. Then, you say there's no error, and I'm relieved because I guessed so as well. I should just put much attention and care while extracting and analyzing data from this output, considering this arrangement. Thank you!
|
|
|
|
|
Dave
|
|
|
Group: Administrators
Posts: 13K,
Visits: 110K
|
> The reason of this choice is to be found in the fact that I need a trial to present the images and another one to have the answer for clinical purposes and for professor's choice. You don't need two separate trials for that, you could just as easily do all that in a single trial. I have no idea why you *think* two separate trials are required. ************************************************************************************************************** ************************************************************************************************************** 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 esprimere 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 il volto non esprime un'emozione. 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 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_F20.JPG" /24 = "F11_F30.JPG" /25 = "F11_F40.JPG" /26 = "F11_F50.JPG" /27 = "F11_F60.JPG" /28 = "F11_F70.JPG" /29 = "F11_F80.JPG" /30 = "F11_F90.JPG" /31 = "F11_F100.JPG" /32 = "F11_F0.JPG" /33 = "F11_F10.JPG" /34 = "M11_F20.JPG" /35 = "M11_F30.JPG" /36 = "M11_F40.JPG" /37 = "M11_F50.JPG" /38 = "M11_F60.JPG" /39 = "M11_F70.JPG" /40 = "M11_F80.JPG" /41 = "M11_F90.JPG" /42 = "M11_F100.JPG" /43 = "M11_F0.JPG" /44 = "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" /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 /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] / 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 = 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> / inputdevice = keyboard / ontrialbegin = [ values.selectStim = list.practice_itemnumbers.nextvalue; values.correctButton = item.correctButton_practice.item(values.selectStim); ] / stimulustimes = [0 = clearscreen, Pic_practice; 350 = clearscreen, fixationResp] / beginresponsetime = 350 / 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; }; }; ] / responseinterrupt = immediate / ontrialend = [ list.accuracy.appendItem(trial.practice.correct); values.ACC_practice = list.accuracy.mean;] / posttrialpause = parameters.ITI </trial>
************************************************************************************************************** ************************************************************************************************************** TRIALS : helper trials ************************************************************************************************************** **************************************************************************************************************
************************************************************************************************************** ************************************************************************************************************** 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;] </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 **************************************************************************************************************
|
|
|
|