Last issues!


Author
Message
Dave
Dave
Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)
Group: Administrators
Posts: 13K, Visits: 105K
Igor Iarrobino - 12/17/2024
Dave - 12/17/2024
Igor Iarrobino - 12/17/2024
Dave - 12/17/2024
Igor Iarrobino - 12/17/2024
Dave - 12/16/2024
Igor Iarrobino - 12/16/2024
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
**************************************************************************************************************

/ 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.


values.correctButton is a variable. A variable retains the value you set it to unless and until you change it. If you want the variable to have the value that corresponds to the item in <trial practice>, then you need to set it in <trial practice>, not in <trial fixationResp>.

<trial practice>
/ ontrialbegin = [
    values.selectStim = list.practice_itemnumbers.nextvalue;
    values.correctButton = item.correctButton_practice.item(values.selectStim);
]
...
</trial>

Edited Last Month by Dave
Igor Iarrobino
Igor Iarrobino
Associate Member (226 reputation)Associate Member (226 reputation)Associate Member (226 reputation)Associate Member (226 reputation)Associate Member (226 reputation)Associate Member (226 reputation)Associate Member (226 reputation)Associate Member (226 reputation)Associate Member (226 reputation)
Group: Forum Members
Posts: 34, Visits: 88
Dave - 12/17/2024
Igor Iarrobino - 12/17/2024
Dave - 12/17/2024
Igor Iarrobino - 12/17/2024
Dave - 12/17/2024
Igor Iarrobino - 12/17/2024
Dave - 12/16/2024
Igor Iarrobino - 12/16/2024
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
**************************************************************************************************************

/ 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.


values.correctButton is a variable. A variable retains the value you set it to unless and until you change it. If you want the variable to have the value that corresponds to the item in <trial practice>, then you need to set it in <trial practice>, not in <trial fixationResp>.

Actually, it found the solution!
I tried several ways and I just put the variable as this:

<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>



It's working as I want to, now!
Thank you again.
Speaking to you it is also a way to reason about these issues for me, as this coding matter is completely out of my knowledge and mindset.
That's why I bothered you a lot.
Have a nice evening.



Igor Iarrobino
Igor Iarrobino
Associate Member (226 reputation)Associate Member (226 reputation)Associate Member (226 reputation)Associate Member (226 reputation)Associate Member (226 reputation)Associate Member (226 reputation)Associate Member (226 reputation)Associate Member (226 reputation)Associate Member (226 reputation)
Group: Forum Members
Posts: 34, Visits: 88

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 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
**************************************************************************************************************




Igor Iarrobino
Igor Iarrobino
Associate Member (226 reputation)Associate Member (226 reputation)Associate Member (226 reputation)Associate Member (226 reputation)Associate Member (226 reputation)Associate Member (226 reputation)Associate Member (226 reputation)Associate Member (226 reputation)Associate Member (226 reputation)
Group: Forum Members
Posts: 34, Visits: 88
Igor Iarrobino - 12/19/2024

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 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?


Dave
Dave
Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)
Group: Administrators
Posts: 13K, Visits: 105K
Igor Iarrobino - 12/19/2024
Igor Iarrobino - 12/19/2024

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 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.

Igor Iarrobino
Igor Iarrobino
Associate Member (226 reputation)Associate Member (226 reputation)Associate Member (226 reputation)Associate Member (226 reputation)Associate Member (226 reputation)Associate Member (226 reputation)Associate Member (226 reputation)Associate Member (226 reputation)Associate Member (226 reputation)
Group: Forum Members
Posts: 34, Visits: 88
Dave - 12/19/2024
Igor Iarrobino - 12/19/2024
Igor Iarrobino - 12/19/2024

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 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


Dave
Dave
Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)
Group: Administrators
Posts: 13K, Visits: 105K
Igor Iarrobino - 12/19/2024
Dave - 12/19/2024
Igor Iarrobino - 12/19/2024
Igor Iarrobino - 12/19/2024

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 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.
Igor Iarrobino
Igor Iarrobino
Associate Member (226 reputation)Associate Member (226 reputation)Associate Member (226 reputation)Associate Member (226 reputation)Associate Member (226 reputation)Associate Member (226 reputation)Associate Member (226 reputation)Associate Member (226 reputation)Associate Member (226 reputation)
Group: Forum Members
Posts: 34, Visits: 88
Dave - 12/19/2024
Igor Iarrobino - 12/19/2024
Dave - 12/19/2024
Igor Iarrobino - 12/19/2024
Igor Iarrobino - 12/19/2024

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 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!


Attachments
Dave
Dave
Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)
Group: Administrators
Posts: 13K, Visits: 105K
Igor Iarrobino - 12/19/2024
Dave - 12/19/2024
Igor Iarrobino - 12/19/2024
Dave - 12/19/2024
Igor Iarrobino - 12/19/2024
Igor Iarrobino - 12/19/2024

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 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.
Igor Iarrobino
Igor Iarrobino
Associate Member (226 reputation)Associate Member (226 reputation)Associate Member (226 reputation)Associate Member (226 reputation)Associate Member (226 reputation)Associate Member (226 reputation)Associate Member (226 reputation)Associate Member (226 reputation)Associate Member (226 reputation)
Group: Forum Members
Posts: 34, Visits: 88
Dave - 12/19/2024
Igor Iarrobino - 12/19/2024
Dave - 12/19/2024
Igor Iarrobino - 12/19/2024
Dave - 12/19/2024
Igor Iarrobino - 12/19/2024
Igor Iarrobino - 12/19/2024

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 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!


GO

Merge Selected

Merge into selected topic...



Merge into merge target...



Merge into a specific topic ID...




Reading This Topic

Explore
Messages
Mentions
Search