Eyetracking port (event) markers


Author
Message
esummerell
esummerell
Associate Member (285 reputation)Associate Member (285 reputation)Associate Member (285 reputation)Associate Member (285 reputation)Associate Member (285 reputation)Associate Member (285 reputation)Associate Member (285 reputation)Associate Member (285 reputation)Associate Member (285 reputation)
Group: Forum Members
Posts: 9, Visits: 24
Hi there, 

I am trying to add in event markers for an eyetracking study, but am having trouble getting them to reliably display. For example, with the code below I cannot get markers to send for the stimulusframes where inquisit is pulling a stimulus using the 'noreplacenorepeat' function. What am I doing wrong? Please help :) 

Thanks,
Liz

<port drink>
/port = eyetracker
/items = (1)
</port>

<port face>
/port = eyetracker
/items = (2)
</port>

<port mask>
/port = eyetracker
/items = (3)
</port>

<port blank1>
/port = eyetracker
/items = (4)
</port>

<trial practice>
/ontrialbegin = [values.picturename1=picture.1practice_WM.currentitem]
/stimulustimes = [0=noreplacenorepeat(picture.Neutraldrinks), drink; 1700=blank, blank1; 1800=noreplacenorepeat(picture.1practice_WM), face; 3600=picture.mask_practice_WM, mask]
/timeout = parameters.stimulusduration
/ ontrialend = [values.actual_crowd_mean=picture.1practice_WM.currentitemnumber; values.drink=0; values.crowdgender=2; values.crowdrace=1; values.rt = likert.practiceangerlikert.latency;
values.picturename1=0]
/ recorddata = true
/ screencapture = true
/ branch = [return likert.practiceangerlikert]
/ datastreams = (eyetracker)
</trial>
Dave
Dave
Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)
Group: Administrators
Posts: 12K, Visits: 98K
esummerell - 2/23/2022
Hi there, 

I am trying to add in event markers for an eyetracking study, but am having trouble getting them to reliably display. For example, with the code below I cannot get markers to send for the stimulusframes where inquisit is pulling a stimulus using the 'noreplacenorepeat' function. What am I doing wrong? Please help :) 

Thanks,
Liz

<port drink>
/port = eyetracker
/items = (1)
</port>

<port face>
/port = eyetracker
/items = (2)
</port>

<port mask>
/port = eyetracker
/items = (3)
</port>

<port blank1>
/port = eyetracker
/items = (4)
</port>

<trial practice>
/ontrialbegin = [values.picturename1=picture.1practice_WM.currentitem]
/stimulustimes = [0=noreplacenorepeat(picture.Neutraldrinks), drink; 1700=blank, blank1; 1800=noreplacenorepeat(picture.1practice_WM), face; 3600=picture.mask_practice_WM, mask]
/timeout = parameters.stimulusduration
/ ontrialend = [values.actual_crowd_mean=picture.1practice_WM.currentitemnumber; values.drink=0; values.crowdgender=2; values.crowdrace=1; values.rt = likert.practiceangerlikert.latency;
values.picturename1=0]
/ recorddata = true
/ screencapture = true
/ branch = [return likert.practiceangerlikert]
/ datastreams = (eyetracker)
</trial>

You cannnot use a selection mode and regular selection in a single frame. Note that the selection mode is totally unncessary in your case, simply remove it.

/stimulustimes = [0=picture.Neutraldrinks, drink; 1700=blank, blank1; 1800=picture.1practice_WM, face; 3600=picture.mask_practice_WM, mask]
esummerell
esummerell
Associate Member (285 reputation)Associate Member (285 reputation)Associate Member (285 reputation)Associate Member (285 reputation)Associate Member (285 reputation)Associate Member (285 reputation)Associate Member (285 reputation)Associate Member (285 reputation)Associate Member (285 reputation)
Group: Forum Members
Posts: 9, Visits: 24
Hi Dave, 

Thanks so much for your response. You're right the selection mode is redundant here (this is a practice trial), but will be necessary in later parts of the experiment. Do you have a suggestion for how I can make sure that I have some kind of marker for these kinds of stimuli in order to match it up with eyetracking data for analysis?

Thanks,
Liz

Dave
Dave
Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)
Group: Administrators
Posts: 12K, Visits: 98K
esummerell - 2/23/2022
Hi Dave, 

Thanks so much for your response. You're right the selection mode is redundant here (this is a practice trial), but will be necessary in later parts of the experiment. Do you have a suggestion for how I can make sure that I have some kind of marker for these kinds of stimuli in order to match it up with eyetracking data for analysis?

Thanks,
Liz

selectionmodes in /stimulustimes or -frames are rarely necessary and should be generally avoided (they don't do what you think or want them to do in 99% of cases). Please explain why you believe them to be necessary here.
esummerell
esummerell
Associate Member (285 reputation)Associate Member (285 reputation)Associate Member (285 reputation)Associate Member (285 reputation)Associate Member (285 reputation)Associate Member (285 reputation)Associate Member (285 reputation)Associate Member (285 reputation)Associate Member (285 reputation)
Group: Forum Members
Posts: 9, Visits: 24
You know what, I think you're right! This is an example of a later trial:

<trial AsingleWF_001>
/stimulustimes = [0=noreplacenorepeat(picture.Alcoholdrinks); 1700=blank; 1800=replace(picture.1WF_001); 3600=picture.mask_WF_001]
/timeout = parameters.stimulusduration
/recorddata = true
/ branch = [return likert.angerlikert_WF_001]
/ ontrialend = [values.actual_crowd_mean=picture.1WF_001.currentitemnumber;
        values.drink=1;
            values.crowdgender=1;
            Values.crowdrace=1]
</trial>

Where picture.Alcoholdrinks is:

<picture Alcoholdrinks>
/items = Alcoholdrinks
/select =noreplace
/size = (80%, 80%)
</picture>

<item Alcoholdrinks>
/1="1P_1.jpg"
/2="1P_2.jpg"
/3="1P_3.jpg"
/4="1P_5.jpg"
/5="1P_6.jpg"
/6="1P_7.jpg"
/7="1P_8.jpg"
/8="1P_9.jpg"
/9="1P_11.jpg"
/10="1P_12.jpg"
/11="1P_13.jpg"
/12="1P_14.jpg"
/13="1P_15.jpg"
/14="1P_16.jpg"
/15="1P_17.jpg"
/16="1P_18.jpg"
</item>

So if I remove the 'noreplacenorepeat' from the trial like you are suggesting, do I just need to ensure that the /item for the picture.Alcoholdrinks is 'noreplacenorepeat' and the same for picture.1WF_001?
Dave
Dave
Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)
Group: Administrators
Posts: 12K, Visits: 98K
esummerell - 2/23/2022
You know what, I think you're right! This is an example of a later trial:

<trial AsingleWF_001>
/stimulustimes = [0=noreplacenorepeat(picture.Alcoholdrinks); 1700=blank; 1800=replace(picture.1WF_001); 3600=picture.mask_WF_001]
/timeout = parameters.stimulusduration
/recorddata = true
/ branch = [return likert.angerlikert_WF_001]
/ ontrialend = [values.actual_crowd_mean=picture.1WF_001.currentitemnumber;
        values.drink=1;
            values.crowdgender=1;
            Values.crowdrace=1]
</trial>

Where picture.Alcoholdrinks is:

<picture Alcoholdrinks>
/items = Alcoholdrinks
/select =noreplace
/size = (80%, 80%)
</picture>

<item Alcoholdrinks>
/1="1P_1.jpg"
/2="1P_2.jpg"
/3="1P_3.jpg"
/4="1P_5.jpg"
/5="1P_6.jpg"
/6="1P_7.jpg"
/7="1P_8.jpg"
/8="1P_9.jpg"
/9="1P_11.jpg"
/10="1P_12.jpg"
/11="1P_13.jpg"
/12="1P_14.jpg"
/13="1P_15.jpg"
/14="1P_16.jpg"
/15="1P_17.jpg"
/16="1P_18.jpg"
</item>

So if I remove the 'noreplacenorepeat' from the trial like you are suggesting, do I just need to ensure that the /item for the picture.Alcoholdrinks is 'noreplacenorepeat' and the same for picture.1WF_001?

(1) Selection modes in /stimulustimes DO NOT control how a stimulus element selects its items. That is controlled by the stimulus element's /select attribute.

Selection modes in /stimulustimes control which stimulus element is presented as in

<block myblock>
/ trials = [1-4 = example]
</block>

<trial example>
/ stimulusframes = [1=replace(text.a, text.b)]
/ validresponse = (57)
</trial>

<text a>
/ items = aitems
/ select = sequence
</text>

<text b>
/ items = bitems
/ select = noreplace
</text>

<item aitems>
/ 1 = "A1"
/ 2 = "A2"
/ 3 = "A3"
/ 4 = "A4"
</item>

<item bitems>
/ 1 = "B1"
/ 2 = "B2"
/ 3 = "B3"
/ 4 = "B4"
</item>


<trial example> in the above will sometimes display the stimulus element <text a>, and other times the stimulus element <text b>. Notice that how text a and b select their items is an entirely separate issue.

(2) I don't see how noreplacenorepeat in the <picture>'s /select would make sense or be necessary. It has 18 unique items, there is nothing that could possibly repeat. noreplace should be what you want.
GO

Merge Selected

Merge into selected topic...



Merge into merge target...



Merge into a specific topic ID...




Reading This Topic

Explore
Messages
Mentions
Search