Presenting Images


Author
Message
cutkiller
cutkiller
Expert (1.4K reputation)Expert (1.4K reputation)Expert (1.4K reputation)Expert (1.4K reputation)Expert (1.4K reputation)Expert (1.4K reputation)Expert (1.4K reputation)Expert (1.4K reputation)Expert (1.4K reputation)
Group: Forum Members
Posts: 13, Visits: 23
Makes sense. Thank you.

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: 13K, Visits: 104K
cutkiller - Monday, May 15, 2017
I tried adding another survey

<surveypage genderpage>
/ ontrialend = [values.emostate = dropdown.emoquestion.response]
/ questions = [1=genderquestion]
/ showpagenumbers = false
/ showquestionnumbers = false
</surveypage>

<dropdown genderquestion>
/ caption = "Gender:"
/ options = ("Male", "Female")
</dropdown>

But when I run it, nothing appears. Any clue why?

A <surveypage> is a kind of <trial>. That trial needs to be run by a block (a <block> or <survey> element). That block needs to be run by the <expt>.

<picture mypicture>
/ items = pictureitems
/ select = sequence
/ size = (100%, 100%)
</picture>

<item pictureitems>
/ 1 = "image01.jpg"
/ 2 = "image02.jpg"
/ 3 = "image03.jpg"
/ 4 = "image04.jpg"
/ 5 = "image05.jpg"
/ 6 = "image06.jpg"
/ 7 = "image07.jpg"
/ 8 = "image08.jpg"
/ 9 = "image09.jpg"
/ 10 = "image10.jpg"
/ 11 = "image11.jpg"
/ 12 = "image12.jpg"
/ 13 = "image13.jpg"
/ 14 = "image14.jpg"
/ 15 = "image15.jpg"
/ 16 = "image16.jpg"
/ 17 = "image17.jpg"
/ 18 = "image18.jpg"
/ 19 = "image19.jpg"
/ 20 = "image20.jpg"
</item>

// press y or n
<trial showpicture>
/ ontrialend = [
    values.pictrialnumber += 1;
    values.picitem = picture.mypicture.currentitem;
    values.picdescription = "";
    values.picdescriptionlatency = "";
    values.showpiclatency = trial.showpicture.latency;
]
/ ontrialend = [if(trial.showpicture.correct) values.showpicresponse = "y" else values.showpicresponse = "n"]
/ stimulusframes = [1=mypicture]
/ validresponse = ("y", "n")
/ correctresponse = ("y")
/ recorddata = false
</trial>

// skip openended if answer in showpicture trial was wrong (= "n"; no, did not see anything)
<openended typeanswer>
/ skip = [trial.showpicture.error]
/ ontrialend = [
    values.picdescription = openended.typeanswer.response;
    values.picdescriptionlatency = openended.typeanswer.latency;
]
/ stimulusframes = [1=typeprompt]
/ size = (70%, 40%)
/ position = (50%, 70%)
/ multiline = true
/ charlimit = 10000
/ recorddata = false
</openended>

// record data for the two above elements in a single line
<trial picdata>
/ recorddata = true
/ trialduration = 0
/ validresponse = (0)
</trial>

<text typeprompt>
/ items = ("Please describe what you saw:")
/ position = (50%, 20%)
</text>

<block picblock>
/ trials = [1-20 = sequence(showpicture, typeanswer, picdata)]
</block>

<block emoblock>
/ trials = [1=emopage; 2=genderpage]
</block>

<surveypage emopage>
/ ontrialend = [values.emostate = dropdown.emoquestion.response]
/ questions = [1=emoquestion]
/ showpagenumbers = false
/ showquestionnumbers = false
</surveypage>

<dropdown emoquestion>
/ caption = "Your current emotional state:"
/ options = ("bad", "neutral", "good")
</dropdown>

<surveypage genderpage>
/ ontrialend = [values.gender = dropdown.genderquestion.response]
/ questions = [1=genderquestion]
/ showpagenumbers = false
/ showquestionnumbers = false
</surveypage>

<dropdown genderquestion>
/ caption = "Gender:"
/ options = ("Male", "Female")
</dropdown>

<expt>
/ preinstructions = (intro)
/ blocks = [1=emoblock; 2=picblock]
</expt>

<page intro>
^intro goes here.
</page>

<values>
/ pictrialnumber = 0
/ picitem = ""
/ showpicresponse = ""
/ showpiclatency = ""
/ picdescription = ""
/ picdescriptionlatency = ""
/ emostate = ""
/ gender = ""
</values>

<data>
/ columns = [date, time, subject, group, blocknum, blockcode, trialnum, trialcode, values.emostate, values.gender, values.pictrialnumber, values.showpiclatency, values.showpicresponse,
    values.picitem, values.picdescription, values.picdescriptionlatency]
</data>

Edited 7 Years Ago by Dave
cutkiller
cutkiller
Expert (1.4K reputation)Expert (1.4K reputation)Expert (1.4K reputation)Expert (1.4K reputation)Expert (1.4K reputation)Expert (1.4K reputation)Expert (1.4K reputation)Expert (1.4K reputation)Expert (1.4K reputation)
Group: Forum Members
Posts: 13, Visits: 23
I tried adding another survey

<surveypage genderpage>
/ ontrialend = [values.emostate = dropdown.emoquestion.response]
/ questions = [1=genderquestion]
/ showpagenumbers = false
/ showquestionnumbers = false
</surveypage>

<dropdown genderquestion>
/ caption = "Gender:"
/ options = ("Male", "Female")
</dropdown>

But when I run it, nothing appears. Any clue why?

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: 13K, Visits: 104K
cutkiller - Monday, May 15, 2017
Ah, thanks for the info. Great help.

I tried adding an additional survey to collect the gender, but I can't make it work and I don't find anything in the help documentation. Any idea how I would do that?

In the same way as the emotional state is collected. To keep things simple, just add the gender question to the already existing surveypage. For an introduction to the various survey features, see the survey tutorial in the documentation: https://www.millisecond.com/support/docs/v4/html/tutorials/demographic_survey/surveytutorial.htm

cutkiller
cutkiller
Expert (1.4K reputation)Expert (1.4K reputation)Expert (1.4K reputation)Expert (1.4K reputation)Expert (1.4K reputation)Expert (1.4K reputation)Expert (1.4K reputation)Expert (1.4K reputation)Expert (1.4K reputation)
Group: Forum Members
Posts: 13, Visits: 23
Ah, thanks for the info. Great help.

I tried adding an additional survey to collect the gender, but I can't make it work and I don't find anything in the help documentation. Any idea how I would do that?

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: 13K, Visits: 104K
cutkiller - Sunday, May 14, 2017
Managed to make that work. Is there any way to collect these answers horizontally for each subject, so I can have the vertical dimension reserved for separate subjects? Also, can I get the results to be associated with 0 for no and 1 for yes? I've been searching in the documentation, but I haven't found anything.

Thank you.



> Managed to make that work. Is there any way to collect these answers horizontally for each subject.

No. You will need to restructure the data using e.g SPSS. See e.g. http://www.tqmp.org/RegularArticles/vol02-1/p020/index.html

> Also, can I get the results to be associated with 0 for no and 1 for yes?

Yes, change

// press y or n
<trial showpicture>
/ ontrialend = [
    values.pictrialnumber += 1;
    values.picitem = picture.mypicture.currentitem;
    values.picdescription = "";
    values.picdescriptionlatency = "";
    values.showpiclatency = trial.showpicture.latency;
]
/ ontrialend = [if(trial.showpicture.correct) values.showpicresponse = "y" else values.showpicresponse = "n"]
/ stimulusframes = [1=mypicture]
/ validresponse = ("y", "n")
/ correctresponse = ("y")
/ recorddata = false
</trial>

to
// press y or n
<trial showpicture>
/ ontrialend = [
    values.pictrialnumber += 1;
    values.picitem = picture.mypicture.currentitem;
    values.picdescription = "";
    values.picdescriptionlatency = "";
    values.showpiclatency = trial.showpicture.latency;
]
/ ontrialend = [if(trial.showpicture.correct) values.showpicresponse = 1 else values.showpicresponse = 0]
/ stimulusframes = [1=mypicture]
/ validresponse = ("y", "n")
/ correctresponse = ("y")
/ recorddata = false
</trial>


cutkiller
cutkiller
Expert (1.4K reputation)Expert (1.4K reputation)Expert (1.4K reputation)Expert (1.4K reputation)Expert (1.4K reputation)Expert (1.4K reputation)Expert (1.4K reputation)Expert (1.4K reputation)Expert (1.4K reputation)
Group: Forum Members
Posts: 13, Visits: 23
Managed to make that work. Is there any way to collect these answers horizontally for each subject, so I can have the vertical dimension reserved for separate subjects? Also, can I get the results to be associated with 0 for no and 1 for yes? I've been searching in the documentation, but I haven't found anything.

Thank you.



cutkiller
cutkiller
Expert (1.4K reputation)Expert (1.4K reputation)Expert (1.4K reputation)Expert (1.4K reputation)Expert (1.4K reputation)Expert (1.4K reputation)Expert (1.4K reputation)Expert (1.4K reputation)Expert (1.4K reputation)
Group: Forum Members
Posts: 13, Visits: 23
This hepled a lot. Thank you. I'm getting an error message saying "Invalid expression trialnu". I'm guessing it has something to do with

/ columns = [date, time, subject, group, blocknum, blockcode, trialnu, trialcode, ?

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: 13K, Visits: 104K
cutkiller - Friday, May 12, 2017
Ah, this is perfect. Thank you so much.

I just need a briefing intro page and after that, before the images are displayed, a drop down/bulletpoint list with 3 entries asking the participants what their emotional state at the time of the testing is (bad/neutral/good) and that would be everything. How would I do that?

Thanks again and have a great weekend.

For the briefing page set up a <page> element and display it via an <expt>'s /preinstructions.

For the emotional state question, set up a <surveypage> with a <dropdown>, put the page in a <block>, run the now two <block>s via the <expt>.

<picture mypicture>
/ items = pictureitems
/ select = sequence
/ size = (100%, 100%)
</picture>

<item pictureitems>
/ 1 = "image01.jpg"
/ 2 = "image02.jpg"
/ 3 = "image03.jpg"
/ 4 = "image04.jpg"
/ 5 = "image05.jpg"
/ 6 = "image06.jpg"
/ 7 = "image07.jpg"
/ 8 = "image08.jpg"
/ 9 = "image09.jpg"
/ 10 = "image10.jpg"
/ 11 = "image11.jpg"
/ 12 = "image12.jpg"
/ 13 = "image13.jpg"
/ 14 = "image14.jpg"
/ 15 = "image15.jpg"
/ 16 = "image16.jpg"
/ 17 = "image17.jpg"
/ 18 = "image18.jpg"
/ 19 = "image19.jpg"
/ 20 = "image20.jpg"
</item>

// press y or n
<trial showpicture>
/ ontrialend = [
    values.pictrialnumber += 1;
    values.picitem = picture.mypicture.currentitem;
    values.picdescription = "";
    values.picdescriptionlatency = "";
    values.showpiclatency = trial.showpicture.latency;
]
/ ontrialend = [if(trial.showpicture.correct) values.showpicresponse = "y" else values.showpicresponse = "n"]
/ stimulusframes = [1=mypicture]
/ validresponse = ("y", "n")
/ correctresponse = ("y")
/ recorddata = false
</trial>

// skip openended if answer in showpicture trial was wrong (= "n"; no, did not see anything)
<openended typeanswer>
/ skip = [trial.showpicture.error]
/ ontrialend = [
    values.picdescription = openended.typeanswer.response;
    values.picdescriptionlatency = openended.typeanswer.latency;
]
/ stimulusframes = [1=typeprompt]
/ size = (70%, 40%)
/ position = (50%, 70%)
/ multiline = true
/ charlimit = 10000
/ recorddata = false
</openended>

// record data for the two above elements in a single line
<trial picdata>
/ recorddata = true
/ trialduration = 0
/ validresponse = (0)
</trial>

<text typeprompt>
/ items = ("Please describe what you saw:")
/ position = (50%, 20%)
</text>

<block picblock>
/ trials = [1-20 = sequence(showpicture, typeanswer, picdata)]
</block>

<block emoblock>
/ trials = [1=emopage]
</block>

<surveypage emopage>
/ ontrialend = [values.emostate = dropdown.emoquestion.response]
/ questions = [1=emoquestion]
/ showpagenumbers = false
/ showquestionnumbers = false
</surveypage>

<dropdown emoquestion>
/ caption = "Your current emotional state:"
/ options = ("bad", "neutral", "good")
</dropdown>


<expt>
/ preinstructions = (intro)
/ blocks = [1=emoblock; 2=picblock]
</expt>

<page intro>
^intro goes here.
</page>

<values>
/ pictrialnumber = 0
/ picitem = ""
/ showpicresponse = ""
/ showpiclatency = ""
/ picdescription = ""
/ picdescriptionlatency = ""
/ emostate = ""
</values>

<data>
/ columns = [date, time, subject, group, blocknum, blockcode, trialnu, trialcode, values.emostate, values.pictrialnumber, values.showpiclatency, values.showpicresponse,
    values.picitem, values.picdescription, values.picdescriptionlatency]
</data>

You will find most of those basics -- setting up trials, blocks, expts, instruction pages, survey questions, etc. -- covered in the tutorials in the Inquisit documentation. I recommend you give those a look if you haven't done so yet.

cutkiller
cutkiller
Expert (1.4K reputation)Expert (1.4K reputation)Expert (1.4K reputation)Expert (1.4K reputation)Expert (1.4K reputation)Expert (1.4K reputation)Expert (1.4K reputation)Expert (1.4K reputation)Expert (1.4K reputation)
Group: Forum Members
Posts: 13, Visits: 23
Ah, this is perfect. Thank you so much.

I just need a briefing intro page and after that, before the images are displayed, a drop down/bulletpoint list with 3 entries asking the participants what their emotional state at the time of the testing is (bad/neutral/good) and that would be everything. How would I do that?

Thanks again and have a great weekend.

GO

Merge Selected

Merge into selected topic...



Merge into merge target...



Merge into a specific topic ID...




Reading This Topic

Explore
Messages
Mentions
Search