Presenting Images


Author
Message
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 - Thursday, May 11, 2017
This is so great, thank you. Would it be possible to code the written answers in the previous entry? (If a correct answer is provided as Y and then described in the letterbox for image05.jpg, could the entry get a category which contains the answer)

It would be very helpful for moving the data to SPSS afterwards. Right now the text answer is coded in the text stimulus entry (Please describe what you saw:), which follows the image stimulus entry.

Hope it makes sense. Thank you.

> This is so great, thank you. Would it be possible to code the written answers in the previous entry?
> (If a correct answer is provided as Y and then described in the letterbox for image05.jpg, could the entry get a category which contains the answer)

Not sure I fully understand this description. Specifically, with respect to "could the entry get a category which contains the answer":
(1) Which "entry"?
(2) What do you mean by "category"?

Perhaps give me a concrete example of how you want the data output to look in *both* the case of a "y" response plus written description and the case of a "n" response.

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'd need the "cat on the right side" and "raindeer in the center" to be encoded in the 03.png and 06.png lines, respectively. After 50pct and 20pct, I would need an extra category which says "answer". Maybe that means it should be associated with the image stimulus and just have a textbox pop up over the image when you press Y? (might not be possible, but having the response in the same line as the yes/no answer would help when dealing with larger amounts of data).

Thanks.


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 - Thursday, May 11, 2017

I'd need the "cat on the right side" and "raindeer in the center" to be encoded in the 03.png and 06.png lines, respectively. After 50pct and 20pct, I would need an extra category which says "answer". Maybe that means it should be associated with the image stimulus and just have a textbox pop up over the image when you press Y? (might not be possible, but having the response in the same line as the yes/no answer would help when dealing with larger amounts of data).

Thanks.


To do this, you should make use of a bunch of global variables (<values>), a dedicated <trial> run after the showpicture-trial and openended to dump the data, and lastly the <data> element's /columns attribute, which allows you to specify exactly what you do and do not want recorded:

<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 myblock>
/ trials = [1-20 = sequence(showpicture, typeanswer, picdata)]
</block>

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

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


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.

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
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, ?

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.



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
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 - 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

GO

Merge Selected

Merge into selected topic...



Merge into merge target...



Merge into a specific topic ID...




Reading This Topic

Explore
Messages
Mentions
Search