Millisecond Forums

Recording positions of stimuli

https://forums.millisecond.com/Topic25569.aspx

By Em - 9/20/2018

Dear experts, 

I've tried looking up the answer in other threads, but can't seem to fit the pieces of the puzzle together. 
I am showing my respondents 6 images, which are randomized horizontally. In a separate question underneath the pictures, respondent need to indicate which 1 picture out of 6 they choose. To be able to know what picture respondents chose, I need to know at what horizontal position each picture was displayed for every respondent. However, I can't seem to store that data. I tried using the <data> command to store "stimulushpos", but it just gives the same percentage for all 6 stimuli. It would be great if you could help me out! 

<block ChoosePictureLukas>
/ trials = [1 = ChoosePicLukas]
</block>

<surveypage ChoosePicLukas>
/ stimulusframes = [1=Lukasfem50, Lukasfem30, Lukasfem10, Lukasmas10, Lukasmas30, Lukasmas50]
/ questions = [1 = possiblenumber; 2 = ChoosepicQ1]
</surveypage>

<picture Lukasfem50>
/ select = noreplace
/ items = ("Lukasfem50.png")
/size = (60%,30%)
/ vposition = 40%
/ hposition = counter.picpos2.selectedvalue
</picture>

<picture Lukasfem30>
/ select = noreplace
/ items = ("Lukasfem30.png")
/size = (60%,30%)
/ vposition = 40%
/ hposition = counter.picpos2.selectedvalue
</picture>

(etc)

<counter picpos2>
/ items = (10%,25%,40%,55%,70%,85%)
/ select = noreplace
/ selectionrate = always
</counter>


By Dave - 9/20/2018

Em - Thursday, September 20, 2018
Dear experts, 

I've tried looking up the answer in other threads, but can't seem to fit the pieces of the puzzle together. 
I am showing my respondents 6 images, which are randomized horizontally. In a separate question underneath the pictures, respondent need to indicate which 1 picture out of 6 they choose. To be able to know what picture respondents chose, I need to know at what horizontal position each picture was displayed for every respondent. However, I can't seem to store that data. I tried using the <data> command to store "stimulushpos", but it just gives the same percentage for all 6 stimuli. It would be great if you could help me out! 

<block ChoosePictureLukas>
/ trials = [1 = ChoosePicLukas]
</block>

<surveypage ChoosePicLukas>
/ stimulusframes = [1=Lukasfem50, Lukasfem30, Lukasfem10, Lukasmas10, Lukasmas30, Lukasmas50]
/ questions = [1 = possiblenumber; 2 = ChoosepicQ1]
</surveypage>

<picture Lukasfem50>
/ select = noreplace
/ items = ("Lukasfem50.png")
/size = (60%,30%)
/ vposition = 40%
/ hposition = counter.picpos2.selectedvalue
</picture>

<picture Lukasfem30>
/ select = noreplace
/ items = ("Lukasfem30.png")
/size = (60%,30%)
/ vposition = 40%
/ hposition = counter.picpos2.selectedvalue
</picture>

(etc)

<counter picpos2>
/ items = (10%,25%,40%,55%,70%,85%)
/ select = noreplace
/ selectionrate = always
</counter>



The best way is to use values to store the horizontal positions and then log those values to the data file. I.e.

<block ChoosePictureLukas>
/ trials = [1 = ChoosePicLukas]
</block>

<values>
/ fem50_xpos = 0%
/ fem30_xpos = 0%
/ fem10_xpos = 0%
/ mas50_xpos = 0%
/ mas30_xpos = 0%
/ mas10_xpos = 0%
</values>



<surveypage ChoosePicLukas>
/ ontrialbegin = [
    values.fem50_xpos = counter.picpos2.selectedvalue;
    values.fem30_xpos = counter.picpos2.selectedvalue;
    values.fem10_xpos = counter.picpos2.selectedvalue;
    values.mas50_xpos = counter.picpos2.selectedvalue;
    values.mas30_xpos = counter.picpos2.selectedvalue;
    values.mas10_xpos = counter.picpos2.selectedvalue;
]

/ stimulusframes = [1=Lukasfem50, Lukasfem30, Lukasfem10, Lukasmas10, Lukasmas30, Lukasmas50]
/ questions = [1 = possiblenumber; 2 = ChoosepicQ1]
</surveypage>

<picture Lukasfem50>
/ select = noreplace
/ items = ("Lukasfem50.png")
/size = (60%,30%)
/ vposition = 40%
/ hposition = values.fem50_xpos
</picture>

<picture Lukasfem30>
/ select = noreplace
/ items = ("Lukasfem30.png")
/size = (60%,30%)
/ vposition = 40%
/ hposition = values.fem30_xpos
</picture>

(etc)

<counter picpos2>
/ items = (10%,25%,40%,55%,70%,85%)
/ select = noreplace
/ selectionrate = always
</counter>

with

<data>
/ columns = (..., values.fem50_xpos, values.fem30_xpos, values.fem10_xpos, values.mas50_xpos, values.mas30_xpos, values.mas10_xpos, ...)
...
</data>
By Em - 9/20/2018

Thank you so much for the quick and clear reply!