Millisecond Forums

Radiobuttons to respond to picture stimulus?

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

By Vitas - 1/18/2015

I've spent the better part of today going through the forum & haven't found my answer.

I'm trying to write up script for the Boston Naming Test, so the participant would get one picture on the screen, and name the item pictured using 4 multiple choice options. I've been trying to use radio buttons, but can't get the image to show up that way. 

Thank you in advance for any help.

(Also, for the powers that be, this link, which might provide my answer, is broken: https://www.millisecond.com/download/samples/#sthash.VkzkLx6R.dpuf) 
By Vitas - 1/18/2015

This is a (very) abridged version of what I have so far. I'm not sure what heading I can use for the jpg pictures when I get under the radio buttons, hence the complete absence of anything right now.
----------------------------- 

<values>
/pageinstructions = "Please select the answers that apply best."
</values>

<instruct>
/windowsize = (80%, 80%)
/ fontstyle = ("Arial", 3.00%, false, false, false, false, 5, 1)
/ txcolor = (black)
/ finishlabel = "Press <Spacebar> to continue"
/nextkey = (57)
/nextlabel = "Press <Spacebar> to continue"
</instruct>

<data>
/file = "BNT_summary.iqdat"
/columns = [date, time, subject, script.elapsedtime, values.completed, expressions.totalscore]
/separatefiles = true
</data>

<defaults>
/minimumversion = "4.0.4.0"
/canvasaspectratio = (4,3)
</defaults>

<values>
/completed = 0
</values>

<item pictures>
/1 = abacus.jpg
/2 = accordian.jpg
/3 = acorn.jpg
</item>

<radiobuttons q1>
/ options = (“beads”, “Chinese”, “abacus”, “game”)
/ optionvalues = ("1", "2", "3", "4")
/required = true
/orientation = horizontal
</radiobuttons>

<radiobuttons q2>
/ options = (“accordion”, “folding door”, “bagpipes”, “piano”)
/ optionvalues = ("1", "2", "3", "4")
/required = true
/orientation = horizontal
</radiobuttons>

<radiobuttons q3>
/ options = (“acorn”, “chestnut”, “beret”, “oak”)
/ optionvalues = ("1", "2", "3", "4")
/required = true
/orientation = horizontal
</radiobuttons>

<page end>
Thank you!
</page>
By Dave - 1/18/2015

To display a picture on a <surveypage> you either need to set up

(1) <image> elements and display them via the page's /questions attribute or
(2) <picture> elements and display them via the page's /stimulusframes.

(1) is the recommended way, as (2) has some drawbacks.
By Vitas - 1/19/2015

I'm very sorry, but I'm not having any more luck than I was before. I've tried a few different ways. Under the surveypage, I've tried labeling questions as  /questions = [1=BNT;2=q1], but that brings up and error messages that says  image.BNT - items - Mandatory attribute is not defined. And of course, I need a specific set of radio buttons to match with a specific image file, but if I do /questions = [1=abacus.jpg;2-q1] or /questions = [1=BNT.1;2=q1] it says it cannot find the whatever I'm calling the image.

Also, i realize in my first post, I cited the wrong link as being broken. On the Test Library page, it's the link for "Create Stimuli from responses to a questionnaire" that isn't working.

<values>
/pageinstructions = "Please select the answers that apply best."
</values>

<instruct>
/windowsize = (80%, 80%)
/ fontstyle = ("Arial", 3.00%, false, false, false, false, 5, 1)
/ txcolor = (black)
/ finishlabel = "Press <Spacebar> to continue"
/nextkey = (57)
/nextlabel = "Press <Spacebar> to continue"
</instruct>

<image BNT>
/1 = "abacus.jpg"
/2 = "accordian.jpg"
</image>


<data>
/file = "BNT_summary.iqdat"
/columns = [date, time, subject, script.elapsedtime, values.completed, expressions.totalscore]
/separatefiles = true
</data>

<defaults>
/minimumversion = "4.0.4.0"
/canvasaspectratio = (4,3)
</defaults>

<values>
/completed = 0
</values>

<radiobuttons q1>
/ options = ("beads", "Chinese", "abacus", "game")
/ optionvalues = ("1", "2", "3", "4")
/required = true
/orientation = horizontal
</radiobuttons>

<radiobuttons q2>
/ options = ("accordion", "folding door", "bagpipes", "piano")
/ optionvalues = ("1", "2", "3", "4")
/required = true
/orientation = horizontal
</radiobuttons>

<surveypage BNT1>
/caption ="<%values.pageinstructions%>"
/questions = [1=abacus.jpg;2=q1]
/ fontstyle = ("Arial", 3%, false, false, false, false, 5, 1)
/itemfontstyle = ("Arial", 2%, false, false, false, false, 5, 1)
/ txcolor = (0, 0, 0)
/ finishlabel = "Next"
/ nextbuttonposition = (60%, 90%)
</surveypage>
By Dave - 1/19/2015


<image BNT>
/1 = "abacus.jpg"
/2 = "accordian.jpg"
</image>

The above is not a valid <image> element. See https://www.millisecond.com/support/docs/v4/html/language/elements/image.htm for proper syntax.

Also, the way to reference an <image> element in /questions is the same as with any other type of question format: You reference it by *name* only:

<surveypage BNT1>
/caption ="<%values.pageinstructions%>"
/questions = [1=BNT1image;2=q1]
...
</surveypage>

<image BNT1image>
/ items = ("abacus.jpg")
...
</image>
By Vitas - 1/22/2015

I'm really sorry, Dave, but it's still not working. I'm not getting any error messages, but it won't run at all. It opens the window for Subject & Group Codes, then ends and goes right back to the script when I hit "run". I started a separate script to try it out with minimal input and still have the same problem.

This is exactly everything I have:

<values>
/pageinstructions = "Please select the name that apply best to the image pictured."
</values>

<instruct>
/windowsize = (80%, 80%)
/ fontstyle = ("Arial", 3.00%, false, false, false, false, 5, 1)
/ txcolor = (black)
/ finishlabel = "Press <Spacebar> to continue"
/nextkey = (57)
/nextlabel = "Press <Spacebar> to continue"
</instruct>

<data>
/file = "BNT_summary.iqdat"
/columns = [date, time, subject, script.elapsedtime, values.completed, expressions.totalscore]
/separatefiles = true
</data>

<defaults>
/minimumversion = "4.0.4.0"
/canvasaspectratio = (4,3)
</defaults>

<values>
/completed = 0
</values>

<image BNT1image>
/ items = ("abacus.jpg")
</image>

<radiobuttons q1>
/ options = ("beads", "Chinese", "abacus", "game")
/ optionvalues = ("1", "2", "3", "4")
/required = true
/orientation = horizontal
</radiobuttons>

<surveypage BNT1>
/caption ="<%values.pageinstructions%>"
/questions = [1=BNT1image;2=q1]
/finishlabel = "Next"
/nextbuttonposition = (60%, 90%)
</surveypage>
By Dave - 1/22/2015

It doesn't run because there needs to be *at least* a <survey> or <block> element that runs your <surveypage>. Add

<survey mysurvey>
/pages = [1=BNT1]
</survey>

and it will run.
By Vitas - 1/25/2015

Hallelujah! Thank you so incredibly much, I know it must be a pain dealing with incompetent coders like myself, but I very much appreciate your patience.
By Dave - 1/25/2015

Great to hear it's working! And: No, you are not a pain at all. So please don't hesitate to post if you hit another roadblock.