Aleya
|
|
Group: Forum Members
Posts: 15,
Visits: 30
|
+x+x+x+xSorry for being unclear. In the example used before the fixation marker is always 0, independent of the trial or the stimulus pair shown: <trial emoneu>/ ontrialbegin = [values.marker = (picture.emoleft.currentindex*100) + picture.neuright.currentindex;] / ontrialbegin = [port.marker.setitem(values.marker, 1);]/ stimulustimes = [0 = fixation; 2001 = emoleft, neuright, marker]/ posttrialpause = (picture.fixation.item)/ inputdevice = eyetracker/ recorddata = true/ ontrialend = [values.image_emo = (picture.emoleft.currentitem); values.image_neu = picture.neuright.currentitem]/ ontrialend = [values.iti = trial.iti.timeout]/ timeout = values.trialduration </trial>I would like to use the fixation cross as a baseline for the eye movement measured and to do so I have to be able to differentiate the fixation crosses of the different Trials in the output file. Or am I missing some general hint? Concerning the repetitions: I have 60 items (30 of each category) and have indicated the poolsize accordingly, have I not? <list trialselector>/ items = (trial.emoneu, trial.neuemo)/ itemprobabilities = (.50, .50)/ poolsize = 60/ replace = false</list>
Sorry, if my questions are a bit trivial and thanks for your help! Re. 1: "I would like to use the fixation cross as a baseline for the eye movement measured and to do so I have to be able to differentiate the fixation crosses of the different Trials in the output file. Then define two <port> elements, one sending a marker indicating emoneu baseline, one with a marker indicating neuemo baseline. <port emoneu_baseline> / items = (1) / erase = false / port = eyetracker </port> <port neuemo_baseline> / items = (2) / erase = false / port = eyetracker </port> Define a port that resets everything to zero in between markers as well so you can get a clear separation between your baseline and your stimulus marker <port allbitstozero> / items = (0) / erase = false / port = eyetracker </port> Then display the appropriate marker along with the fixation cross in your <trial> elements, e.g. <trial emoneu> / ontrialbegin = [values.marker = (picture.emoleft.currentindex*100) + picture.neuright.currentindex;] / ontrialbegin = [port.marker.setitem(values.marker, 1);] / stimulustimes = [0 = fixation, emoneu_baseline; 1900=allbitstozero; 2001 = emoleft, neuright, marker] ... </trial> Re. 2: "Concerning the repetitions: I have 60 items (30 of each category) and have indicated the poolsize accordingly, have I not?" Your list is sampling *trials* not *items* <list trialselector> / items = (trial.emoneu, trial.neuemo) / itemprobabilities = (.50, .50) / poolsize = 60 / replace = false </list> You should end up with 30 "emoneu" trials and 30 "neuemo" trials. It is *those* trials, however, that display stimuli and their respective items. The code you have shared tells me nothing about how you select items or how often a given stimulus element is sampled from. Sorry about that. I defined the pictures that are read into the trials in the following way: <picture neuleft> / items = neutral / position = (25%, 50%) / size = (900, 600) / selectionrate = always / select = noreplace </picture> <picture neuright> / items = neutral / position = (75%, 50%) / size = (900, 600) / selectionrate = always / select = noreplace </picture> <picture emoleft> / items = emo / position = (25%, 50%) / size = (900, 600) / selectionrate = always / select = noreplace </picture> <picture emoright> / items = emo / position = (75%, 50%) / size = (900, 600) / selectionrate = always / select = noreplace </picture> and then thought that the list would take care of the equal distribution (30 neuemo and 30 emoneu trials) without replacement: <list trialselector> / items = (trial.emoneu, trial.neuemo) / itemprobabilities = (.50, .50) / poolsize = 60 </list> Is there something missing in the trials coding or am I missing something altogether? > Is there something missing in the trials coding or am I missing something altogether? I can't say because those code snippets don't give me a picture of all relevant parts. There's no info about how many trials you are actually running, i.e. the <block> element(s) in your script. The actual <trial> definitions aren't there, you only shared the code for <trial emoneu> in your very first post in this thread. I have no way to see whether the trials are displaying the correct <picture> elements and/or whether there are any other <trial> elements that display those same stimulus elements and thus affect the sampling from those stimulus elements' items. The <item> elements are missing, I have no way to see whether there actually are 30 items, and so forth. Finally, you have not explained what you actually understand a "repeat" to be. Please provide a data file that illustrates what you mean. Sorry. This is the current script I am running (including your implementations): <eyetracker> / plugin = "tobii" </eyetracker> <defaults> / fontstyle = ("Candara", 24pt) / minimumversion = "4.0.4.0" / screencolor = darkgrey </defaults> <values> / trialduration = 1200 / marker = 0 / iti = 0 / image_neu = "" / image_emo = "" / emoneu_baseline = 0 / neuemo_baseline = 0 </values> <instruct> / nextkey = (28) / lastlabel = "Press Enter" / nextlabel = "Press Enter" / fontstyle = ("Candara", 24pt) / screencolor = darkgrey / txcolor = (0, 0, 0) / wait = 500 / windowsize = (100%,100%) </instruct> -------------------- STIMULI <port marker> / items = (0) / port = eyetracker / erase = false </port> <port emoneu_baseline> / items = (1) / erase = false / port = eyetracker </port> <port neuemo_baseline> / items = (2) / erase = false / port = eyetracker </port> <port allbitstozero> / items = (0) / erase = false / port = eyetracker </port> <item emotional> / 1 = "S01.jpg" / 2 = "S02.jpg" / 3 = "S03.jpg" / 4 = "S04.jpg" / 5 = "S05.jpg" / 6 = "S06.jpg" / 7 = "S07.jpg" / 8 = "S08.jpg" / 9 = "S09.jpg" / 10 = "S10.jpg" / 11 = "S11.jpg" / 12 = "S12.jpg" / 13 = "S13.jpg" / 14 = "S14.jpg" / 15 = "S15.jpg" / 16 = "S16.jpg" / 17 = "S17.jpg" / 18 = "S18.jpg" / 19 = "S19.jpg" / 20 = "S20.jpg" / 21 = "S21.jpg" / 22 = "S22.jpg" / 23 = "S23.jpg" / 24 = "S24.jpg" / 25 = "S25.jpg" / 26 = "S26.jpg" / 27 = "S27.jpg" / 28 = "S28.jpg" / 29 = "S29.jpg" / 30 = "S30.jpg" </item> <item neutral> / 1 = "N01.jpg" / 2 = "N02.jpg" / 3 = "N03.jpg" / 4 = "N04.jpg" / 5 = "N05.jpg" / 6 = "N06.jpg" / 7 = "N07.jpg" / 8 = "N08.jpg" / 9 = "N09.jpg" / 10 = "N10.jpg" / 11 = "N11.jpg" / 12 = "N12.jpg" / 13 = "N13.jpg" / 14 = "N14.jpg" / 15 = "N15.jpg" / 16 = "N16.jpg" / 17 = "N17.jpg" / 18 = "N18.jpg" / 19 = "N19.jpg" / 20 = "N20.jpg" / 21 = "N21.jpg" / 22 = "N22.jpg" / 23 = "N23.jpg" / 24 = "N24.jpg" / 25 = "N25.jpg" / 26 = "N26.jpg" / 27 = "N27.jpg" / 28 = "N28.jpg" / 29 = "N29.jpg" / 30 = "N30.jpg" </item> < item fix> / 1 = "fixationcross.png" </item> <picture neuleft> / items = neutral / position = (25%, 50%) / size = (900, 600) / selectionrate = always / select = noreplace </picture> <picture neuright> / items = neutral / position = (75%, 50%) / size = (900, 600) / selectionrate = always / select = noreplace </picture> <picture emoleft> / items = emotional / position = (25%, 50%) / size = (900, 600) / selectionrate = always / select = noreplace </picture> <picture emoright> / items = emotional / position = (75%, 50%) / size = (900, 600) / selectionrate = always / select = noreplace </picture> <picture fixation> / items = fix / position = (50%, 50%) </picture> ------------------------ TRIALS <trial emoneu> / ontrialbegin = [values.marker = (picture.emoleft.nextindex*100) + picture.neuright.nextindex;] / ontrialbegin = [port.marker.setitem(values.marker, 1);] / ontrialbegin = [values.iti = round(rand(1000,2000))] / stimulustimes = [0 = fixation, emoneu_baseline; 1000 = allbitstozero; 1001 = emoleft, neuright, marker] / posttrialpause = (values.iti) / inputdevice = eyetracker / recorddata = true / ontrialend = [values.image_emo = (picture.emoleft.currentitem); values.image_neu = picture.neuright.currentitem] / timeout = values.trialduration </trial> <trial neuemo> / ontrialbegin = [values.marker = (picture.neuleft.nextindex*100) + picture.emoright.nextindex;] / ontrialbegin = [port.marker.setitem(values.marker, 1);] / ontrialbegin = [values.iti = round(rand(1000,2000))] / stimulustimes = [0 = fixation, neuemo_baseline; 1000 = allbitstozero; 1001 = neuleft, emoright, marker] / posttrialpause = (values.iti) / inputdevice = eyetracker / recorddata = true / ontrialend = [values.image_emo = picture.emoright.currentitem; values.image_neu = picture.neuleft.currentitem] / timeout = values.trialduration </trial> <trial iti> / stimulusframes = [1 = fixation] / timeout = round(rand(2000-5000)) / recorddata = false </trial> <trial fixation> / stimulusframes = [1 = fixation] / timeout = 1000 / recorddata = false </trial> <list trialselector> / items = (trial.emoneu, trial.neuemo) / itemprobabilities = (.50, .50) / poolsize = 60 </list> <block eyetracking> / trials = [1-60 = list.trialselector] </block> <data eyetracking> / file = "Sequence.iqdat" / columns = [subject trialnum values.image_emo values.image_neu values.iti] / separatefiles = true </data> <expt eyetracking> / blocks = [1 = eyetracking] </expt>
|
|
|
Dave
|
|
Group: Administrators
Posts: 13K,
Visits: 104K
|
+x+x+x+x+xSorry for being unclear. In the example used before the fixation marker is always 0, independent of the trial or the stimulus pair shown: <trial emoneu>/ ontrialbegin = [values.marker = (picture.emoleft.currentindex*100) + picture.neuright.currentindex;] / ontrialbegin = [port.marker.setitem(values.marker, 1);]/ stimulustimes = [0 = fixation; 2001 = emoleft, neuright, marker]/ posttrialpause = (picture.fixation.item)/ inputdevice = eyetracker/ recorddata = true/ ontrialend = [values.image_emo = (picture.emoleft.currentitem); values.image_neu = picture.neuright.currentitem]/ ontrialend = [values.iti = trial.iti.timeout]/ timeout = values.trialduration </trial>I would like to use the fixation cross as a baseline for the eye movement measured and to do so I have to be able to differentiate the fixation crosses of the different Trials in the output file. Or am I missing some general hint? Concerning the repetitions: I have 60 items (30 of each category) and have indicated the poolsize accordingly, have I not? <list trialselector>/ items = (trial.emoneu, trial.neuemo)/ itemprobabilities = (.50, .50)/ poolsize = 60/ replace = false</list>
Sorry, if my questions are a bit trivial and thanks for your help! Re. 1: "I would like to use the fixation cross as a baseline for the eye movement measured and to do so I have to be able to differentiate the fixation crosses of the different Trials in the output file. Then define two <port> elements, one sending a marker indicating emoneu baseline, one with a marker indicating neuemo baseline. <port emoneu_baseline> / items = (1) / erase = false / port = eyetracker </port> <port neuemo_baseline> / items = (2) / erase = false / port = eyetracker </port> Define a port that resets everything to zero in between markers as well so you can get a clear separation between your baseline and your stimulus marker <port allbitstozero> / items = (0) / erase = false / port = eyetracker </port> Then display the appropriate marker along with the fixation cross in your <trial> elements, e.g. <trial emoneu> / ontrialbegin = [values.marker = (picture.emoleft.currentindex*100) + picture.neuright.currentindex;] / ontrialbegin = [port.marker.setitem(values.marker, 1);] / stimulustimes = [0 = fixation, emoneu_baseline; 1900=allbitstozero; 2001 = emoleft, neuright, marker] ... </trial> Re. 2: "Concerning the repetitions: I have 60 items (30 of each category) and have indicated the poolsize accordingly, have I not?" Your list is sampling *trials* not *items* <list trialselector> / items = (trial.emoneu, trial.neuemo) / itemprobabilities = (.50, .50) / poolsize = 60 / replace = false </list> You should end up with 30 "emoneu" trials and 30 "neuemo" trials. It is *those* trials, however, that display stimuli and their respective items. The code you have shared tells me nothing about how you select items or how often a given stimulus element is sampled from. Sorry about that. I defined the pictures that are read into the trials in the following way: <picture neuleft> / items = neutral / position = (25%, 50%) / size = (900, 600) / selectionrate = always / select = noreplace </picture> <picture neuright> / items = neutral / position = (75%, 50%) / size = (900, 600) / selectionrate = always / select = noreplace </picture> <picture emoleft> / items = emo / position = (25%, 50%) / size = (900, 600) / selectionrate = always / select = noreplace </picture> <picture emoright> / items = emo / position = (75%, 50%) / size = (900, 600) / selectionrate = always / select = noreplace </picture> and then thought that the list would take care of the equal distribution (30 neuemo and 30 emoneu trials) without replacement: <list trialselector> / items = (trial.emoneu, trial.neuemo) / itemprobabilities = (.50, .50) / poolsize = 60 </list> Is there something missing in the trials coding or am I missing something altogether? > Is there something missing in the trials coding or am I missing something altogether? I can't say because those code snippets don't give me a picture of all relevant parts. There's no info about how many trials you are actually running, i.e. the <block> element(s) in your script. The actual <trial> definitions aren't there, you only shared the code for <trial emoneu> in your very first post in this thread. I have no way to see whether the trials are displaying the correct <picture> elements and/or whether there are any other <trial> elements that display those same stimulus elements and thus affect the sampling from those stimulus elements' items. The <item> elements are missing, I have no way to see whether there actually are 30 items, and so forth. Finally, you have not explained what you actually understand a "repeat" to be. Please provide a data file that illustrates what you mean. Sorry. This is the current script I am running (including your implementations): <eyetracker> / plugin = "tobii" </eyetracker> <defaults> / fontstyle = ("Candara", 24pt) / minimumversion = "4.0.4.0" / screencolor = darkgrey </defaults> <values> / trialduration = 1200 / marker = 0 / iti = 0 / image_neu = "" / image_emo = "" / emoneu_baseline = 0 / neuemo_baseline = 0 </values> <instruct> / nextkey = (28) / lastlabel = "Press Enter" / nextlabel = "Press Enter" / fontstyle = ("Candara", 24pt) / screencolor = darkgrey / txcolor = (0, 0, 0) / wait = 500 / windowsize = (100%,100%) </instruct> -------------------- STIMULI <port marker> / items = (0) / port = eyetracker / erase = false </port> <port emoneu_baseline> / items = (1) / erase = false / port = eyetracker </port> <port neuemo_baseline> / items = (2) / erase = false / port = eyetracker </port> <port allbitstozero> / items = (0) / erase = false / port = eyetracker </port> <item emotional> / 1 = "S01.jpg" / 2 = "S02.jpg" / 3 = "S03.jpg" / 4 = "S04.jpg" / 5 = "S05.jpg" / 6 = "S06.jpg" / 7 = "S07.jpg" / 8 = "S08.jpg" / 9 = "S09.jpg" / 10 = "S10.jpg" / 11 = "S11.jpg" / 12 = "S12.jpg" / 13 = "S13.jpg" / 14 = "S14.jpg" / 15 = "S15.jpg" / 16 = "S16.jpg" / 17 = "S17.jpg" / 18 = "S18.jpg" / 19 = "S19.jpg" / 20 = "S20.jpg" / 21 = "S21.jpg" / 22 = "S22.jpg" / 23 = "S23.jpg" / 24 = "S24.jpg" / 25 = "S25.jpg" / 26 = "S26.jpg" / 27 = "S27.jpg" / 28 = "S28.jpg" / 29 = "S29.jpg" / 30 = "S30.jpg" </item> <item neutral> / 1 = "N01.jpg" / 2 = "N02.jpg" / 3 = "N03.jpg" / 4 = "N04.jpg" / 5 = "N05.jpg" / 6 = "N06.jpg" / 7 = "N07.jpg" / 8 = "N08.jpg" / 9 = "N09.jpg" / 10 = "N10.jpg" / 11 = "N11.jpg" / 12 = "N12.jpg" / 13 = "N13.jpg" / 14 = "N14.jpg" / 15 = "N15.jpg" / 16 = "N16.jpg" / 17 = "N17.jpg" / 18 = "N18.jpg" / 19 = "N19.jpg" / 20 = "N20.jpg" / 21 = "N21.jpg" / 22 = "N22.jpg" / 23 = "N23.jpg" / 24 = "N24.jpg" / 25 = "N25.jpg" / 26 = "N26.jpg" / 27 = "N27.jpg" / 28 = "N28.jpg" / 29 = "N29.jpg" / 30 = "N30.jpg" </item> < item fix> / 1 = "fixationcross.png" </item> <picture neuleft> / items = neutral / position = (25%, 50%) / size = (900, 600) / selectionrate = always / select = noreplace </picture> <picture neuright> / items = neutral / position = (75%, 50%) / size = (900, 600) / selectionrate = always / select = noreplace </picture> <picture emoleft> / items = emotional / position = (25%, 50%) / size = (900, 600) / selectionrate = always / select = noreplace </picture> <picture emoright> / items = emotional / position = (75%, 50%) / size = (900, 600) / selectionrate = always / select = noreplace </picture> <picture fixation> / items = fix / position = (50%, 50%) </picture> ------------------------ TRIALS <trial emoneu> / ontrialbegin = [values.marker = (picture.emoleft.nextindex*100) + picture.neuright.nextindex;] / ontrialbegin = [port.marker.setitem(values.marker, 1);] / ontrialbegin = [values.iti = round(rand(1000,2000))] / stimulustimes = [0 = fixation, emoneu_baseline; 1000 = allbitstozero; 1001 = emoleft, neuright, marker] / posttrialpause = (values.iti) / inputdevice = eyetracker / recorddata = true / ontrialend = [values.image_emo = (picture.emoleft.currentitem); values.image_neu = picture.neuright.currentitem] / timeout = values.trialduration </trial> <trial neuemo> / ontrialbegin = [values.marker = (picture.neuleft.nextindex*100) + picture.emoright.nextindex;] / ontrialbegin = [port.marker.setitem(values.marker, 1);] / ontrialbegin = [values.iti = round(rand(1000,2000))] / stimulustimes = [0 = fixation, neuemo_baseline; 1000 = allbitstozero; 1001 = neuleft, emoright, marker] / posttrialpause = (values.iti) / inputdevice = eyetracker / recorddata = true / ontrialend = [values.image_emo = picture.emoright.currentitem; values.image_neu = picture.neuleft.currentitem] / timeout = values.trialduration </trial> <trial iti> / stimulusframes = [1 = fixation] / timeout = round(rand(2000-5000)) / recorddata = false </trial> <trial fixation> / stimulusframes = [1 = fixation] / timeout = 1000 / recorddata = false </trial> <list trialselector> / items = (trial.emoneu, trial.neuemo) / itemprobabilities = (.50, .50) / poolsize = 60 </list> <block eyetracking> / trials = [1-60 = list.trialselector] </block> <data eyetracking> / file = "Sequence.iqdat" / columns = [subject trialnum values.image_emo values.image_neu values.iti] / separatefiles = true </data> <expt eyetracking> / blocks = [1 = eyetracking] </expt> Thanks. Your <picture> elements should *not* be set to /selectionrate = always. <picture neuleft> / items = neutral / position = (25%, 50%) / size = (900, 600) / selectionrate = always/ select = noreplace </picture> They should use the default, /selectionrate = trial. <picture neuleft> / items = neutral / position = (25%, 50%) / size = (900, 600) / selectionrate = trial/ select = noreplace </picture> With /selectionrate = always, you're effectively sampling *two* items from each <picture> stimulus per trial, one here <trial emoneu> / ontrialbegin = [values.marker = (picture. emoleft. nextindex*100) + picture. neuright. nextindex;] / ontrialbegin = [port.marker.setitem(values.marker, 1);] / ontrialbegin = [values.iti = round(rand(1000,2000))] / stimulustimes = [0 = fixation, emoneu_baseline; 1000 = allbitstozero; 1001 = emoleft, neuright, marker] / posttrialpause = (values.iti) / inputdevice = eyetracker / recorddata = true / ontrialend = [values.image_emo = (picture.emoleft.currentitem); values.image_neu = picture.neuright.currentitem] / timeout = values.trialduration </trial> and another one here <trial emoneu> / ontrialbegin = [values.marker = (picture.emoleft.nextindex*100) + picture.neuright.nextindex;] / ontrialbegin = [port.marker.setitem(values.marker, 1);] / ontrialbegin = [values.iti = round(rand(1000,2000))] / stimulustimes = [0 = fixation, emoneu_baseline; 1000 = allbitstozero; 1001 = emoleft, neuright, marker] / posttrialpause = (values.iti) / inputdevice = eyetracker / recorddata = true / ontrialend = [values.image_emo = (picture.emoleft.currentitem); values.image_neu = picture.neuright.currentitem] / timeout = values.trialduration </trial>
|
|
|
Aleya
|
|
Group: Forum Members
Posts: 15,
Visits: 30
|
+x+x+x+x+x+xSorry for being unclear. In the example used before the fixation marker is always 0, independent of the trial or the stimulus pair shown: <trial emoneu>/ ontrialbegin = [values.marker = (picture.emoleft.currentindex*100) + picture.neuright.currentindex;] / ontrialbegin = [port.marker.setitem(values.marker, 1);]/ stimulustimes = [0 = fixation; 2001 = emoleft, neuright, marker]/ posttrialpause = (picture.fixation.item)/ inputdevice = eyetracker/ recorddata = true/ ontrialend = [values.image_emo = (picture.emoleft.currentitem); values.image_neu = picture.neuright.currentitem]/ ontrialend = [values.iti = trial.iti.timeout]/ timeout = values.trialduration </trial>I would like to use the fixation cross as a baseline for the eye movement measured and to do so I have to be able to differentiate the fixation crosses of the different Trials in the output file. Or am I missing some general hint? Concerning the repetitions: I have 60 items (30 of each category) and have indicated the poolsize accordingly, have I not? <list trialselector>/ items = (trial.emoneu, trial.neuemo)/ itemprobabilities = (.50, .50)/ poolsize = 60/ replace = false</list>
Sorry, if my questions are a bit trivial and thanks for your help! Re. 1: "I would like to use the fixation cross as a baseline for the eye movement measured and to do so I have to be able to differentiate the fixation crosses of the different Trials in the output file. Then define two <port> elements, one sending a marker indicating emoneu baseline, one with a marker indicating neuemo baseline. <port emoneu_baseline> / items = (1) / erase = false / port = eyetracker </port> <port neuemo_baseline> / items = (2) / erase = false / port = eyetracker </port> Define a port that resets everything to zero in between markers as well so you can get a clear separation between your baseline and your stimulus marker <port allbitstozero> / items = (0) / erase = false / port = eyetracker </port> Then display the appropriate marker along with the fixation cross in your <trial> elements, e.g. <trial emoneu> / ontrialbegin = [values.marker = (picture.emoleft.currentindex*100) + picture.neuright.currentindex;] / ontrialbegin = [port.marker.setitem(values.marker, 1);] / stimulustimes = [0 = fixation, emoneu_baseline; 1900=allbitstozero; 2001 = emoleft, neuright, marker] ... </trial> Re. 2: "Concerning the repetitions: I have 60 items (30 of each category) and have indicated the poolsize accordingly, have I not?" Your list is sampling *trials* not *items* <list trialselector> / items = (trial.emoneu, trial.neuemo) / itemprobabilities = (.50, .50) / poolsize = 60 / replace = false </list> You should end up with 30 "emoneu" trials and 30 "neuemo" trials. It is *those* trials, however, that display stimuli and their respective items. The code you have shared tells me nothing about how you select items or how often a given stimulus element is sampled from. Sorry about that. I defined the pictures that are read into the trials in the following way: <picture neuleft> / items = neutral / position = (25%, 50%) / size = (900, 600) / selectionrate = always / select = noreplace </picture> <picture neuright> / items = neutral / position = (75%, 50%) / size = (900, 600) / selectionrate = always / select = noreplace </picture> <picture emoleft> / items = emo / position = (25%, 50%) / size = (900, 600) / selectionrate = always / select = noreplace </picture> <picture emoright> / items = emo / position = (75%, 50%) / size = (900, 600) / selectionrate = always / select = noreplace </picture> and then thought that the list would take care of the equal distribution (30 neuemo and 30 emoneu trials) without replacement: <list trialselector> / items = (trial.emoneu, trial.neuemo) / itemprobabilities = (.50, .50) / poolsize = 60 </list> Is there something missing in the trials coding or am I missing something altogether? > Is there something missing in the trials coding or am I missing something altogether? I can't say because those code snippets don't give me a picture of all relevant parts. There's no info about how many trials you are actually running, i.e. the <block> element(s) in your script. The actual <trial> definitions aren't there, you only shared the code for <trial emoneu> in your very first post in this thread. I have no way to see whether the trials are displaying the correct <picture> elements and/or whether there are any other <trial> elements that display those same stimulus elements and thus affect the sampling from those stimulus elements' items. The <item> elements are missing, I have no way to see whether there actually are 30 items, and so forth. Finally, you have not explained what you actually understand a "repeat" to be. Please provide a data file that illustrates what you mean. Sorry. This is the current script I am running (including your implementations): <eyetracker> / plugin = "tobii" </eyetracker> <defaults> / fontstyle = ("Candara", 24pt) / minimumversion = "4.0.4.0" / screencolor = darkgrey </defaults> <values> / trialduration = 1200 / marker = 0 / iti = 0 / image_neu = "" / image_emo = "" / emoneu_baseline = 0 / neuemo_baseline = 0 </values> <instruct> / nextkey = (28) / lastlabel = "Press Enter" / nextlabel = "Press Enter" / fontstyle = ("Candara", 24pt) / screencolor = darkgrey / txcolor = (0, 0, 0) / wait = 500 / windowsize = (100%,100%) </instruct> -------------------- STIMULI <port marker> / items = (0) / port = eyetracker / erase = false </port> <port emoneu_baseline> / items = (1) / erase = false / port = eyetracker </port> <port neuemo_baseline> / items = (2) / erase = false / port = eyetracker </port> <port allbitstozero> / items = (0) / erase = false / port = eyetracker </port> <item emotional> / 1 = "S01.jpg" / 2 = "S02.jpg" / 3 = "S03.jpg" / 4 = "S04.jpg" / 5 = "S05.jpg" / 6 = "S06.jpg" / 7 = "S07.jpg" / 8 = "S08.jpg" / 9 = "S09.jpg" / 10 = "S10.jpg" / 11 = "S11.jpg" / 12 = "S12.jpg" / 13 = "S13.jpg" / 14 = "S14.jpg" / 15 = "S15.jpg" / 16 = "S16.jpg" / 17 = "S17.jpg" / 18 = "S18.jpg" / 19 = "S19.jpg" / 20 = "S20.jpg" / 21 = "S21.jpg" / 22 = "S22.jpg" / 23 = "S23.jpg" / 24 = "S24.jpg" / 25 = "S25.jpg" / 26 = "S26.jpg" / 27 = "S27.jpg" / 28 = "S28.jpg" / 29 = "S29.jpg" / 30 = "S30.jpg" </item> <item neutral> / 1 = "N01.jpg" / 2 = "N02.jpg" / 3 = "N03.jpg" / 4 = "N04.jpg" / 5 = "N05.jpg" / 6 = "N06.jpg" / 7 = "N07.jpg" / 8 = "N08.jpg" / 9 = "N09.jpg" / 10 = "N10.jpg" / 11 = "N11.jpg" / 12 = "N12.jpg" / 13 = "N13.jpg" / 14 = "N14.jpg" / 15 = "N15.jpg" / 16 = "N16.jpg" / 17 = "N17.jpg" / 18 = "N18.jpg" / 19 = "N19.jpg" / 20 = "N20.jpg" / 21 = "N21.jpg" / 22 = "N22.jpg" / 23 = "N23.jpg" / 24 = "N24.jpg" / 25 = "N25.jpg" / 26 = "N26.jpg" / 27 = "N27.jpg" / 28 = "N28.jpg" / 29 = "N29.jpg" / 30 = "N30.jpg" </item> < item fix> / 1 = "fixationcross.png" </item> <picture neuleft> / items = neutral / position = (25%, 50%) / size = (900, 600) / selectionrate = always / select = noreplace </picture> <picture neuright> / items = neutral / position = (75%, 50%) / size = (900, 600) / selectionrate = always / select = noreplace </picture> <picture emoleft> / items = emotional / position = (25%, 50%) / size = (900, 600) / selectionrate = always / select = noreplace </picture> <picture emoright> / items = emotional / position = (75%, 50%) / size = (900, 600) / selectionrate = always / select = noreplace </picture> <picture fixation> / items = fix / position = (50%, 50%) </picture> ------------------------ TRIALS <trial emoneu> / ontrialbegin = [values.marker = (picture.emoleft.nextindex*100) + picture.neuright.nextindex;] / ontrialbegin = [port.marker.setitem(values.marker, 1);] / ontrialbegin = [values.iti = round(rand(1000,2000))] / stimulustimes = [0 = fixation, emoneu_baseline; 1000 = allbitstozero; 1001 = emoleft, neuright, marker] / posttrialpause = (values.iti) / inputdevice = eyetracker / recorddata = true / ontrialend = [values.image_emo = (picture.emoleft.currentitem); values.image_neu = picture.neuright.currentitem] / timeout = values.trialduration </trial> <trial neuemo> / ontrialbegin = [values.marker = (picture.neuleft.nextindex*100) + picture.emoright.nextindex;] / ontrialbegin = [port.marker.setitem(values.marker, 1);] / ontrialbegin = [values.iti = round(rand(1000,2000))] / stimulustimes = [0 = fixation, neuemo_baseline; 1000 = allbitstozero; 1001 = neuleft, emoright, marker] / posttrialpause = (values.iti) / inputdevice = eyetracker / recorddata = true / ontrialend = [values.image_emo = picture.emoright.currentitem; values.image_neu = picture.neuleft.currentitem] / timeout = values.trialduration </trial> <trial iti> / stimulusframes = [1 = fixation] / timeout = round(rand(2000-5000)) / recorddata = false </trial> <trial fixation> / stimulusframes = [1 = fixation] / timeout = 1000 / recorddata = false </trial> <list trialselector> / items = (trial.emoneu, trial.neuemo) / itemprobabilities = (.50, .50) / poolsize = 60 </list> <block eyetracking> / trials = [1-60 = list.trialselector] </block> <data eyetracking> / file = "Sequence.iqdat" / columns = [subject trialnum values.image_emo values.image_neu values.iti] / separatefiles = true </data> <expt eyetracking> / blocks = [1 = eyetracking] </expt> Thanks. Your <picture> elements should *not* be set to /selectionrate = always. <picture neuleft> / items = neutral / position = (25%, 50%) / size = (900, 600) / selectionrate = always/ select = noreplace </picture> They should use the default, /selectionrate = trial. <picture neuleft> / items = neutral / position = (25%, 50%) / size = (900, 600) / selectionrate = trial/ select = noreplace </picture> With /selectionrate = always, you're effectively sampling *two* items from each <picture> stimulus per trial, one here <trial emoneu> / ontrialbegin = [values.marker = (picture. emoleft. nextindex*100) + picture. neuright. nextindex;] / ontrialbegin = [port.marker.setitem(values.marker, 1);] / ontrialbegin = [values.iti = round(rand(1000,2000))] / stimulustimes = [0 = fixation, emoneu_baseline; 1000 = allbitstozero; 1001 = emoleft, neuright, marker] / posttrialpause = (values.iti) / inputdevice = eyetracker / recorddata = true / ontrialend = [values.image_emo = (picture.emoleft.currentitem); values.image_neu = picture.neuright.currentitem] / timeout = values.trialduration </trial> and another one here <trial emoneu> / ontrialbegin = [values.marker = (picture.emoleft.nextindex*100) + picture.neuright.nextindex;] / ontrialbegin = [port.marker.setitem(values.marker, 1);] / ontrialbegin = [values.iti = round(rand(1000,2000))] / stimulustimes = [0 = fixation, emoneu_baseline; 1000 = allbitstozero; 1001 = emoleft, neuright, marker] / posttrialpause = (values.iti) / inputdevice = eyetracker / recorddata = true / ontrialend = [values.image_emo = (picture.emoleft.currentitem); values.image_neu = picture.neuright.currentitem] / timeout = values.trialduration </trial> I see, thank you Dave! I just tried it though and it is still repeating Stimuli in the presentation!?
|
|
|
Dave
|
|
Group: Administrators
Posts: 13K,
Visits: 104K
|
+x+x+x+x+x+x+xSorry for being unclear. In the example used before the fixation marker is always 0, independent of the trial or the stimulus pair shown: <trial emoneu>/ ontrialbegin = [values.marker = (picture.emoleft.currentindex*100) + picture.neuright.currentindex;] / ontrialbegin = [port.marker.setitem(values.marker, 1);]/ stimulustimes = [0 = fixation; 2001 = emoleft, neuright, marker]/ posttrialpause = (picture.fixation.item)/ inputdevice = eyetracker/ recorddata = true/ ontrialend = [values.image_emo = (picture.emoleft.currentitem); values.image_neu = picture.neuright.currentitem]/ ontrialend = [values.iti = trial.iti.timeout]/ timeout = values.trialduration </trial>I would like to use the fixation cross as a baseline for the eye movement measured and to do so I have to be able to differentiate the fixation crosses of the different Trials in the output file. Or am I missing some general hint? Concerning the repetitions: I have 60 items (30 of each category) and have indicated the poolsize accordingly, have I not? <list trialselector>/ items = (trial.emoneu, trial.neuemo)/ itemprobabilities = (.50, .50)/ poolsize = 60/ replace = false</list>
Sorry, if my questions are a bit trivial and thanks for your help! Re. 1: "I would like to use the fixation cross as a baseline for the eye movement measured and to do so I have to be able to differentiate the fixation crosses of the different Trials in the output file. Then define two <port> elements, one sending a marker indicating emoneu baseline, one with a marker indicating neuemo baseline. <port emoneu_baseline> / items = (1) / erase = false / port = eyetracker </port> <port neuemo_baseline> / items = (2) / erase = false / port = eyetracker </port> Define a port that resets everything to zero in between markers as well so you can get a clear separation between your baseline and your stimulus marker <port allbitstozero> / items = (0) / erase = false / port = eyetracker </port> Then display the appropriate marker along with the fixation cross in your <trial> elements, e.g. <trial emoneu> / ontrialbegin = [values.marker = (picture.emoleft.currentindex*100) + picture.neuright.currentindex;] / ontrialbegin = [port.marker.setitem(values.marker, 1);] / stimulustimes = [0 = fixation, emoneu_baseline; 1900=allbitstozero; 2001 = emoleft, neuright, marker] ... </trial> Re. 2: "Concerning the repetitions: I have 60 items (30 of each category) and have indicated the poolsize accordingly, have I not?" Your list is sampling *trials* not *items* <list trialselector> / items = (trial.emoneu, trial.neuemo) / itemprobabilities = (.50, .50) / poolsize = 60 / replace = false </list> You should end up with 30 "emoneu" trials and 30 "neuemo" trials. It is *those* trials, however, that display stimuli and their respective items. The code you have shared tells me nothing about how you select items or how often a given stimulus element is sampled from. Sorry about that. I defined the pictures that are read into the trials in the following way: <picture neuleft> / items = neutral / position = (25%, 50%) / size = (900, 600) / selectionrate = always / select = noreplace </picture> <picture neuright> / items = neutral / position = (75%, 50%) / size = (900, 600) / selectionrate = always / select = noreplace </picture> <picture emoleft> / items = emo / position = (25%, 50%) / size = (900, 600) / selectionrate = always / select = noreplace </picture> <picture emoright> / items = emo / position = (75%, 50%) / size = (900, 600) / selectionrate = always / select = noreplace </picture> and then thought that the list would take care of the equal distribution (30 neuemo and 30 emoneu trials) without replacement: <list trialselector> / items = (trial.emoneu, trial.neuemo) / itemprobabilities = (.50, .50) / poolsize = 60 </list> Is there something missing in the trials coding or am I missing something altogether? > Is there something missing in the trials coding or am I missing something altogether? I can't say because those code snippets don't give me a picture of all relevant parts. There's no info about how many trials you are actually running, i.e. the <block> element(s) in your script. The actual <trial> definitions aren't there, you only shared the code for <trial emoneu> in your very first post in this thread. I have no way to see whether the trials are displaying the correct <picture> elements and/or whether there are any other <trial> elements that display those same stimulus elements and thus affect the sampling from those stimulus elements' items. The <item> elements are missing, I have no way to see whether there actually are 30 items, and so forth. Finally, you have not explained what you actually understand a "repeat" to be. Please provide a data file that illustrates what you mean. Sorry. This is the current script I am running (including your implementations): <eyetracker> / plugin = "tobii" </eyetracker> <defaults> / fontstyle = ("Candara", 24pt) / minimumversion = "4.0.4.0" / screencolor = darkgrey </defaults> <values> / trialduration = 1200 / marker = 0 / iti = 0 / image_neu = "" / image_emo = "" / emoneu_baseline = 0 / neuemo_baseline = 0 </values> <instruct> / nextkey = (28) / lastlabel = "Press Enter" / nextlabel = "Press Enter" / fontstyle = ("Candara", 24pt) / screencolor = darkgrey / txcolor = (0, 0, 0) / wait = 500 / windowsize = (100%,100%) </instruct> -------------------- STIMULI <port marker> / items = (0) / port = eyetracker / erase = false </port> <port emoneu_baseline> / items = (1) / erase = false / port = eyetracker </port> <port neuemo_baseline> / items = (2) / erase = false / port = eyetracker </port> <port allbitstozero> / items = (0) / erase = false / port = eyetracker </port> <item emotional> / 1 = "S01.jpg" / 2 = "S02.jpg" / 3 = "S03.jpg" / 4 = "S04.jpg" / 5 = "S05.jpg" / 6 = "S06.jpg" / 7 = "S07.jpg" / 8 = "S08.jpg" / 9 = "S09.jpg" / 10 = "S10.jpg" / 11 = "S11.jpg" / 12 = "S12.jpg" / 13 = "S13.jpg" / 14 = "S14.jpg" / 15 = "S15.jpg" / 16 = "S16.jpg" / 17 = "S17.jpg" / 18 = "S18.jpg" / 19 = "S19.jpg" / 20 = "S20.jpg" / 21 = "S21.jpg" / 22 = "S22.jpg" / 23 = "S23.jpg" / 24 = "S24.jpg" / 25 = "S25.jpg" / 26 = "S26.jpg" / 27 = "S27.jpg" / 28 = "S28.jpg" / 29 = "S29.jpg" / 30 = "S30.jpg" </item> <item neutral> / 1 = "N01.jpg" / 2 = "N02.jpg" / 3 = "N03.jpg" / 4 = "N04.jpg" / 5 = "N05.jpg" / 6 = "N06.jpg" / 7 = "N07.jpg" / 8 = "N08.jpg" / 9 = "N09.jpg" / 10 = "N10.jpg" / 11 = "N11.jpg" / 12 = "N12.jpg" / 13 = "N13.jpg" / 14 = "N14.jpg" / 15 = "N15.jpg" / 16 = "N16.jpg" / 17 = "N17.jpg" / 18 = "N18.jpg" / 19 = "N19.jpg" / 20 = "N20.jpg" / 21 = "N21.jpg" / 22 = "N22.jpg" / 23 = "N23.jpg" / 24 = "N24.jpg" / 25 = "N25.jpg" / 26 = "N26.jpg" / 27 = "N27.jpg" / 28 = "N28.jpg" / 29 = "N29.jpg" / 30 = "N30.jpg" </item> < item fix> / 1 = "fixationcross.png" </item> <picture neuleft> / items = neutral / position = (25%, 50%) / size = (900, 600) / selectionrate = always / select = noreplace </picture> <picture neuright> / items = neutral / position = (75%, 50%) / size = (900, 600) / selectionrate = always / select = noreplace </picture> <picture emoleft> / items = emotional / position = (25%, 50%) / size = (900, 600) / selectionrate = always / select = noreplace </picture> <picture emoright> / items = emotional / position = (75%, 50%) / size = (900, 600) / selectionrate = always / select = noreplace </picture> <picture fixation> / items = fix / position = (50%, 50%) </picture> ------------------------ TRIALS <trial emoneu> / ontrialbegin = [values.marker = (picture.emoleft.nextindex*100) + picture.neuright.nextindex;] / ontrialbegin = [port.marker.setitem(values.marker, 1);] / ontrialbegin = [values.iti = round(rand(1000,2000))] / stimulustimes = [0 = fixation, emoneu_baseline; 1000 = allbitstozero; 1001 = emoleft, neuright, marker] / posttrialpause = (values.iti) / inputdevice = eyetracker / recorddata = true / ontrialend = [values.image_emo = (picture.emoleft.currentitem); values.image_neu = picture.neuright.currentitem] / timeout = values.trialduration </trial> <trial neuemo> / ontrialbegin = [values.marker = (picture.neuleft.nextindex*100) + picture.emoright.nextindex;] / ontrialbegin = [port.marker.setitem(values.marker, 1);] / ontrialbegin = [values.iti = round(rand(1000,2000))] / stimulustimes = [0 = fixation, neuemo_baseline; 1000 = allbitstozero; 1001 = neuleft, emoright, marker] / posttrialpause = (values.iti) / inputdevice = eyetracker / recorddata = true / ontrialend = [values.image_emo = picture.emoright.currentitem; values.image_neu = picture.neuleft.currentitem] / timeout = values.trialduration </trial> <trial iti> / stimulusframes = [1 = fixation] / timeout = round(rand(2000-5000)) / recorddata = false </trial> <trial fixation> / stimulusframes = [1 = fixation] / timeout = 1000 / recorddata = false </trial> <list trialselector> / items = (trial.emoneu, trial.neuemo) / itemprobabilities = (.50, .50) / poolsize = 60 </list> <block eyetracking> / trials = [1-60 = list.trialselector] </block> <data eyetracking> / file = "Sequence.iqdat" / columns = [subject trialnum values.image_emo values.image_neu values.iti] / separatefiles = true </data> <expt eyetracking> / blocks = [1 = eyetracking] </expt> Thanks. Your <picture> elements should *not* be set to /selectionrate = always. <picture neuleft> / items = neutral / position = (25%, 50%) / size = (900, 600) / selectionrate = always/ select = noreplace </picture> They should use the default, /selectionrate = trial. <picture neuleft> / items = neutral / position = (25%, 50%) / size = (900, 600) / selectionrate = trial/ select = noreplace </picture> With /selectionrate = always, you're effectively sampling *two* items from each <picture> stimulus per trial, one here <trial emoneu> / ontrialbegin = [values.marker = (picture. emoleft. nextindex*100) + picture. neuright. nextindex;] / ontrialbegin = [port.marker.setitem(values.marker, 1);] / ontrialbegin = [values.iti = round(rand(1000,2000))] / stimulustimes = [0 = fixation, emoneu_baseline; 1000 = allbitstozero; 1001 = emoleft, neuright, marker] / posttrialpause = (values.iti) / inputdevice = eyetracker / recorddata = true / ontrialend = [values.image_emo = (picture.emoleft.currentitem); values.image_neu = picture.neuright.currentitem] / timeout = values.trialduration </trial> and another one here <trial emoneu> / ontrialbegin = [values.marker = (picture.emoleft.nextindex*100) + picture.neuright.nextindex;] / ontrialbegin = [port.marker.setitem(values.marker, 1);] / ontrialbegin = [values.iti = round(rand(1000,2000))] / stimulustimes = [0 = fixation, emoneu_baseline; 1000 = allbitstozero; 1001 = emoleft, neuright, marker] / posttrialpause = (values.iti) / inputdevice = eyetracker / recorddata = true / ontrialend = [values.image_emo = (picture.emoleft.currentitem); values.image_neu = picture.neuright.currentitem] / timeout = values.trialduration </trial> I see, thank you Dave! I just tried it though and it is still repeating Stimuli in the presentation!? Please clarify what exactly you mean by "repeating stimuli in the presentation." As stated before, please also provide a data file that illustrates what exactly you mean.
|
|
|
Aleya
|
|
Group: Forum Members
Posts: 15,
Visits: 30
|
+x+x+x+x+x+x+x+xSorry for being unclear. In the example used before the fixation marker is always 0, independent of the trial or the stimulus pair shown: <trial emoneu>/ ontrialbegin = [values.marker = (picture.emoleft.currentindex*100) + picture.neuright.currentindex;] / ontrialbegin = [port.marker.setitem(values.marker, 1);]/ stimulustimes = [0 = fixation; 2001 = emoleft, neuright, marker]/ posttrialpause = (picture.fixation.item)/ inputdevice = eyetracker/ recorddata = true/ ontrialend = [values.image_emo = (picture.emoleft.currentitem); values.image_neu = picture.neuright.currentitem]/ ontrialend = [values.iti = trial.iti.timeout]/ timeout = values.trialduration </trial>I would like to use the fixation cross as a baseline for the eye movement measured and to do so I have to be able to differentiate the fixation crosses of the different Trials in the output file. Or am I missing some general hint? Concerning the repetitions: I have 60 items (30 of each category) and have indicated the poolsize accordingly, have I not? <list trialselector>/ items = (trial.emoneu, trial.neuemo)/ itemprobabilities = (.50, .50)/ poolsize = 60/ replace = false</list>
Sorry, if my questions are a bit trivial and thanks for your help! Re. 1: "I would like to use the fixation cross as a baseline for the eye movement measured and to do so I have to be able to differentiate the fixation crosses of the different Trials in the output file. Then define two <port> elements, one sending a marker indicating emoneu baseline, one with a marker indicating neuemo baseline. <port emoneu_baseline> / items = (1) / erase = false / port = eyetracker </port> <port neuemo_baseline> / items = (2) / erase = false / port = eyetracker </port> Define a port that resets everything to zero in between markers as well so you can get a clear separation between your baseline and your stimulus marker <port allbitstozero> / items = (0) / erase = false / port = eyetracker </port> Then display the appropriate marker along with the fixation cross in your <trial> elements, e.g. <trial emoneu> / ontrialbegin = [values.marker = (picture.emoleft.currentindex*100) + picture.neuright.currentindex;] / ontrialbegin = [port.marker.setitem(values.marker, 1);] / stimulustimes = [0 = fixation, emoneu_baseline; 1900=allbitstozero; 2001 = emoleft, neuright, marker] ... </trial> Re. 2: "Concerning the repetitions: I have 60 items (30 of each category) and have indicated the poolsize accordingly, have I not?" Your list is sampling *trials* not *items* <list trialselector> / items = (trial.emoneu, trial.neuemo) / itemprobabilities = (.50, .50) / poolsize = 60 / replace = false </list> You should end up with 30 "emoneu" trials and 30 "neuemo" trials. It is *those* trials, however, that display stimuli and their respective items. The code you have shared tells me nothing about how you select items or how often a given stimulus element is sampled from. Sorry about that. I defined the pictures that are read into the trials in the following way: <picture neuleft> / items = neutral / position = (25%, 50%) / size = (900, 600) / selectionrate = always / select = noreplace </picture> <picture neuright> / items = neutral / position = (75%, 50%) / size = (900, 600) / selectionrate = always / select = noreplace </picture> <picture emoleft> / items = emo / position = (25%, 50%) / size = (900, 600) / selectionrate = always / select = noreplace </picture> <picture emoright> / items = emo / position = (75%, 50%) / size = (900, 600) / selectionrate = always / select = noreplace </picture> and then thought that the list would take care of the equal distribution (30 neuemo and 30 emoneu trials) without replacement: <list trialselector> / items = (trial.emoneu, trial.neuemo) / itemprobabilities = (.50, .50) / poolsize = 60 </list> Is there something missing in the trials coding or am I missing something altogether? > Is there something missing in the trials coding or am I missing something altogether? I can't say because those code snippets don't give me a picture of all relevant parts. There's no info about how many trials you are actually running, i.e. the <block> element(s) in your script. The actual <trial> definitions aren't there, you only shared the code for <trial emoneu> in your very first post in this thread. I have no way to see whether the trials are displaying the correct <picture> elements and/or whether there are any other <trial> elements that display those same stimulus elements and thus affect the sampling from those stimulus elements' items. The <item> elements are missing, I have no way to see whether there actually are 30 items, and so forth. Finally, you have not explained what you actually understand a "repeat" to be. Please provide a data file that illustrates what you mean. Sorry. This is the current script I am running (including your implementations): <eyetracker> / plugin = "tobii" </eyetracker> <defaults> / fontstyle = ("Candara", 24pt) / minimumversion = "4.0.4.0" / screencolor = darkgrey </defaults> <values> / trialduration = 1200 / marker = 0 / iti = 0 / image_neu = "" / image_emo = "" / emoneu_baseline = 0 / neuemo_baseline = 0 </values> <instruct> / nextkey = (28) / lastlabel = "Press Enter" / nextlabel = "Press Enter" / fontstyle = ("Candara", 24pt) / screencolor = darkgrey / txcolor = (0, 0, 0) / wait = 500 / windowsize = (100%,100%) </instruct> -------------------- STIMULI <port marker> / items = (0) / port = eyetracker / erase = false </port> <port emoneu_baseline> / items = (1) / erase = false / port = eyetracker </port> <port neuemo_baseline> / items = (2) / erase = false / port = eyetracker </port> <port allbitstozero> / items = (0) / erase = false / port = eyetracker </port> <item emotional> / 1 = "S01.jpg" / 2 = "S02.jpg" / 3 = "S03.jpg" / 4 = "S04.jpg" / 5 = "S05.jpg" / 6 = "S06.jpg" / 7 = "S07.jpg" / 8 = "S08.jpg" / 9 = "S09.jpg" / 10 = "S10.jpg" / 11 = "S11.jpg" / 12 = "S12.jpg" / 13 = "S13.jpg" / 14 = "S14.jpg" / 15 = "S15.jpg" / 16 = "S16.jpg" / 17 = "S17.jpg" / 18 = "S18.jpg" / 19 = "S19.jpg" / 20 = "S20.jpg" / 21 = "S21.jpg" / 22 = "S22.jpg" / 23 = "S23.jpg" / 24 = "S24.jpg" / 25 = "S25.jpg" / 26 = "S26.jpg" / 27 = "S27.jpg" / 28 = "S28.jpg" / 29 = "S29.jpg" / 30 = "S30.jpg" </item> <item neutral> / 1 = "N01.jpg" / 2 = "N02.jpg" / 3 = "N03.jpg" / 4 = "N04.jpg" / 5 = "N05.jpg" / 6 = "N06.jpg" / 7 = "N07.jpg" / 8 = "N08.jpg" / 9 = "N09.jpg" / 10 = "N10.jpg" / 11 = "N11.jpg" / 12 = "N12.jpg" / 13 = "N13.jpg" / 14 = "N14.jpg" / 15 = "N15.jpg" / 16 = "N16.jpg" / 17 = "N17.jpg" / 18 = "N18.jpg" / 19 = "N19.jpg" / 20 = "N20.jpg" / 21 = "N21.jpg" / 22 = "N22.jpg" / 23 = "N23.jpg" / 24 = "N24.jpg" / 25 = "N25.jpg" / 26 = "N26.jpg" / 27 = "N27.jpg" / 28 = "N28.jpg" / 29 = "N29.jpg" / 30 = "N30.jpg" </item> < item fix> / 1 = "fixationcross.png" </item> <picture neuleft> / items = neutral / position = (25%, 50%) / size = (900, 600) / selectionrate = always / select = noreplace </picture> <picture neuright> / items = neutral / position = (75%, 50%) / size = (900, 600) / selectionrate = always / select = noreplace </picture> <picture emoleft> / items = emotional / position = (25%, 50%) / size = (900, 600) / selectionrate = always / select = noreplace </picture> <picture emoright> / items = emotional / position = (75%, 50%) / size = (900, 600) / selectionrate = always / select = noreplace </picture> <picture fixation> / items = fix / position = (50%, 50%) </picture> ------------------------ TRIALS <trial emoneu> / ontrialbegin = [values.marker = (picture.emoleft.nextindex*100) + picture.neuright.nextindex;] / ontrialbegin = [port.marker.setitem(values.marker, 1);] / ontrialbegin = [values.iti = round(rand(1000,2000))] / stimulustimes = [0 = fixation, emoneu_baseline; 1000 = allbitstozero; 1001 = emoleft, neuright, marker] / posttrialpause = (values.iti) / inputdevice = eyetracker / recorddata = true / ontrialend = [values.image_emo = (picture.emoleft.currentitem); values.image_neu = picture.neuright.currentitem] / timeout = values.trialduration </trial> <trial neuemo> / ontrialbegin = [values.marker = (picture.neuleft.nextindex*100) + picture.emoright.nextindex;] / ontrialbegin = [port.marker.setitem(values.marker, 1);] / ontrialbegin = [values.iti = round(rand(1000,2000))] / stimulustimes = [0 = fixation, neuemo_baseline; 1000 = allbitstozero; 1001 = neuleft, emoright, marker] / posttrialpause = (values.iti) / inputdevice = eyetracker / recorddata = true / ontrialend = [values.image_emo = picture.emoright.currentitem; values.image_neu = picture.neuleft.currentitem] / timeout = values.trialduration </trial> <trial iti> / stimulusframes = [1 = fixation] / timeout = round(rand(2000-5000)) / recorddata = false </trial> <trial fixation> / stimulusframes = [1 = fixation] / timeout = 1000 / recorddata = false </trial> <list trialselector> / items = (trial.emoneu, trial.neuemo) / itemprobabilities = (.50, .50) / poolsize = 60 </list> <block eyetracking> / trials = [1-60 = list.trialselector] </block> <data eyetracking> / file = "Sequence.iqdat" / columns = [subject trialnum values.image_emo values.image_neu values.iti] / separatefiles = true </data> <expt eyetracking> / blocks = [1 = eyetracking] </expt> Thanks. Your <picture> elements should *not* be set to /selectionrate = always. <picture neuleft> / items = neutral / position = (25%, 50%) / size = (900, 600) / selectionrate = always/ select = noreplace </picture> They should use the default, /selectionrate = trial. <picture neuleft> / items = neutral / position = (25%, 50%) / size = (900, 600) / selectionrate = trial/ select = noreplace </picture> With /selectionrate = always, you're effectively sampling *two* items from each <picture> stimulus per trial, one here <trial emoneu> / ontrialbegin = [values.marker = (picture. emoleft. nextindex*100) + picture. neuright. nextindex;] / ontrialbegin = [port.marker.setitem(values.marker, 1);] / ontrialbegin = [values.iti = round(rand(1000,2000))] / stimulustimes = [0 = fixation, emoneu_baseline; 1000 = allbitstozero; 1001 = emoleft, neuright, marker] / posttrialpause = (values.iti) / inputdevice = eyetracker / recorddata = true / ontrialend = [values.image_emo = (picture.emoleft.currentitem); values.image_neu = picture.neuright.currentitem] / timeout = values.trialduration </trial> and another one here <trial emoneu> / ontrialbegin = [values.marker = (picture.emoleft.nextindex*100) + picture.neuright.nextindex;] / ontrialbegin = [port.marker.setitem(values.marker, 1);] / ontrialbegin = [values.iti = round(rand(1000,2000))] / stimulustimes = [0 = fixation, emoneu_baseline; 1000 = allbitstozero; 1001 = emoleft, neuright, marker] / posttrialpause = (values.iti) / inputdevice = eyetracker / recorddata = true / ontrialend = [values.image_emo = (picture.emoleft.currentitem); values.image_neu = picture.neuright.currentitem] / timeout = values.trialduration </trial> I see, thank you Dave! I just tried it though and it is still repeating Stimuli in the presentation!? Please clarify what exactly you mean by "repeating stimuli in the presentation." As stated before, please also provide a data file that illustrates what exactly you mean. When I run the experiment, stimulus S30.jpg for example will be shown twice within the first 10 trials: subject group trialnum values.image_emovalues.image_neuvalues.iti 1 1 2 S30.jpg N03.jpg 3004 1 1 3 S03.jpg N18.jpg 3836 1 1 4 S25.jpg N01.jpg 4856 1 1 5 S09.jpg N04.jpg 3431 1 1 6 S27.jpg N25.jpg 4099 1 1 7 S24.jpg N24.jpg 3833 1 1 8 S22.jpg N13.jpg 4304 1 1 9 S28.jpg N11.jpg 3418 1 1 10 S30.jpg N20.jpg 4452 1 1 11 S23.jpg N11.jpg 3350 ….. How can that be?
|
|
|
Dave
|
|
Group: Administrators
Posts: 13K,
Visits: 104K
|
+x+x+x+x+x+x+x+x+xSorry for being unclear. In the example used before the fixation marker is always 0, independent of the trial or the stimulus pair shown: <trial emoneu>/ ontrialbegin = [values.marker = (picture.emoleft.currentindex*100) + picture.neuright.currentindex;] / ontrialbegin = [port.marker.setitem(values.marker, 1);]/ stimulustimes = [0 = fixation; 2001 = emoleft, neuright, marker]/ posttrialpause = (picture.fixation.item)/ inputdevice = eyetracker/ recorddata = true/ ontrialend = [values.image_emo = (picture.emoleft.currentitem); values.image_neu = picture.neuright.currentitem]/ ontrialend = [values.iti = trial.iti.timeout]/ timeout = values.trialduration </trial>I would like to use the fixation cross as a baseline for the eye movement measured and to do so I have to be able to differentiate the fixation crosses of the different Trials in the output file. Or am I missing some general hint? Concerning the repetitions: I have 60 items (30 of each category) and have indicated the poolsize accordingly, have I not? <list trialselector>/ items = (trial.emoneu, trial.neuemo)/ itemprobabilities = (.50, .50)/ poolsize = 60/ replace = false</list>
Sorry, if my questions are a bit trivial and thanks for your help! Re. 1: "I would like to use the fixation cross as a baseline for the eye movement measured and to do so I have to be able to differentiate the fixation crosses of the different Trials in the output file. Then define two <port> elements, one sending a marker indicating emoneu baseline, one with a marker indicating neuemo baseline. <port emoneu_baseline> / items = (1) / erase = false / port = eyetracker </port> <port neuemo_baseline> / items = (2) / erase = false / port = eyetracker </port> Define a port that resets everything to zero in between markers as well so you can get a clear separation between your baseline and your stimulus marker <port allbitstozero> / items = (0) / erase = false / port = eyetracker </port> Then display the appropriate marker along with the fixation cross in your <trial> elements, e.g. <trial emoneu> / ontrialbegin = [values.marker = (picture.emoleft.currentindex*100) + picture.neuright.currentindex;] / ontrialbegin = [port.marker.setitem(values.marker, 1);] / stimulustimes = [0 = fixation, emoneu_baseline; 1900=allbitstozero; 2001 = emoleft, neuright, marker] ... </trial> Re. 2: "Concerning the repetitions: I have 60 items (30 of each category) and have indicated the poolsize accordingly, have I not?" Your list is sampling *trials* not *items* <list trialselector> / items = (trial.emoneu, trial.neuemo) / itemprobabilities = (.50, .50) / poolsize = 60 / replace = false </list> You should end up with 30 "emoneu" trials and 30 "neuemo" trials. It is *those* trials, however, that display stimuli and their respective items. The code you have shared tells me nothing about how you select items or how often a given stimulus element is sampled from. Sorry about that. I defined the pictures that are read into the trials in the following way: <picture neuleft> / items = neutral / position = (25%, 50%) / size = (900, 600) / selectionrate = always / select = noreplace </picture> <picture neuright> / items = neutral / position = (75%, 50%) / size = (900, 600) / selectionrate = always / select = noreplace </picture> <picture emoleft> / items = emo / position = (25%, 50%) / size = (900, 600) / selectionrate = always / select = noreplace </picture> <picture emoright> / items = emo / position = (75%, 50%) / size = (900, 600) / selectionrate = always / select = noreplace </picture> and then thought that the list would take care of the equal distribution (30 neuemo and 30 emoneu trials) without replacement: <list trialselector> / items = (trial.emoneu, trial.neuemo) / itemprobabilities = (.50, .50) / poolsize = 60 </list> Is there something missing in the trials coding or am I missing something altogether? > Is there something missing in the trials coding or am I missing something altogether? I can't say because those code snippets don't give me a picture of all relevant parts. There's no info about how many trials you are actually running, i.e. the <block> element(s) in your script. The actual <trial> definitions aren't there, you only shared the code for <trial emoneu> in your very first post in this thread. I have no way to see whether the trials are displaying the correct <picture> elements and/or whether there are any other <trial> elements that display those same stimulus elements and thus affect the sampling from those stimulus elements' items. The <item> elements are missing, I have no way to see whether there actually are 30 items, and so forth. Finally, you have not explained what you actually understand a "repeat" to be. Please provide a data file that illustrates what you mean. Sorry. This is the current script I am running (including your implementations): <eyetracker> / plugin = "tobii" </eyetracker> <defaults> / fontstyle = ("Candara", 24pt) / minimumversion = "4.0.4.0" / screencolor = darkgrey </defaults> <values> / trialduration = 1200 / marker = 0 / iti = 0 / image_neu = "" / image_emo = "" / emoneu_baseline = 0 / neuemo_baseline = 0 </values> <instruct> / nextkey = (28) / lastlabel = "Press Enter" / nextlabel = "Press Enter" / fontstyle = ("Candara", 24pt) / screencolor = darkgrey / txcolor = (0, 0, 0) / wait = 500 / windowsize = (100%,100%) </instruct> -------------------- STIMULI <port marker> / items = (0) / port = eyetracker / erase = false </port> <port emoneu_baseline> / items = (1) / erase = false / port = eyetracker </port> <port neuemo_baseline> / items = (2) / erase = false / port = eyetracker </port> <port allbitstozero> / items = (0) / erase = false / port = eyetracker </port> <item emotional> / 1 = "S01.jpg" / 2 = "S02.jpg" / 3 = "S03.jpg" / 4 = "S04.jpg" / 5 = "S05.jpg" / 6 = "S06.jpg" / 7 = "S07.jpg" / 8 = "S08.jpg" / 9 = "S09.jpg" / 10 = "S10.jpg" / 11 = "S11.jpg" / 12 = "S12.jpg" / 13 = "S13.jpg" / 14 = "S14.jpg" / 15 = "S15.jpg" / 16 = "S16.jpg" / 17 = "S17.jpg" / 18 = "S18.jpg" / 19 = "S19.jpg" / 20 = "S20.jpg" / 21 = "S21.jpg" / 22 = "S22.jpg" / 23 = "S23.jpg" / 24 = "S24.jpg" / 25 = "S25.jpg" / 26 = "S26.jpg" / 27 = "S27.jpg" / 28 = "S28.jpg" / 29 = "S29.jpg" / 30 = "S30.jpg" </item> <item neutral> / 1 = "N01.jpg" / 2 = "N02.jpg" / 3 = "N03.jpg" / 4 = "N04.jpg" / 5 = "N05.jpg" / 6 = "N06.jpg" / 7 = "N07.jpg" / 8 = "N08.jpg" / 9 = "N09.jpg" / 10 = "N10.jpg" / 11 = "N11.jpg" / 12 = "N12.jpg" / 13 = "N13.jpg" / 14 = "N14.jpg" / 15 = "N15.jpg" / 16 = "N16.jpg" / 17 = "N17.jpg" / 18 = "N18.jpg" / 19 = "N19.jpg" / 20 = "N20.jpg" / 21 = "N21.jpg" / 22 = "N22.jpg" / 23 = "N23.jpg" / 24 = "N24.jpg" / 25 = "N25.jpg" / 26 = "N26.jpg" / 27 = "N27.jpg" / 28 = "N28.jpg" / 29 = "N29.jpg" / 30 = "N30.jpg" </item> < item fix> / 1 = "fixationcross.png" </item> <picture neuleft> / items = neutral / position = (25%, 50%) / size = (900, 600) / selectionrate = always / select = noreplace </picture> <picture neuright> / items = neutral / position = (75%, 50%) / size = (900, 600) / selectionrate = always / select = noreplace </picture> <picture emoleft> / items = emotional / position = (25%, 50%) / size = (900, 600) / selectionrate = always / select = noreplace </picture> <picture emoright> / items = emotional / position = (75%, 50%) / size = (900, 600) / selectionrate = always / select = noreplace </picture> <picture fixation> / items = fix / position = (50%, 50%) </picture> ------------------------ TRIALS <trial emoneu> / ontrialbegin = [values.marker = (picture.emoleft.nextindex*100) + picture.neuright.nextindex;] / ontrialbegin = [port.marker.setitem(values.marker, 1);] / ontrialbegin = [values.iti = round(rand(1000,2000))] / stimulustimes = [0 = fixation, emoneu_baseline; 1000 = allbitstozero; 1001 = emoleft, neuright, marker] / posttrialpause = (values.iti) / inputdevice = eyetracker / recorddata = true / ontrialend = [values.image_emo = (picture.emoleft.currentitem); values.image_neu = picture.neuright.currentitem] / timeout = values.trialduration </trial> <trial neuemo> / ontrialbegin = [values.marker = (picture.neuleft.nextindex*100) + picture.emoright.nextindex;] / ontrialbegin = [port.marker.setitem(values.marker, 1);] / ontrialbegin = [values.iti = round(rand(1000,2000))] / stimulustimes = [0 = fixation, neuemo_baseline; 1000 = allbitstozero; 1001 = neuleft, emoright, marker] / posttrialpause = (values.iti) / inputdevice = eyetracker / recorddata = true / ontrialend = [values.image_emo = picture.emoright.currentitem; values.image_neu = picture.neuleft.currentitem] / timeout = values.trialduration </trial> <trial iti> / stimulusframes = [1 = fixation] / timeout = round(rand(2000-5000)) / recorddata = false </trial> <trial fixation> / stimulusframes = [1 = fixation] / timeout = 1000 / recorddata = false </trial> <list trialselector> / items = (trial.emoneu, trial.neuemo) / itemprobabilities = (.50, .50) / poolsize = 60 </list> <block eyetracking> / trials = [1-60 = list.trialselector] </block> <data eyetracking> / file = "Sequence.iqdat" / columns = [subject trialnum values.image_emo values.image_neu values.iti] / separatefiles = true </data> <expt eyetracking> / blocks = [1 = eyetracking] </expt> Thanks. Your <picture> elements should *not* be set to /selectionrate = always. <picture neuleft> / items = neutral / position = (25%, 50%) / size = (900, 600) / selectionrate = always/ select = noreplace </picture> They should use the default, /selectionrate = trial. <picture neuleft> / items = neutral / position = (25%, 50%) / size = (900, 600) / selectionrate = trial/ select = noreplace </picture> With /selectionrate = always, you're effectively sampling *two* items from each <picture> stimulus per trial, one here <trial emoneu> / ontrialbegin = [values.marker = (picture. emoleft. nextindex*100) + picture. neuright. nextindex;] / ontrialbegin = [port.marker.setitem(values.marker, 1);] / ontrialbegin = [values.iti = round(rand(1000,2000))] / stimulustimes = [0 = fixation, emoneu_baseline; 1000 = allbitstozero; 1001 = emoleft, neuright, marker] / posttrialpause = (values.iti) / inputdevice = eyetracker / recorddata = true / ontrialend = [values.image_emo = (picture.emoleft.currentitem); values.image_neu = picture.neuright.currentitem] / timeout = values.trialduration </trial> and another one here <trial emoneu> / ontrialbegin = [values.marker = (picture.emoleft.nextindex*100) + picture.neuright.nextindex;] / ontrialbegin = [port.marker.setitem(values.marker, 1);] / ontrialbegin = [values.iti = round(rand(1000,2000))] / stimulustimes = [0 = fixation, emoneu_baseline; 1000 = allbitstozero; 1001 = emoleft, neuright, marker] / posttrialpause = (values.iti) / inputdevice = eyetracker / recorddata = true / ontrialend = [values.image_emo = (picture.emoleft.currentitem); values.image_neu = picture.neuright.currentitem] / timeout = values.trialduration </trial> I see, thank you Dave! I just tried it though and it is still repeating Stimuli in the presentation!? Please clarify what exactly you mean by "repeating stimuli in the presentation." As stated before, please also provide a data file that illustrates what exactly you mean. When I run the experiment, stimulus S30.jpg for example will be shown twice within the first 10 trials: subject group trialnum values.image_emovalues.image_neuvalues.iti 1 1 2 S30.jpg N03.jpg 3004 1 1 3 S03.jpg N18.jpg 3836 1 1 4 S25.jpg N01.jpg 4856 1 1 5 S09.jpg N04.jpg 3431 1 1 6 S27.jpg N25.jpg 4099 1 1 7 S24.jpg N24.jpg 3833 1 1 8 S22.jpg N13.jpg 4304 1 1 9 S28.jpg N11.jpg 3418 1 1 10 S30.jpg N20.jpg 4452 1 1 11 S23.jpg N11.jpg 3350 ….. How can that be? Because you have two trial elements that sample from two separate <picture> elements. They are independent. This becomes much clearer when you actually log some more useful information: <data eyetracking> / file = "Sequence.iqdat" / columns = [subject trialnum trialcode values.image_emo values.image_neu values.iti values.marker] / separatefiles = true </data> This is exactly what the script is set up to do.
|
|
|
Aleya
|
|
Group: Forum Members
Posts: 15,
Visits: 30
|
+x+x+x+x+x+x+x+x+x+xSorry for being unclear. In the example used before the fixation marker is always 0, independent of the trial or the stimulus pair shown: <trial emoneu>/ ontrialbegin = [values.marker = (picture.emoleft.currentindex*100) + picture.neuright.currentindex;] / ontrialbegin = [port.marker.setitem(values.marker, 1);]/ stimulustimes = [0 = fixation; 2001 = emoleft, neuright, marker]/ posttrialpause = (picture.fixation.item)/ inputdevice = eyetracker/ recorddata = true/ ontrialend = [values.image_emo = (picture.emoleft.currentitem); values.image_neu = picture.neuright.currentitem]/ ontrialend = [values.iti = trial.iti.timeout]/ timeout = values.trialduration </trial>I would like to use the fixation cross as a baseline for the eye movement measured and to do so I have to be able to differentiate the fixation crosses of the different Trials in the output file. Or am I missing some general hint? Concerning the repetitions: I have 60 items (30 of each category) and have indicated the poolsize accordingly, have I not? <list trialselector>/ items = (trial.emoneu, trial.neuemo)/ itemprobabilities = (.50, .50)/ poolsize = 60/ replace = false</list>
Sorry, if my questions are a bit trivial and thanks for your help! Re. 1: "I would like to use the fixation cross as a baseline for the eye movement measured and to do so I have to be able to differentiate the fixation crosses of the different Trials in the output file. Then define two <port> elements, one sending a marker indicating emoneu baseline, one with a marker indicating neuemo baseline. <port emoneu_baseline> / items = (1) / erase = false / port = eyetracker </port> <port neuemo_baseline> / items = (2) / erase = false / port = eyetracker </port> Define a port that resets everything to zero in between markers as well so you can get a clear separation between your baseline and your stimulus marker <port allbitstozero> / items = (0) / erase = false / port = eyetracker </port> Then display the appropriate marker along with the fixation cross in your <trial> elements, e.g. <trial emoneu> / ontrialbegin = [values.marker = (picture.emoleft.currentindex*100) + picture.neuright.currentindex;] / ontrialbegin = [port.marker.setitem(values.marker, 1);] / stimulustimes = [0 = fixation, emoneu_baseline; 1900=allbitstozero; 2001 = emoleft, neuright, marker] ... </trial> Re. 2: "Concerning the repetitions: I have 60 items (30 of each category) and have indicated the poolsize accordingly, have I not?" Your list is sampling *trials* not *items* <list trialselector> / items = (trial.emoneu, trial.neuemo) / itemprobabilities = (.50, .50) / poolsize = 60 / replace = false </list> You should end up with 30 "emoneu" trials and 30 "neuemo" trials. It is *those* trials, however, that display stimuli and their respective items. The code you have shared tells me nothing about how you select items or how often a given stimulus element is sampled from. Sorry about that. I defined the pictures that are read into the trials in the following way: <picture neuleft> / items = neutral / position = (25%, 50%) / size = (900, 600) / selectionrate = always / select = noreplace </picture> <picture neuright> / items = neutral / position = (75%, 50%) / size = (900, 600) / selectionrate = always / select = noreplace </picture> <picture emoleft> / items = emo / position = (25%, 50%) / size = (900, 600) / selectionrate = always / select = noreplace </picture> <picture emoright> / items = emo / position = (75%, 50%) / size = (900, 600) / selectionrate = always / select = noreplace </picture> and then thought that the list would take care of the equal distribution (30 neuemo and 30 emoneu trials) without replacement: <list trialselector> / items = (trial.emoneu, trial.neuemo) / itemprobabilities = (.50, .50) / poolsize = 60 </list> Is there something missing in the trials coding or am I missing something altogether? > Is there something missing in the trials coding or am I missing something altogether? I can't say because those code snippets don't give me a picture of all relevant parts. There's no info about how many trials you are actually running, i.e. the <block> element(s) in your script. The actual <trial> definitions aren't there, you only shared the code for <trial emoneu> in your very first post in this thread. I have no way to see whether the trials are displaying the correct <picture> elements and/or whether there are any other <trial> elements that display those same stimulus elements and thus affect the sampling from those stimulus elements' items. The <item> elements are missing, I have no way to see whether there actually are 30 items, and so forth. Finally, you have not explained what you actually understand a "repeat" to be. Please provide a data file that illustrates what you mean. Sorry. This is the current script I am running (including your implementations): <eyetracker> / plugin = "tobii" </eyetracker> <defaults> / fontstyle = ("Candara", 24pt) / minimumversion = "4.0.4.0" / screencolor = darkgrey </defaults> <values> / trialduration = 1200 / marker = 0 / iti = 0 / image_neu = "" / image_emo = "" / emoneu_baseline = 0 / neuemo_baseline = 0 </values> <instruct> / nextkey = (28) / lastlabel = "Press Enter" / nextlabel = "Press Enter" / fontstyle = ("Candara", 24pt) / screencolor = darkgrey / txcolor = (0, 0, 0) / wait = 500 / windowsize = (100%,100%) </instruct> -------------------- STIMULI <port marker> / items = (0) / port = eyetracker / erase = false </port> <port emoneu_baseline> / items = (1) / erase = false / port = eyetracker </port> <port neuemo_baseline> / items = (2) / erase = false / port = eyetracker </port> <port allbitstozero> / items = (0) / erase = false / port = eyetracker </port> <item emotional> / 1 = "S01.jpg" / 2 = "S02.jpg" / 3 = "S03.jpg" / 4 = "S04.jpg" / 5 = "S05.jpg" / 6 = "S06.jpg" / 7 = "S07.jpg" / 8 = "S08.jpg" / 9 = "S09.jpg" / 10 = "S10.jpg" / 11 = "S11.jpg" / 12 = "S12.jpg" / 13 = "S13.jpg" / 14 = "S14.jpg" / 15 = "S15.jpg" / 16 = "S16.jpg" / 17 = "S17.jpg" / 18 = "S18.jpg" / 19 = "S19.jpg" / 20 = "S20.jpg" / 21 = "S21.jpg" / 22 = "S22.jpg" / 23 = "S23.jpg" / 24 = "S24.jpg" / 25 = "S25.jpg" / 26 = "S26.jpg" / 27 = "S27.jpg" / 28 = "S28.jpg" / 29 = "S29.jpg" / 30 = "S30.jpg" </item> <item neutral> / 1 = "N01.jpg" / 2 = "N02.jpg" / 3 = "N03.jpg" / 4 = "N04.jpg" / 5 = "N05.jpg" / 6 = "N06.jpg" / 7 = "N07.jpg" / 8 = "N08.jpg" / 9 = "N09.jpg" / 10 = "N10.jpg" / 11 = "N11.jpg" / 12 = "N12.jpg" / 13 = "N13.jpg" / 14 = "N14.jpg" / 15 = "N15.jpg" / 16 = "N16.jpg" / 17 = "N17.jpg" / 18 = "N18.jpg" / 19 = "N19.jpg" / 20 = "N20.jpg" / 21 = "N21.jpg" / 22 = "N22.jpg" / 23 = "N23.jpg" / 24 = "N24.jpg" / 25 = "N25.jpg" / 26 = "N26.jpg" / 27 = "N27.jpg" / 28 = "N28.jpg" / 29 = "N29.jpg" / 30 = "N30.jpg" </item> < item fix> / 1 = "fixationcross.png" </item> <picture neuleft> / items = neutral / position = (25%, 50%) / size = (900, 600) / selectionrate = always / select = noreplace </picture> <picture neuright> / items = neutral / position = (75%, 50%) / size = (900, 600) / selectionrate = always / select = noreplace </picture> <picture emoleft> / items = emotional / position = (25%, 50%) / size = (900, 600) / selectionrate = always / select = noreplace </picture> <picture emoright> / items = emotional / position = (75%, 50%) / size = (900, 600) / selectionrate = always / select = noreplace </picture> <picture fixation> / items = fix / position = (50%, 50%) </picture> ------------------------ TRIALS <trial emoneu> / ontrialbegin = [values.marker = (picture.emoleft.nextindex*100) + picture.neuright.nextindex;] / ontrialbegin = [port.marker.setitem(values.marker, 1);] / ontrialbegin = [values.iti = round(rand(1000,2000))] / stimulustimes = [0 = fixation, emoneu_baseline; 1000 = allbitstozero; 1001 = emoleft, neuright, marker] / posttrialpause = (values.iti) / inputdevice = eyetracker / recorddata = true / ontrialend = [values.image_emo = (picture.emoleft.currentitem); values.image_neu = picture.neuright.currentitem] / timeout = values.trialduration </trial> <trial neuemo> / ontrialbegin = [values.marker = (picture.neuleft.nextindex*100) + picture.emoright.nextindex;] / ontrialbegin = [port.marker.setitem(values.marker, 1);] / ontrialbegin = [values.iti = round(rand(1000,2000))] / stimulustimes = [0 = fixation, neuemo_baseline; 1000 = allbitstozero; 1001 = neuleft, emoright, marker] / posttrialpause = (values.iti) / inputdevice = eyetracker / recorddata = true / ontrialend = [values.image_emo = picture.emoright.currentitem; values.image_neu = picture.neuleft.currentitem] / timeout = values.trialduration </trial> <trial iti> / stimulusframes = [1 = fixation] / timeout = round(rand(2000-5000)) / recorddata = false </trial> <trial fixation> / stimulusframes = [1 = fixation] / timeout = 1000 / recorddata = false </trial> <list trialselector> / items = (trial.emoneu, trial.neuemo) / itemprobabilities = (.50, .50) / poolsize = 60 </list> <block eyetracking> / trials = [1-60 = list.trialselector] </block> <data eyetracking> / file = "Sequence.iqdat" / columns = [subject trialnum values.image_emo values.image_neu values.iti] / separatefiles = true </data> <expt eyetracking> / blocks = [1 = eyetracking] </expt> Thanks. Your <picture> elements should *not* be set to /selectionrate = always. <picture neuleft> / items = neutral / position = (25%, 50%) / size = (900, 600) / selectionrate = always/ select = noreplace </picture> They should use the default, /selectionrate = trial. <picture neuleft> / items = neutral / position = (25%, 50%) / size = (900, 600) / selectionrate = trial/ select = noreplace </picture> With /selectionrate = always, you're effectively sampling *two* items from each <picture> stimulus per trial, one here <trial emoneu> / ontrialbegin = [values.marker = (picture. emoleft. nextindex*100) + picture. neuright. nextindex;] / ontrialbegin = [port.marker.setitem(values.marker, 1);] / ontrialbegin = [values.iti = round(rand(1000,2000))] / stimulustimes = [0 = fixation, emoneu_baseline; 1000 = allbitstozero; 1001 = emoleft, neuright, marker] / posttrialpause = (values.iti) / inputdevice = eyetracker / recorddata = true / ontrialend = [values.image_emo = (picture.emoleft.currentitem); values.image_neu = picture.neuright.currentitem] / timeout = values.trialduration </trial> and another one here <trial emoneu> / ontrialbegin = [values.marker = (picture.emoleft.nextindex*100) + picture.neuright.nextindex;] / ontrialbegin = [port.marker.setitem(values.marker, 1);] / ontrialbegin = [values.iti = round(rand(1000,2000))] / stimulustimes = [0 = fixation, emoneu_baseline; 1000 = allbitstozero; 1001 = emoleft, neuright, marker] / posttrialpause = (values.iti) / inputdevice = eyetracker / recorddata = true / ontrialend = [values.image_emo = (picture.emoleft.currentitem); values.image_neu = picture.neuright.currentitem] / timeout = values.trialduration </trial> I see, thank you Dave! I just tried it though and it is still repeating Stimuli in the presentation!? Please clarify what exactly you mean by "repeating stimuli in the presentation." As stated before, please also provide a data file that illustrates what exactly you mean. When I run the experiment, stimulus S30.jpg for example will be shown twice within the first 10 trials: subject group trialnum values.image_emovalues.image_neuvalues.iti 1 1 2 S30.jpg N03.jpg 3004 1 1 3 S03.jpg N18.jpg 3836 1 1 4 S25.jpg N01.jpg 4856 1 1 5 S09.jpg N04.jpg 3431 1 1 6 S27.jpg N25.jpg 4099 1 1 7 S24.jpg N24.jpg 3833 1 1 8 S22.jpg N13.jpg 4304 1 1 9 S28.jpg N11.jpg 3418 1 1 10 S30.jpg N20.jpg 4452 1 1 11 S23.jpg N11.jpg 3350 ….. How can that be? Because you have two trial elements that sample from two separate <picture> elements. They are independent. This becomes much clearer when you actually log some more useful information: <data eyetracking> / file = "Sequence.iqdat" / columns = [subject trialnum trialcode values.image_emo values.image_neu values.iti values.marker] / separatefiles = true </data> This is exactly what the script is set up to do. Ok, I understand. But then how do I avoid these repetitions? By sampling them in a dependent manner? What I would like is that each picture is shown only once during the 60 trials, but that stimuli are randomly selected and combined to be presented in pairs that differ from participant to participant, while also randomizing the side on which it is shown.
|
|
|
Dave
|
|
Group: Administrators
Posts: 13K,
Visits: 104K
|
+x+x+x+x+x+x+x+x+x+x+xSorry for being unclear. In the example used before the fixation marker is always 0, independent of the trial or the stimulus pair shown: <trial emoneu>/ ontrialbegin = [values.marker = (picture.emoleft.currentindex*100) + picture.neuright.currentindex;] / ontrialbegin = [port.marker.setitem(values.marker, 1);]/ stimulustimes = [0 = fixation; 2001 = emoleft, neuright, marker]/ posttrialpause = (picture.fixation.item)/ inputdevice = eyetracker/ recorddata = true/ ontrialend = [values.image_emo = (picture.emoleft.currentitem); values.image_neu = picture.neuright.currentitem]/ ontrialend = [values.iti = trial.iti.timeout]/ timeout = values.trialduration </trial>I would like to use the fixation cross as a baseline for the eye movement measured and to do so I have to be able to differentiate the fixation crosses of the different Trials in the output file. Or am I missing some general hint? Concerning the repetitions: I have 60 items (30 of each category) and have indicated the poolsize accordingly, have I not? <list trialselector>/ items = (trial.emoneu, trial.neuemo)/ itemprobabilities = (.50, .50)/ poolsize = 60/ replace = false</list>
Sorry, if my questions are a bit trivial and thanks for your help! Re. 1: "I would like to use the fixation cross as a baseline for the eye movement measured and to do so I have to be able to differentiate the fixation crosses of the different Trials in the output file. Then define two <port> elements, one sending a marker indicating emoneu baseline, one with a marker indicating neuemo baseline. <port emoneu_baseline> / items = (1) / erase = false / port = eyetracker </port> <port neuemo_baseline> / items = (2) / erase = false / port = eyetracker </port> Define a port that resets everything to zero in between markers as well so you can get a clear separation between your baseline and your stimulus marker <port allbitstozero> / items = (0) / erase = false / port = eyetracker </port> Then display the appropriate marker along with the fixation cross in your <trial> elements, e.g. <trial emoneu> / ontrialbegin = [values.marker = (picture.emoleft.currentindex*100) + picture.neuright.currentindex;] / ontrialbegin = [port.marker.setitem(values.marker, 1);] / stimulustimes = [0 = fixation, emoneu_baseline; 1900=allbitstozero; 2001 = emoleft, neuright, marker] ... </trial> Re. 2: "Concerning the repetitions: I have 60 items (30 of each category) and have indicated the poolsize accordingly, have I not?" Your list is sampling *trials* not *items* <list trialselector> / items = (trial.emoneu, trial.neuemo) / itemprobabilities = (.50, .50) / poolsize = 60 / replace = false </list> You should end up with 30 "emoneu" trials and 30 "neuemo" trials. It is *those* trials, however, that display stimuli and their respective items. The code you have shared tells me nothing about how you select items or how often a given stimulus element is sampled from. Sorry about that. I defined the pictures that are read into the trials in the following way: <picture neuleft> / items = neutral / position = (25%, 50%) / size = (900, 600) / selectionrate = always / select = noreplace </picture> <picture neuright> / items = neutral / position = (75%, 50%) / size = (900, 600) / selectionrate = always / select = noreplace </picture> <picture emoleft> / items = emo / position = (25%, 50%) / size = (900, 600) / selectionrate = always / select = noreplace </picture> <picture emoright> / items = emo / position = (75%, 50%) / size = (900, 600) / selectionrate = always / select = noreplace </picture> and then thought that the list would take care of the equal distribution (30 neuemo and 30 emoneu trials) without replacement: <list trialselector> / items = (trial.emoneu, trial.neuemo) / itemprobabilities = (.50, .50) / poolsize = 60 </list> Is there something missing in the trials coding or am I missing something altogether? > Is there something missing in the trials coding or am I missing something altogether? I can't say because those code snippets don't give me a picture of all relevant parts. There's no info about how many trials you are actually running, i.e. the <block> element(s) in your script. The actual <trial> definitions aren't there, you only shared the code for <trial emoneu> in your very first post in this thread. I have no way to see whether the trials are displaying the correct <picture> elements and/or whether there are any other <trial> elements that display those same stimulus elements and thus affect the sampling from those stimulus elements' items. The <item> elements are missing, I have no way to see whether there actually are 30 items, and so forth. Finally, you have not explained what you actually understand a "repeat" to be. Please provide a data file that illustrates what you mean. Sorry. This is the current script I am running (including your implementations): <eyetracker> / plugin = "tobii" </eyetracker> <defaults> / fontstyle = ("Candara", 24pt) / minimumversion = "4.0.4.0" / screencolor = darkgrey </defaults> <values> / trialduration = 1200 / marker = 0 / iti = 0 / image_neu = "" / image_emo = "" / emoneu_baseline = 0 / neuemo_baseline = 0 </values> <instruct> / nextkey = (28) / lastlabel = "Press Enter" / nextlabel = "Press Enter" / fontstyle = ("Candara", 24pt) / screencolor = darkgrey / txcolor = (0, 0, 0) / wait = 500 / windowsize = (100%,100%) </instruct> -------------------- STIMULI <port marker> / items = (0) / port = eyetracker / erase = false </port> <port emoneu_baseline> / items = (1) / erase = false / port = eyetracker </port> <port neuemo_baseline> / items = (2) / erase = false / port = eyetracker </port> <port allbitstozero> / items = (0) / erase = false / port = eyetracker </port> <item emotional> / 1 = "S01.jpg" / 2 = "S02.jpg" / 3 = "S03.jpg" / 4 = "S04.jpg" / 5 = "S05.jpg" / 6 = "S06.jpg" / 7 = "S07.jpg" / 8 = "S08.jpg" / 9 = "S09.jpg" / 10 = "S10.jpg" / 11 = "S11.jpg" / 12 = "S12.jpg" / 13 = "S13.jpg" / 14 = "S14.jpg" / 15 = "S15.jpg" / 16 = "S16.jpg" / 17 = "S17.jpg" / 18 = "S18.jpg" / 19 = "S19.jpg" / 20 = "S20.jpg" / 21 = "S21.jpg" / 22 = "S22.jpg" / 23 = "S23.jpg" / 24 = "S24.jpg" / 25 = "S25.jpg" / 26 = "S26.jpg" / 27 = "S27.jpg" / 28 = "S28.jpg" / 29 = "S29.jpg" / 30 = "S30.jpg" </item> <item neutral> / 1 = "N01.jpg" / 2 = "N02.jpg" / 3 = "N03.jpg" / 4 = "N04.jpg" / 5 = "N05.jpg" / 6 = "N06.jpg" / 7 = "N07.jpg" / 8 = "N08.jpg" / 9 = "N09.jpg" / 10 = "N10.jpg" / 11 = "N11.jpg" / 12 = "N12.jpg" / 13 = "N13.jpg" / 14 = "N14.jpg" / 15 = "N15.jpg" / 16 = "N16.jpg" / 17 = "N17.jpg" / 18 = "N18.jpg" / 19 = "N19.jpg" / 20 = "N20.jpg" / 21 = "N21.jpg" / 22 = "N22.jpg" / 23 = "N23.jpg" / 24 = "N24.jpg" / 25 = "N25.jpg" / 26 = "N26.jpg" / 27 = "N27.jpg" / 28 = "N28.jpg" / 29 = "N29.jpg" / 30 = "N30.jpg" </item> < item fix> / 1 = "fixationcross.png" </item> <picture neuleft> / items = neutral / position = (25%, 50%) / size = (900, 600) / selectionrate = always / select = noreplace </picture> <picture neuright> / items = neutral / position = (75%, 50%) / size = (900, 600) / selectionrate = always / select = noreplace </picture> <picture emoleft> / items = emotional / position = (25%, 50%) / size = (900, 600) / selectionrate = always / select = noreplace </picture> <picture emoright> / items = emotional / position = (75%, 50%) / size = (900, 600) / selectionrate = always / select = noreplace </picture> <picture fixation> / items = fix / position = (50%, 50%) </picture> ------------------------ TRIALS <trial emoneu> / ontrialbegin = [values.marker = (picture.emoleft.nextindex*100) + picture.neuright.nextindex;] / ontrialbegin = [port.marker.setitem(values.marker, 1);] / ontrialbegin = [values.iti = round(rand(1000,2000))] / stimulustimes = [0 = fixation, emoneu_baseline; 1000 = allbitstozero; 1001 = emoleft, neuright, marker] / posttrialpause = (values.iti) / inputdevice = eyetracker / recorddata = true / ontrialend = [values.image_emo = (picture.emoleft.currentitem); values.image_neu = picture.neuright.currentitem] / timeout = values.trialduration </trial> <trial neuemo> / ontrialbegin = [values.marker = (picture.neuleft.nextindex*100) + picture.emoright.nextindex;] / ontrialbegin = [port.marker.setitem(values.marker, 1);] / ontrialbegin = [values.iti = round(rand(1000,2000))] / stimulustimes = [0 = fixation, neuemo_baseline; 1000 = allbitstozero; 1001 = neuleft, emoright, marker] / posttrialpause = (values.iti) / inputdevice = eyetracker / recorddata = true / ontrialend = [values.image_emo = picture.emoright.currentitem; values.image_neu = picture.neuleft.currentitem] / timeout = values.trialduration </trial> <trial iti> / stimulusframes = [1 = fixation] / timeout = round(rand(2000-5000)) / recorddata = false </trial> <trial fixation> / stimulusframes = [1 = fixation] / timeout = 1000 / recorddata = false </trial> <list trialselector> / items = (trial.emoneu, trial.neuemo) / itemprobabilities = (.50, .50) / poolsize = 60 </list> <block eyetracking> / trials = [1-60 = list.trialselector] </block> <data eyetracking> / file = "Sequence.iqdat" / columns = [subject trialnum values.image_emo values.image_neu values.iti] / separatefiles = true </data> <expt eyetracking> / blocks = [1 = eyetracking] </expt> Thanks. Your <picture> elements should *not* be set to /selectionrate = always. <picture neuleft> / items = neutral / position = (25%, 50%) / size = (900, 600) / selectionrate = always/ select = noreplace </picture> They should use the default, /selectionrate = trial. <picture neuleft> / items = neutral / position = (25%, 50%) / size = (900, 600) / selectionrate = trial/ select = noreplace </picture> With /selectionrate = always, you're effectively sampling *two* items from each <picture> stimulus per trial, one here <trial emoneu> / ontrialbegin = [values.marker = (picture. emoleft. nextindex*100) + picture. neuright. nextindex;] / ontrialbegin = [port.marker.setitem(values.marker, 1);] / ontrialbegin = [values.iti = round(rand(1000,2000))] / stimulustimes = [0 = fixation, emoneu_baseline; 1000 = allbitstozero; 1001 = emoleft, neuright, marker] / posttrialpause = (values.iti) / inputdevice = eyetracker / recorddata = true / ontrialend = [values.image_emo = (picture.emoleft.currentitem); values.image_neu = picture.neuright.currentitem] / timeout = values.trialduration </trial> and another one here <trial emoneu> / ontrialbegin = [values.marker = (picture.emoleft.nextindex*100) + picture.neuright.nextindex;] / ontrialbegin = [port.marker.setitem(values.marker, 1);] / ontrialbegin = [values.iti = round(rand(1000,2000))] / stimulustimes = [0 = fixation, emoneu_baseline; 1000 = allbitstozero; 1001 = emoleft, neuright, marker] / posttrialpause = (values.iti) / inputdevice = eyetracker / recorddata = true / ontrialend = [values.image_emo = (picture.emoleft.currentitem); values.image_neu = picture.neuright.currentitem] / timeout = values.trialduration </trial> I see, thank you Dave! I just tried it though and it is still repeating Stimuli in the presentation!? Please clarify what exactly you mean by "repeating stimuli in the presentation." As stated before, please also provide a data file that illustrates what exactly you mean. When I run the experiment, stimulus S30.jpg for example will be shown twice within the first 10 trials: subject group trialnum values.image_emovalues.image_neuvalues.iti 1 1 2 S30.jpg N03.jpg 3004 1 1 3 S03.jpg N18.jpg 3836 1 1 4 S25.jpg N01.jpg 4856 1 1 5 S09.jpg N04.jpg 3431 1 1 6 S27.jpg N25.jpg 4099 1 1 7 S24.jpg N24.jpg 3833 1 1 8 S22.jpg N13.jpg 4304 1 1 9 S28.jpg N11.jpg 3418 1 1 10 S30.jpg N20.jpg 4452 1 1 11 S23.jpg N11.jpg 3350 ….. How can that be? Because you have two trial elements that sample from two separate <picture> elements. They are independent. This becomes much clearer when you actually log some more useful information: <data eyetracking> / file = "Sequence.iqdat" / columns = [subject trialnum trialcode values.image_emo values.image_neu values.iti values.marker] / separatefiles = true </data> This is exactly what the script is set up to do. Ok, I understand. But then how do I avoid these repetitions? By sampling them in a dependent manner? What I would like is that each picture is shown only once during the 60 trials, but that stimuli are randomly selected and combined to be presented in pairs that differ from participant to participant, while also randomizing the side on which it is shown. You have 30 items. You cannot possibly achieve that each stimulus is only shown once if you run 60 trials.
|
|
|
Aleya
|
|
Group: Forum Members
Posts: 15,
Visits: 30
|
+x+x+x+x+x+x+x+x+x+x+x+xSorry for being unclear. In the example used before the fixation marker is always 0, independent of the trial or the stimulus pair shown: <trial emoneu>/ ontrialbegin = [values.marker = (picture.emoleft.currentindex*100) + picture.neuright.currentindex;] / ontrialbegin = [port.marker.setitem(values.marker, 1);]/ stimulustimes = [0 = fixation; 2001 = emoleft, neuright, marker]/ posttrialpause = (picture.fixation.item)/ inputdevice = eyetracker/ recorddata = true/ ontrialend = [values.image_emo = (picture.emoleft.currentitem); values.image_neu = picture.neuright.currentitem]/ ontrialend = [values.iti = trial.iti.timeout]/ timeout = values.trialduration </trial>I would like to use the fixation cross as a baseline for the eye movement measured and to do so I have to be able to differentiate the fixation crosses of the different Trials in the output file. Or am I missing some general hint? Concerning the repetitions: I have 60 items (30 of each category) and have indicated the poolsize accordingly, have I not? <list trialselector>/ items = (trial.emoneu, trial.neuemo)/ itemprobabilities = (.50, .50)/ poolsize = 60/ replace = false</list>
Sorry, if my questions are a bit trivial and thanks for your help! Re. 1: "I would like to use the fixation cross as a baseline for the eye movement measured and to do so I have to be able to differentiate the fixation crosses of the different Trials in the output file. Then define two <port> elements, one sending a marker indicating emoneu baseline, one with a marker indicating neuemo baseline. <port emoneu_baseline> / items = (1) / erase = false / port = eyetracker </port> <port neuemo_baseline> / items = (2) / erase = false / port = eyetracker </port> Define a port that resets everything to zero in between markers as well so you can get a clear separation between your baseline and your stimulus marker <port allbitstozero> / items = (0) / erase = false / port = eyetracker </port> Then display the appropriate marker along with the fixation cross in your <trial> elements, e.g. <trial emoneu> / ontrialbegin = [values.marker = (picture.emoleft.currentindex*100) + picture.neuright.currentindex;] / ontrialbegin = [port.marker.setitem(values.marker, 1);] / stimulustimes = [0 = fixation, emoneu_baseline; 1900=allbitstozero; 2001 = emoleft, neuright, marker] ... </trial> Re. 2: "Concerning the repetitions: I have 60 items (30 of each category) and have indicated the poolsize accordingly, have I not?" Your list is sampling *trials* not *items* <list trialselector> / items = (trial.emoneu, trial.neuemo) / itemprobabilities = (.50, .50) / poolsize = 60 / replace = false </list> You should end up with 30 "emoneu" trials and 30 "neuemo" trials. It is *those* trials, however, that display stimuli and their respective items. The code you have shared tells me nothing about how you select items or how often a given stimulus element is sampled from. Sorry about that. I defined the pictures that are read into the trials in the following way: <picture neuleft> / items = neutral / position = (25%, 50%) / size = (900, 600) / selectionrate = always / select = noreplace </picture> <picture neuright> / items = neutral / position = (75%, 50%) / size = (900, 600) / selectionrate = always / select = noreplace </picture> <picture emoleft> / items = emo / position = (25%, 50%) / size = (900, 600) / selectionrate = always / select = noreplace </picture> <picture emoright> / items = emo / position = (75%, 50%) / size = (900, 600) / selectionrate = always / select = noreplace </picture> and then thought that the list would take care of the equal distribution (30 neuemo and 30 emoneu trials) without replacement: <list trialselector> / items = (trial.emoneu, trial.neuemo) / itemprobabilities = (.50, .50) / poolsize = 60 </list> Is there something missing in the trials coding or am I missing something altogether? > Is there something missing in the trials coding or am I missing something altogether? I can't say because those code snippets don't give me a picture of all relevant parts. There's no info about how many trials you are actually running, i.e. the <block> element(s) in your script. The actual <trial> definitions aren't there, you only shared the code for <trial emoneu> in your very first post in this thread. I have no way to see whether the trials are displaying the correct <picture> elements and/or whether there are any other <trial> elements that display those same stimulus elements and thus affect the sampling from those stimulus elements' items. The <item> elements are missing, I have no way to see whether there actually are 30 items, and so forth. Finally, you have not explained what you actually understand a "repeat" to be. Please provide a data file that illustrates what you mean. Sorry. This is the current script I am running (including your implementations): <eyetracker> / plugin = "tobii" </eyetracker> <defaults> / fontstyle = ("Candara", 24pt) / minimumversion = "4.0.4.0" / screencolor = darkgrey </defaults> <values> / trialduration = 1200 / marker = 0 / iti = 0 / image_neu = "" / image_emo = "" / emoneu_baseline = 0 / neuemo_baseline = 0 </values> <instruct> / nextkey = (28) / lastlabel = "Press Enter" / nextlabel = "Press Enter" / fontstyle = ("Candara", 24pt) / screencolor = darkgrey / txcolor = (0, 0, 0) / wait = 500 / windowsize = (100%,100%) </instruct> -------------------- STIMULI <port marker> / items = (0) / port = eyetracker / erase = false </port> <port emoneu_baseline> / items = (1) / erase = false / port = eyetracker </port> <port neuemo_baseline> / items = (2) / erase = false / port = eyetracker </port> <port allbitstozero> / items = (0) / erase = false / port = eyetracker </port> <item emotional> / 1 = "S01.jpg" / 2 = "S02.jpg" / 3 = "S03.jpg" / 4 = "S04.jpg" / 5 = "S05.jpg" / 6 = "S06.jpg" / 7 = "S07.jpg" / 8 = "S08.jpg" / 9 = "S09.jpg" / 10 = "S10.jpg" / 11 = "S11.jpg" / 12 = "S12.jpg" / 13 = "S13.jpg" / 14 = "S14.jpg" / 15 = "S15.jpg" / 16 = "S16.jpg" / 17 = "S17.jpg" / 18 = "S18.jpg" / 19 = "S19.jpg" / 20 = "S20.jpg" / 21 = "S21.jpg" / 22 = "S22.jpg" / 23 = "S23.jpg" / 24 = "S24.jpg" / 25 = "S25.jpg" / 26 = "S26.jpg" / 27 = "S27.jpg" / 28 = "S28.jpg" / 29 = "S29.jpg" / 30 = "S30.jpg" </item> <item neutral> / 1 = "N01.jpg" / 2 = "N02.jpg" / 3 = "N03.jpg" / 4 = "N04.jpg" / 5 = "N05.jpg" / 6 = "N06.jpg" / 7 = "N07.jpg" / 8 = "N08.jpg" / 9 = "N09.jpg" / 10 = "N10.jpg" / 11 = "N11.jpg" / 12 = "N12.jpg" / 13 = "N13.jpg" / 14 = "N14.jpg" / 15 = "N15.jpg" / 16 = "N16.jpg" / 17 = "N17.jpg" / 18 = "N18.jpg" / 19 = "N19.jpg" / 20 = "N20.jpg" / 21 = "N21.jpg" / 22 = "N22.jpg" / 23 = "N23.jpg" / 24 = "N24.jpg" / 25 = "N25.jpg" / 26 = "N26.jpg" / 27 = "N27.jpg" / 28 = "N28.jpg" / 29 = "N29.jpg" / 30 = "N30.jpg" </item> < item fix> / 1 = "fixationcross.png" </item> <picture neuleft> / items = neutral / position = (25%, 50%) / size = (900, 600) / selectionrate = always / select = noreplace </picture> <picture neuright> / items = neutral / position = (75%, 50%) / size = (900, 600) / selectionrate = always / select = noreplace </picture> <picture emoleft> / items = emotional / position = (25%, 50%) / size = (900, 600) / selectionrate = always / select = noreplace </picture> <picture emoright> / items = emotional / position = (75%, 50%) / size = (900, 600) / selectionrate = always / select = noreplace </picture> <picture fixation> / items = fix / position = (50%, 50%) </picture> ------------------------ TRIALS <trial emoneu> / ontrialbegin = [values.marker = (picture.emoleft.nextindex*100) + picture.neuright.nextindex;] / ontrialbegin = [port.marker.setitem(values.marker, 1);] / ontrialbegin = [values.iti = round(rand(1000,2000))] / stimulustimes = [0 = fixation, emoneu_baseline; 1000 = allbitstozero; 1001 = emoleft, neuright, marker] / posttrialpause = (values.iti) / inputdevice = eyetracker / recorddata = true / ontrialend = [values.image_emo = (picture.emoleft.currentitem); values.image_neu = picture.neuright.currentitem] / timeout = values.trialduration </trial> <trial neuemo> / ontrialbegin = [values.marker = (picture.neuleft.nextindex*100) + picture.emoright.nextindex;] / ontrialbegin = [port.marker.setitem(values.marker, 1);] / ontrialbegin = [values.iti = round(rand(1000,2000))] / stimulustimes = [0 = fixation, neuemo_baseline; 1000 = allbitstozero; 1001 = neuleft, emoright, marker] / posttrialpause = (values.iti) / inputdevice = eyetracker / recorddata = true / ontrialend = [values.image_emo = picture.emoright.currentitem; values.image_neu = picture.neuleft.currentitem] / timeout = values.trialduration </trial> <trial iti> / stimulusframes = [1 = fixation] / timeout = round(rand(2000-5000)) / recorddata = false </trial> <trial fixation> / stimulusframes = [1 = fixation] / timeout = 1000 / recorddata = false </trial> <list trialselector> / items = (trial.emoneu, trial.neuemo) / itemprobabilities = (.50, .50) / poolsize = 60 </list> <block eyetracking> / trials = [1-60 = list.trialselector] </block> <data eyetracking> / file = "Sequence.iqdat" / columns = [subject trialnum values.image_emo values.image_neu values.iti] / separatefiles = true </data> <expt eyetracking> / blocks = [1 = eyetracking] </expt> Thanks. Your <picture> elements should *not* be set to /selectionrate = always. <picture neuleft> / items = neutral / position = (25%, 50%) / size = (900, 600) / selectionrate = always/ select = noreplace </picture> They should use the default, /selectionrate = trial. <picture neuleft> / items = neutral / position = (25%, 50%) / size = (900, 600) / selectionrate = trial/ select = noreplace </picture> With /selectionrate = always, you're effectively sampling *two* items from each <picture> stimulus per trial, one here <trial emoneu> / ontrialbegin = [values.marker = (picture. emoleft. nextindex*100) + picture. neuright. nextindex;] / ontrialbegin = [port.marker.setitem(values.marker, 1);] / ontrialbegin = [values.iti = round(rand(1000,2000))] / stimulustimes = [0 = fixation, emoneu_baseline; 1000 = allbitstozero; 1001 = emoleft, neuright, marker] / posttrialpause = (values.iti) / inputdevice = eyetracker / recorddata = true / ontrialend = [values.image_emo = (picture.emoleft.currentitem); values.image_neu = picture.neuright.currentitem] / timeout = values.trialduration </trial> and another one here <trial emoneu> / ontrialbegin = [values.marker = (picture.emoleft.nextindex*100) + picture.neuright.nextindex;] / ontrialbegin = [port.marker.setitem(values.marker, 1);] / ontrialbegin = [values.iti = round(rand(1000,2000))] / stimulustimes = [0 = fixation, emoneu_baseline; 1000 = allbitstozero; 1001 = emoleft, neuright, marker] / posttrialpause = (values.iti) / inputdevice = eyetracker / recorddata = true / ontrialend = [values.image_emo = (picture.emoleft.currentitem); values.image_neu = picture.neuright.currentitem] / timeout = values.trialduration </trial> I see, thank you Dave! I just tried it though and it is still repeating Stimuli in the presentation!? Please clarify what exactly you mean by "repeating stimuli in the presentation." As stated before, please also provide a data file that illustrates what exactly you mean. When I run the experiment, stimulus S30.jpg for example will be shown twice within the first 10 trials: subject group trialnum values.image_emovalues.image_neuvalues.iti 1 1 2 S30.jpg N03.jpg 3004 1 1 3 S03.jpg N18.jpg 3836 1 1 4 S25.jpg N01.jpg 4856 1 1 5 S09.jpg N04.jpg 3431 1 1 6 S27.jpg N25.jpg 4099 1 1 7 S24.jpg N24.jpg 3833 1 1 8 S22.jpg N13.jpg 4304 1 1 9 S28.jpg N11.jpg 3418 1 1 10 S30.jpg N20.jpg 4452 1 1 11 S23.jpg N11.jpg 3350 ….. How can that be? Because you have two trial elements that sample from two separate <picture> elements. They are independent. This becomes much clearer when you actually log some more useful information: <data eyetracking> / file = "Sequence.iqdat" / columns = [subject trialnum trialcode values.image_emo values.image_neu values.iti values.marker] / separatefiles = true </data> This is exactly what the script is set up to do. Ok, I understand. But then how do I avoid these repetitions? By sampling them in a dependent manner? What I would like is that each picture is shown only once during the 60 trials, but that stimuli are randomly selected and combined to be presented in pairs that differ from participant to participant, while also randomizing the side on which it is shown. You have 30 items. You cannot possibly achieve that each stimulus is only shown once if you run 60 trials. Even if I set the poolsize to 30, it keeps repeating stimuli...
|
|
|
Dave
|
|
Group: Administrators
Posts: 13K,
Visits: 104K
|
+xEven if I set the poolsize to 30, it keeps repeating stimuli... Yes, because the <picture> elements your two <trial> elements use are independent selection pools. If you do not want that you can use <list> elements to form a single selection pool across the various <picture> elements. <defaults> / fontstyle = ("Candara", 24pt) / minimumversion = "4.0.4.0" / screencolor = darkgrey </defaults> <values> / trialduration = 1100 / marker = 0 / iti = 0 / image_neu = "" / image_emo = "" / emoneu_baseline = 0 / neuemo_baseline = 0 </values> <instruct> / nextkey = (28) / lastlabel = "Press Enter" / nextlabel = "Press Enter" / fontstyle = ("Candara", 24pt) / screencolor = darkgrey / txcolor = (0, 0, 0) / wait = 500 / windowsize = (100%,100%) </instruct> -------------------- STIMULI <text marker> / items = ("0") / port = eyetracker / erase = false </text> <text emoneu_baseline> / items = ("1") / erase = false / port = eyetracker </text> <text neuemo_baseline> / items = ("2") / erase = false / port = eyetracker </text> <text allbitstozero> / items = ("0") / erase = false / port = eyetracker </text> <item emotional> / 1 = "S01.jpg" / 2 = "S02.jpg" / 3 = "S03.jpg" / 4 = "S04.jpg" / 5 = "S05.jpg" / 6 = "S06.jpg" / 7 = "S07.jpg" / 8 = "S08.jpg" / 9 = "S09.jpg" / 10 = "S10.jpg" / 11 = "S11.jpg" / 12 = "S12.jpg" / 13 = "S13.jpg" / 14 = "S14.jpg" / 15 = "S15.jpg" / 16 = "S16.jpg" / 17 = "S17.jpg" / 18 = "S18.jpg" / 19 = "S19.jpg" / 20 = "S20.jpg" / 21 = "S21.jpg" / 22 = "S22.jpg" / 23 = "S23.jpg" / 24 = "S24.jpg" / 25 = "S25.jpg" / 26 = "S26.jpg" / 27 = "S27.jpg" / 28 = "S28.jpg" / 29 = "S29.jpg" / 30 = "S30.jpg" </item> <item neutral> / 1 = "N01.jpg" / 2 = "N02.jpg" / 3 = "N03.jpg" / 4 = "N04.jpg" / 5 = "N05.jpg" / 6 = "N06.jpg" / 7 = "N07.jpg" / 8 = "N08.jpg" / 9 = "N09.jpg" / 10 = "N10.jpg" / 11 = "N11.jpg" / 12 = "N12.jpg" / 13 = "N13.jpg" / 14 = "N14.jpg" / 15 = "N15.jpg" / 16 = "N16.jpg" / 17 = "N17.jpg" / 18 = "N18.jpg" / 19 = "N19.jpg" / 20 = "N20.jpg" / 21 = "N21.jpg" / 22 = "N22.jpg" / 23 = "N23.jpg" / 24 = "N24.jpg" / 25 = "N25.jpg" / 26 = "N26.jpg" / 27 = "N27.jpg" / 28 = "N28.jpg" / 29 = "N29.jpg" / 30 = "N30.jpg" </item> < item fix> / 1 = "fixationcross.png" </item> <list neuitems> / poolsize = 30</list> <list emoitems> / poolsize = 30</list> <text neuleft> / items = neutral / position = (25%, 50%) / size = (900, 600) / selectionrate = trial / select = list.neuitems.nextindex</text> <text neuright> / items = neutral / position = (75%, 50%) / size = (900, 600) / selectionrate = trial / select = list.neuitems.nextindex</text> <text emoleft> / items = emotional / position = (25%, 50%) / size = (900, 600) / selectionrate = trial / select = list.emoitems.nextindex</text> <text emoright> / items = emotional / position = (75%, 50%) / size = (900, 600) / selectionrate = trial / select = list.emoitems.nextindex</text> <text fixation> / items = fix / position = (50%, 50%) </text> ------------------------ TRIALS <trial emoneu> / ontrialbegin = [values.marker = (list.emoitems.nextindex*100) + list.neuitems.nextindex;]/ ontrialbegin = [text.marker.setitem(values.marker, 1);] / ontrialbegin = [values.iti = round(rand(100,200))] / stimulustimes = [0 = fixation, emoneu_baseline; 1000 = allbitstozero; 1001 = emoleft, neuright, marker] / posttrialpause = (values.iti) / inputdevice = keyboard / recorddata = true / ontrialend = [values.image_emo = (text.emoleft.currentitem); values.image_neu = text.neuright.currentitem] / timeout = values.trialduration </trial> <trial neuemo> / ontrialbegin = [values.marker = (list.neuitems.nextindex*100) + list.emoitems.nextindex;]/ ontrialbegin = [text.marker.setitem(values.marker, 1);] / ontrialbegin = [values.iti = round(rand(100,200))] / stimulustimes = [0 = fixation, neuemo_baseline; 1000 = allbitstozero; 1001 = neuleft, emoright, marker] / posttrialpause = (values.iti) / inputdevice = keyboard / recorddata = true / ontrialend = [values.image_emo = text.emoright.currentitem; values.image_neu = text.neuleft.currentitem] / timeout = values.trialduration </trial> <trial iti> / stimulusframes = [1 = fixation] / timeout = round(rand(200-500)) / recorddata = false </trial> <trial fixation> / stimulusframes = [1 = fixation] / timeout = 100 / recorddata = false </trial> <list trialselector> / items = (trial.emoneu, trial.neuemo) / itemprobabilities = (.50, .50) / poolsize = 30</list> <block eyetracking> / trials = [1-30 = list.trialselector]</block> <data eyetracking> / file = "Sequence.iqdat" / columns = [subject trialnum trialcode values.image_emo values.image_neu values.iti values.marker] / separatefiles = true </data> <expt eyetracking> / blocks = [1 = eyetracking] </expt> You can see the difference in the attached data file.
|
|
|