Millisecond Forums

Presenting several pictures in a randomized order with an input box beneath each (6 pics, 6 boxes)

https://www.millisecond.com/forums/Topic13582.aspx

By Almutus - 6/16/2014

Hi!

I'm trying to create a "page" that shows 6 pictures in a randomized order for a serial order task - so underneath each picture should be a box, where one can write (or choose) the numbers 1 through 6 to indicate the correct order of the pictures. Now, I've been sucessfull in creating a page with the randomized pics, but I cannot put more than one input box beneath it. I was trying it with an openended element, since survey-pages cannot show pictures (,if I'm right).

Does anyone have an idea, how to do this?

Thank You!
Almutus
By Dave - 6/16/2014

<openended> isn't going to work for this -- it can't have multiple input boxes. <surveypage> / <textboxes> is indeed the way to go -- and you *can* in fact display <picture> elements on a <surveypage> via its /stimulusframes attribute.
By Almutus - 6/18/2014

Thanks! This worked out!
By Almutus - 6/18/2014

Hello!

I've come across another problem now: I've already written that I randomized the presentation order of the pictures and underneath each I've put a textbos, where subject are supposed to indicate the correct order. This works fine now, but it doesn't record, where it positioned which picture, so I cannot put together the response of the subjects with the actual position of the pictures on the surveypage. Can I do that somehow with an "ontrialbegin"?
Here's my script:

<defaults>
/ fontstyle = ("Verdana", 2%, true)
</defaults>

<block myblock>
/ trials = [1=Position_Test]
</block>

+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 surveypage presents 6 stimuli /w 6 boxes
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

<surveypage Position_Test>
/ stimulusframes = [1=pic1_sim_L1,pic2_sim_L1,pic3_sim_L1,pic4_sim_L1,pic5_sim_L1,pic6_sim_L1]
/ questions = [1=Position1, Position2, Position3, Position4, Position5,Position6]
/ finishlabel = ("      weiter      ")
/ subcaption = ("Geben Sie die richtige Position der Bilder an, indem Sie die entsprechende Ziffern (1-6) in die Kästchen schreiben.")
</surveypage>

+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Pictures_vertical position constant
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

***** pics visually similar list 1 *****

<picture pic1_sim_L1>
/ select = noreplace
/ items = ("Apfel.bmp")
/size = (15%,15%)
/ vposition = 45%
/ hposition = counter.picpos.selectedvalue
</picture>

<picture pic2_sim_L1>
/ select = noreplace
/ items = ("Rad.bmp")
/size = (15%,15%)
/ vposition = 45%
/ hposition = counter.picpos.selectedvalue
</picture>

<picture pic3_sim_L1>
/ select = noreplace
/ items = ("Bombe.bmp")
/size = (15%,15%)
/ vposition = 45%
/ hposition = counter.picpos.selectedvalue
</picture>

<picture pic4_sim_L1>
/ select = noreplace
/ items = ("Knopf.bmp")
/size = (15%,15%)
/ vposition = 45%
/ hposition = counter.picpos.selectedvalue
</picture>

<picture pic5_sim_L1>
/ select = noreplace
/ items = ("Ball.bmp")
/size = (15%,15%)
/ vposition = 45%
/ hposition = counter.picpos.selectedvalue
</picture>

<picture pic6_sim_L1>
/ select = noreplace
/ items = ("Teller.bmp")
/size = (15%,15%)
/ vposition = 45%
/ hposition = counter.picpos.selectedvalue
</picture>


+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 Candidate positions for pics
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

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

+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

<textbox Position1>
/ mask = positiveinteger
/ range = (1, 6)
/ position = (9%,55%)
/ textboxsize = (2,3)
</textbox>

<textbox Position2>
/ mask = positiveinteger
/ range = (1, 6)
/ position = (24%,55%)
/ textboxsize = (2,3)
</textbox>

<textbox Position3>
/ mask = positiveinteger
/ range = (1, 6)
/ position = (39%,55%)
/ textboxsize = (2,3)
</textbox>

<textbox Position4>
/ mask = positiveinteger
/ range = (1, 6)
/ position = (54%,55%)
/ textboxsize = (2,3)
</textbox>

<textbox Position5>
/ mask = positiveinteger
/ range = (1, 6)
/ position = (69%,55%)
/ textboxsize = (2,3)
</textbox>

<textbox Position6>
/ mask = positiveinteger
/ range = (1, 6)
/ position = (84%,55%)
/ textboxsize = (2,3)
</textbox>

By Dave - 6/18/2014

Yes. Set up a bunch of <values> (one for each pictures horizontal position)

<values>
/ pic1_hpos = 0
/ pic2_hpos = 0
...
</values>

use those in the <picture>'s /hposition attributes

<picture pic1_sim_L1>
...
/ hposition = values.pic1_hpos
</picture>

populate them /ontrialbegin

<surveypage Position_Test>
/ ontrialbegin = [values.pic1_hpos=counter.picpos.selectedvalue; values.pic2_hpos=counter.picpos.selectedvalue; ...]
...
</surveypage>

and optionally log them to the data file

<data>
/ columns = [..., values.pic1_hpos, values.pic2_hpos, ...]
...
</data>