showing randomly paired stimuli again in a second round in the same combination


showing randomly paired stimuli again in a second round in the same...
Author
Message
AKathryn
AKathryn
Partner Member (666 reputation)Partner Member (666 reputation)Partner Member (666 reputation)Partner Member (666 reputation)Partner Member (666 reputation)Partner Member (666 reputation)Partner Member (666 reputation)Partner Member (666 reputation)Partner Member (666 reputation)
Group: Forum Members
Posts: 4, Visits: 22

Dear Inquisit community,

I am currently desingning an experiment in which participants have to evaluate fictional project partners (in terms of how much they would like to work with that person). I am presenting several potential partners, and always show a picture next to a short CV. Attractiveness in the picture varies as well as the competence of the person as suggested in the CV. In the end, the task should measure the value a person places on attractiveness as compared to the competence of a person. Picture and CV are paired randomly, so that every participant gets a different „set“ of potentional project partners.
Now the challenge: After showing all the pictures of all project partners, randomly paired with CVs and asking everytime how much the participant would like to work with that person, I want to do ANOTHER round of showing the same pictures paired with the same CVs as before, this time asking the participant how attractive and how competent they perceive the person as a manipulation check.
Here is my question: Is it somehow possible for Inquisit to track which combination it randomly showed before and to show this exact combination again in the second round?

Thank you so much for your help!
Best,
Kathryn


Dave
Dave
Supreme Being (968K reputation)Supreme Being (968K reputation)Supreme Being (968K reputation)Supreme Being (968K reputation)Supreme Being (968K reputation)Supreme Being (968K reputation)Supreme Being (968K reputation)Supreme Being (968K reputation)Supreme Being (968K reputation)
Group: Administrators
Posts: 11K, Visits: 74K
Yes, it's perfectly possible. Two options:

(1) Pair your items randomly *at the beginning* of the experiment and then proceed as you would normally. See e.g. https://www.millisecond.com/forums/Topic2623.aspx for an example.

(2) Store the pairs *at runtime* in empty, linked <item> or <list> elements. Sample from those <item>s or <lists> for the repetition. Example:

<values>
/ personitem = 1
/ cvitem = 1
</values>

<expt>
/ blocks = [1=showrandompairs; 2=repeatrandompairs]
</expt>

<block showrandompairs>
/ trials = [1-4=show]
</block>

<block repeatrandompairs>
/ trials = [1-4=repeat]
</block>

<trial show>
/ ontrialbegin = [values.personitem=list.randomperson.nextindex; values.cvitem=list.randomcv.nextindex;
    list.repeatperson.appenditem(values.personitem); list.repeatcv.appenditem(values.cvitem); ]
/ stimulusframes = [1=person, cv]
/ validresponse = (57)
</trial>

<trial repeat>
/ ontrialbegin = [values.personitem=list.repeatperson.nextvalue; values.cvitem=list.repeatcv.nextvalue; ]
/ stimulusframes = [1=person, cv]
/ validresponse = (57)
</trial>

<text person>
/ items = personitems
/ select = values.personitem
/ position = (40%, 50%)
</text>

<text cv>
/ items = cvitems
/ select = values.cvitem
/ position = (60%, 50%)
</text>

<item personitems>
/ 1 = "Person A"
/ 2 = "Person B"
/ 3 = "Person C"
/ 4 = "Person D"
</item>

<item cvitems>
/ 1 = "CV 1"
/ 2 = "CV 2"
/ 3 = "CV 3"
/ 4 = "CV 4"
</item>

<list randomperson>
/ poolsize = 4
</list>

<list randomcv>
/ poolsize = 4
</list>

<list repeatperson>
</list>

<list repeatcv>
/ selectionmode = list.repeatperson.currentindex
</list>


AKathryn
AKathryn
Partner Member (666 reputation)Partner Member (666 reputation)Partner Member (666 reputation)Partner Member (666 reputation)Partner Member (666 reputation)Partner Member (666 reputation)Partner Member (666 reputation)Partner Member (666 reputation)Partner Member (666 reputation)
Group: Forum Members
Posts: 4, Visits: 22
Okay, thank you, Dave!! I've tried to implement the second method you suggested into my script, but it's not working (I get the error message "Unable to initialize <picture Person_unattractive> item number 3. Verify the item exists and is correctly defined"
Also, I think I didn't do it correctly because the task is actually a bit more complicated than I first described: I am actually not pairing only pictures and CVs but also grades (grade point average) of the "project partner". There are three levels of attractiveness (attractive, medium attractive and unattractive) and three levels of grades (good, medium and bad). Each level of attractiveness is systematically paired with each level of grades, so each participant sees 9 persons in total. Then there are 9 neutral CVs which are assigned randomly to each person/grade pair and also shown simultaneously.
So I actually don't have a single trial to show or repeat the "partners", but I made 9 trials for each of the attractiveness/grade combinations. These are selected with the noreplace selectionmode on the block level.
I included the "ontrialbegin" commands from your script for each of the 9 trials in my script; is that correct?
Also, under the "values" element, I added the three levels of attractiveness and the three levels of grades. Is that correct, too?

So sorry, but I'm getting desperate with my script!
For clarification, I've attached my script with the added "repeat task" in which I tried to implement your suggestion. I've also added the original script of my task with only the first part of the task, without the second round.

Best,
Kathryn

Attachments
partner_choice.exp (381 views, 5.00 KB)
partner_choice_mit_repeat_task.exp (606 views, 10.00 KB)
Dave
Dave
Supreme Being (968K reputation)Supreme Being (968K reputation)Supreme Being (968K reputation)Supreme Being (968K reputation)Supreme Being (968K reputation)Supreme Being (968K reputation)Supreme Being (968K reputation)Supreme Being (968K reputation)Supreme Being (968K reputation)
Group: Administrators
Posts: 11K, Visits: 74K
> "Unable to initialize <picture Person_unattractive> item number 3. Verify the item exists and is correctly defined"

Your problem is that the item numbers you assign do not necessarily match the number of available items in your various <picture> elements. Your <list randomperson> contains item numbers 1-9.

<list randomperson>
/ poolsize = 9
</list>

You sample a random value from that list in your various trials, for example:

<trial Person1>
/ posttrialpause = 250
/ stimulustimes = [1 = Person_attractive, grades_set_gut, CV]
/ timeout = 5000
/ ontrialbegin = [values.Person_attractive=list.randomperson.nextindex; values.CVs=list.randomcv.nextindex;
    list.repeatperson.appenditem(values.Person_attractive); list.repeatcv.appenditem(values.CVs); ]
</trial>

Suppose the randomly sampled value is 7. Here's the problem: <picture Person_attractive> doesn't have a 7th item. It only has 3 items (#1, #2, #3):

<picture Person_attractive>
/ select = values.Person_attractive
/ position = (75, 50)
</picture>

<item Person_attractive>
/1 = "face32_w.jpg"
/2 = "face31_w.jpg"
/3 = "face30_w.jpg"
</item>

The same is true for the other <trial>s / <picture>s respectively. You'll thus have to set up more <list>s and sample from those applicable to a given trial-type. I.e. you need to do

<list randomattractiveperson>
/ poolsize = 3
</list>

with

<trial Person1>
/ posttrialpause = 250
/ stimulustimes = [1 = Person_attractive, grades_set_gut, CV]
/ timeout = 5000
/ ontrialbegin = [values.Person_attractive=list.randomattractiveperson.nextindex; ...; ]
</trial>

and so forth.

AKathryn
AKathryn
Partner Member (666 reputation)Partner Member (666 reputation)Partner Member (666 reputation)Partner Member (666 reputation)Partner Member (666 reputation)Partner Member (666 reputation)Partner Member (666 reputation)Partner Member (666 reputation)Partner Member (666 reputation)
Group: Forum Members
Posts: 4, Visits: 22
Hi Dave!!

Thanks again!! I changed my syntax again and I think I did everything correctly. Now there is no error message when I verify the script syntax and when I run it, the first block works fine, however, as soon as the second block (the second round of pictures) is about to start, I get a similar error message again ("Unable to initialize <picture Person_attractive> item number 0. Verify the item exists and is correctly defined").
I can't figure out what is going wrong.
Thanks so much!
Unable to initialize <picture Person_unattractive> item number 3. Verify the item exists and is correctly defined" - See more at: http://www.millisecond.com/forums/Post.aspx?PageIndex=1&Task=PostTopicReply&ParentID=16281#sthash.twyA3T46.dpuf
Unable to initialize <picture Person_unattractive> item number 3. Verify the item exists and is correctly defined" - See more at: http://www.millisecond.com/forums/Post.aspx?PageIndex=1&Task=PostTopicReply&ParentID=16281#sthash.twyA3T46.dpuf

Attachments
partner_choice_mit_repeat_task.exp (560 views, 12.00 KB)
Dave
Dave
Supreme Being (968K reputation)Supreme Being (968K reputation)Supreme Being (968K reputation)Supreme Being (968K reputation)Supreme Being (968K reputation)Supreme Being (968K reputation)Supreme Being (968K reputation)Supreme Being (968K reputation)Supreme Being (968K reputation)
Group: Administrators
Posts: 11K, Visits: 74K
Several problems.

#1: Your <list> definitions make no sense (no offense intended):

<list repeatperson>
/ selectionmode = list.repeatperson.currentindex
</list>

<list repeatcv>
/ selectionmode = list.repeatcv.currentindex
</list>

<list repeatgrades>
/ selectionmode = list.repeatgrades.currentindex
</list>

How can the selection in list.repeatperson depend on the selection in that very same list.repeatperson? That's circular and won't and shouldn't work. The same is true for the other above lists.

#2: The other problem is identical to your initial one. You need separate <list> elements for each "repeat" trial-type (Person1repeat, etc.). I.e. you need to do

<trial Person1>
/ posttrialpause = 250
/ stimulustimes = [1 = Person_attractive, grades_set_gut, CV]
/ timeout = 5000
/ ontrialbegin = [values.Person_attractive=list.randomattractiveperson.nextindex; values.CVs=list.randomcv.nextindex; values.grades_set_gut=list.randomgrades_set_gut.nextindex;
    list.repeatperson1.appenditem(values.Person_attractive); list.repeatcvperson1.appenditem(values.CVs); list.repeatgradesperson1.appenditem(values.grades_set_gut); ]
</trial>

with

<list repeatperson1>
</list>

<list repeatcvperson1>
/ selectionmode = list.repeatperson1.currentindex
</list>

<list repeatgrades>
/ selectionmode = list.repeatperson1.currentindex
</list>

and

<trial Person1rep>
/ posttrialpause = 250
/ stimulustimes = [1 = Person_attractive, grades_set_gut, CV]
/ timeout = 5000
/ ontrialbegin = [values.Person_attractive=list.repeatperson1.nextvalue; values.CVs=list.repeatcvperson1.nextvalue; values.grades_set_gut=list.repeatgradesperson1.nextvalue; ]
</trial>

The same needs to be done for the other trials.

AKathryn
AKathryn
Partner Member (666 reputation)Partner Member (666 reputation)Partner Member (666 reputation)Partner Member (666 reputation)Partner Member (666 reputation)Partner Member (666 reputation)Partner Member (666 reputation)Partner Member (666 reputation)Partner Member (666 reputation)
Group: Forum Members
Posts: 4, Visits: 22
Thanks so much!! It's working now. You just made my day :)

lir1995
lir1995
Respected Member (339 reputation)Respected Member (339 reputation)Respected Member (339 reputation)Respected Member (339 reputation)Respected Member (339 reputation)Respected Member (339 reputation)Respected Member (339 reputation)Respected Member (339 reputation)Respected Member (339 reputation)
Group: Forum Members
Posts: 37, Visits: 163
Hi, I was hoping to adapt the code you provided in this forum to fit the needs of my experiment (in inquisit 6). I too would like to present participants with a random item and image pairing, and then later present them with the same pairing for a test. 

The difference is that I have a set of images that I want to present randomly for each participant. I am able to do this using the values and counter functions, as I also want to repeat the images multiple times within a block (switching back and forth between two images for multiple trials).

The trouble I am having is making sure the item and image are paired together and then shown on the screen together during the test portion (labeled as source in my code below). Given that each image is in it's own picture element, I am unsure what item to put in the "stimulustimes" for the source block to show participants the correct image that was paired with the word.

*************************************************
Creating Text and Picture Stimuli
***********************************************



<text pracnoun>
/ items = pracnoun
/select = noreplacenorepeat
/ position = (50,50)
/ fontstyle = ("Arial", 25pt)
/ erase = false
/select = values.shownword_item
</text>


<item pracnoun>
/ 1 = "SCOOTER"
/ 2 = "CUPCAKE"
/ 3 = "TRUMPET"
/ 4 = "ZEBRA"
/5 = "NOTEBOOK"
/6 = "LILY"
</item>


<item scenes>
/1 = "bedroom.jpg"
/2 = "library_aisle10.jpg"
/3 = "office.jpg"
/4 = "dentist1.jpg"
</item>

<picture scene1>
/ items = scenes
/select = values.pairedscene_item
</picture>

<values>
/ shownword_item = 1
/ pairedscene_item = 1
</values>

<list word>
/ poolsize = 4
</list>

<list scene>
/ poolsize = 4
</list>


<list word2>
</list>

<list scene2>
/ selectionmode = list.word2.currentindex
</list>


<values>
/ p1 = 0
/ p2 = 0
/ p3 = 0
/ p4 = 0
</values>

<picture p1>
/ items = scenes
/ select = values.p1
/ position = (50%, 50%)
/ size = (60%, 60%)
</picture>

<picture p2>
/ items = scenes
/ select = values.p2
/ position = (50%, 50%)
/ size = (60%, 60%)
</picture>

<picture p3>
/ items = scenes
/ select = values.p3
/ position = (50%, 50%)
/ size = (60%, 60%)
</picture>

<picture p4>
/ items = scenes
/ select = values.p4
/ position = (50%, 50%)
/ size = (60%, 60%)
</picture>


<counter items>
/ select = noreplace(1-4)
/ selectionrate = always
/ resetinterval = 0
</counter>


<shape blank>
/ color = white
/ shape = rectangle
/ size = (100%, 100%)
/ erase = false
</shape>


<text belong>
/ items = ("Yes")
/ position = (70%, 80%)
/ size = (30%, 5%)
/ hjustify = center
/ vjustify = center
/ fontstyle = ("Arial", 18pt)
/ txbgcolor = white
/ erase = false
</text>


<text nobelong>
/ items = ("No")
/ position = (30%, 80%)
/ size = (30%, 5%)
/ hjustify = center
/ vjustify = center
/ fontstyle = ("Arial", 18pt)
/ txbgcolor = white
/ erase = false
</text>


*************************************************
Creating Trials
*************************************************

<trial practice>
/ stimulustimes = [0 =p1; 1000 = blank; 1500 = pracnoun, belong, nobelong; 4000 = blank]
/ validresponse = ("n","m")
/ posttrialpause = 1000
/ trialduration = 5000
/ responseinterrupt = frames
/ beginresponsetime = 0
/ inputdevice = keyboard
/ ontrialbegin = [
values.shownword_item=list.word.nextindex; values.pairedscene_item=list.scene.nextindex;
  list.word2.appenditem(values.shownword_item); list.scene2.appenditem(values.pairedscene_item); ]
</trial>


<trial practice2>
/ stimulustimes = [0 =p2; 1000 = blank; 1500 = pracnoun, belong, nobelong; 4000 = blank]
/ validresponse = ("n","m")
/ posttrialpause = 1000
/ trialduration = 5000
/ responseinterrupt = frames
/ beginresponsetime = 0
/ inputdevice = keyboard
/ ontrialbegin = [
    values.shownword_item=list.word.nextindex; values.pairedscene_item=list.scene.nextindex;
  list.word2.appenditem(values.shownword_item); list.scene2.appenditem(values.pairedscene_item); ]
</trial>


<trial image3>
/ stimulustimes = [0 =p3; 1000 = blank; 1500 = pracnoun, belong, nobelong; 4000 = blank]
/ validresponse = ("n","m")
/ posttrialpause = 1000
/ trialduration = 5000
/ responseinterrupt = frames
/ beginresponsetime = 0
/ inputdevice = keyboard
</trial>


<trial image4>
/ stimulustimes = [0 =p4; 1000 = blank; 1500 = pracnoun, belong, nobelong; 4000 = blank]
/ validresponse = ("n","m")
/ posttrialpause = 1000
/ trialduration = 5000
/ responseinterrupt = frames
/ beginresponsetime = 0
/ inputdevice = keyboard
</trial>


*************************************************
Creating Blocks
*************************************************

<block practice>
/ onblockbegin = [values.p1=counter.items.selectedvalue; values.p2=counter.items.selectedvalue]
/ trials = [1-2 = practice; 3-4 = practice2; 5-6 = practice]
</block>


<block mid_same>
/ onblockbegin = [values.p3=counter.items.selectedvalue; values.p4=counter.items.selectedvalue]
/ trials = [1-4 = image3; 5-8 = image4; 9-12 = image3; 13-16 = image4]
</block>

<trial source>
/ ontrialbegin = [values.shownword_item=list.word2.nextvalue; values.pairedscene_item=list.scene2.nextvalue;]
/ stimulustimes = [0 =scene1, pracnoun]
/ validresponse = ("m", "n")
/ posttrialpause = 500
/ timeout = 5000
/ beginresponsetime = 0
</trial>


<block source_mem>
/ trials = [1-6 = source]

</block>


<expt >
/ blocks = [1 = practice; 2 = source_mem
]
</expt>
Attachments
bedroom.jpg (60 views, 23.00 KB)
library_aisle10.jpg (58 views, 251.00 KB)
office.jpg (59 views, 35.00 KB)
dentist1.jpg (60 views, 132.00 KB)
Dave
Dave
Supreme Being (968K reputation)Supreme Being (968K reputation)Supreme Being (968K reputation)Supreme Being (968K reputation)Supreme Being (968K reputation)Supreme Being (968K reputation)Supreme Being (968K reputation)Supreme Being (968K reputation)Supreme Being (968K reputation)
Group: Administrators
Posts: 11K, Visits: 74K
lir1995 - 3/16/2021
Hi, I was hoping to adapt the code you provided in this forum to fit the needs of my experiment (in inquisit 6). I too would like to present participants with a random item and image pairing, and then later present them with the same pairing for a test. 

The difference is that I have a set of images that I want to present randomly for each participant. I am able to do this using the values and counter functions, as I also want to repeat the images multiple times within a block (switching back and forth between two images for multiple trials).

The trouble I am having is making sure the item and image are paired together and then shown on the screen together during the test portion (labeled as source in my code below). Given that each image is in it's own picture element, I am unsure what item to put in the "stimulustimes" for the source block to show participants the correct image that was paired with the word.

*************************************************
Creating Text and Picture Stimuli
***********************************************



<text pracnoun>
/ items = pracnoun
/select = noreplacenorepeat
/ position = (50,50)
/ fontstyle = ("Arial", 25pt)
/ erase = false
/select = values.shownword_item
</text>


<item pracnoun>
/ 1 = "SCOOTER"
/ 2 = "CUPCAKE"
/ 3 = "TRUMPET"
/ 4 = "ZEBRA"
/5 = "NOTEBOOK"
/6 = "LILY"
</item>


<item scenes>
/1 = "bedroom.jpg"
/2 = "library_aisle10.jpg"
/3 = "office.jpg"
/4 = "dentist1.jpg"
</item>

<picture scene1>
/ items = scenes
/select = values.pairedscene_item
</picture>

<values>
/ shownword_item = 1
/ pairedscene_item = 1
</values>

<list word>
/ poolsize = 4
</list>

<list scene>
/ poolsize = 4
</list>


<list word2>
</list>

<list scene2>
/ selectionmode = list.word2.currentindex
</list>


<values>
/ p1 = 0
/ p2 = 0
/ p3 = 0
/ p4 = 0
</values>

<picture p1>
/ items = scenes
/ select = values.p1
/ position = (50%, 50%)
/ size = (60%, 60%)
</picture>

<picture p2>
/ items = scenes
/ select = values.p2
/ position = (50%, 50%)
/ size = (60%, 60%)
</picture>

<picture p3>
/ items = scenes
/ select = values.p3
/ position = (50%, 50%)
/ size = (60%, 60%)
</picture>

<picture p4>
/ items = scenes
/ select = values.p4
/ position = (50%, 50%)
/ size = (60%, 60%)
</picture>


<counter items>
/ select = noreplace(1-4)
/ selectionrate = always
/ resetinterval = 0
</counter>


<shape blank>
/ color = white
/ shape = rectangle
/ size = (100%, 100%)
/ erase = false
</shape>


<text belong>
/ items = ("Yes")
/ position = (70%, 80%)
/ size = (30%, 5%)
/ hjustify = center
/ vjustify = center
/ fontstyle = ("Arial", 18pt)
/ txbgcolor = white
/ erase = false
</text>


<text nobelong>
/ items = ("No")
/ position = (30%, 80%)
/ size = (30%, 5%)
/ hjustify = center
/ vjustify = center
/ fontstyle = ("Arial", 18pt)
/ txbgcolor = white
/ erase = false
</text>


*************************************************
Creating Trials
*************************************************

<trial practice>
/ stimulustimes = [0 =p1; 1000 = blank; 1500 = pracnoun, belong, nobelong; 4000 = blank]
/ validresponse = ("n","m")
/ posttrialpause = 1000
/ trialduration = 5000
/ responseinterrupt = frames
/ beginresponsetime = 0
/ inputdevice = keyboard
/ ontrialbegin = [
values.shownword_item=list.word.nextindex; values.pairedscene_item=list.scene.nextindex;
  list.word2.appenditem(values.shownword_item); list.scene2.appenditem(values.pairedscene_item); ]
</trial>


<trial practice2>
/ stimulustimes = [0 =p2; 1000 = blank; 1500 = pracnoun, belong, nobelong; 4000 = blank]
/ validresponse = ("n","m")
/ posttrialpause = 1000
/ trialduration = 5000
/ responseinterrupt = frames
/ beginresponsetime = 0
/ inputdevice = keyboard
/ ontrialbegin = [
    values.shownword_item=list.word.nextindex; values.pairedscene_item=list.scene.nextindex;
  list.word2.appenditem(values.shownword_item); list.scene2.appenditem(values.pairedscene_item); ]
</trial>


<trial image3>
/ stimulustimes = [0 =p3; 1000 = blank; 1500 = pracnoun, belong, nobelong; 4000 = blank]
/ validresponse = ("n","m")
/ posttrialpause = 1000
/ trialduration = 5000
/ responseinterrupt = frames
/ beginresponsetime = 0
/ inputdevice = keyboard
</trial>


<trial image4>
/ stimulustimes = [0 =p4; 1000 = blank; 1500 = pracnoun, belong, nobelong; 4000 = blank]
/ validresponse = ("n","m")
/ posttrialpause = 1000
/ trialduration = 5000
/ responseinterrupt = frames
/ beginresponsetime = 0
/ inputdevice = keyboard
</trial>


*************************************************
Creating Blocks
*************************************************

<block practice>
/ onblockbegin = [values.p1=counter.items.selectedvalue; values.p2=counter.items.selectedvalue]
/ trials = [1-2 = practice; 3-4 = practice2; 5-6 = practice]
</block>


<block mid_same>
/ onblockbegin = [values.p3=counter.items.selectedvalue; values.p4=counter.items.selectedvalue]
/ trials = [1-4 = image3; 5-8 = image4; 9-12 = image3; 13-16 = image4]
</block>

<trial source>
/ ontrialbegin = [values.shownword_item=list.word2.nextvalue; values.pairedscene_item=list.scene2.nextvalue;]
/ stimulustimes = [0 =scene1, pracnoun]
/ validresponse = ("m", "n")
/ posttrialpause = 500
/ timeout = 5000
/ beginresponsetime = 0
</trial>


<block source_mem>
/ trials = [1-6 = source]

</block>


<expt >
/ blocks = [1 = practice; 2 = source_mem
]
</expt>

> Given that each image is in it's own picture element

Is there a specific reason you set it up that way to begin with? If so, what is that reason?
lir1995
lir1995
Respected Member (339 reputation)Respected Member (339 reputation)Respected Member (339 reputation)Respected Member (339 reputation)Respected Member (339 reputation)Respected Member (339 reputation)Respected Member (339 reputation)Respected Member (339 reputation)Respected Member (339 reputation)
Group: Forum Members
Posts: 37, Visits: 163
Dave - 3/17/2021
lir1995 - 3/16/2021
Hi, I was hoping to adapt the code you provided in this forum to fit the needs of my experiment (in inquisit 6). I too would like to present participants with a random item and image pairing, and then later present them with the same pairing for a test. 

The difference is that I have a set of images that I want to present randomly for each participant. I am able to do this using the values and counter functions, as I also want to repeat the images multiple times within a block (switching back and forth between two images for multiple trials).

The trouble I am having is making sure the item and image are paired together and then shown on the screen together during the test portion (labeled as source in my code below). Given that each image is in it's own picture element, I am unsure what item to put in the "stimulustimes" for the source block to show participants the correct image that was paired with the word.

*************************************************
Creating Text and Picture Stimuli
***********************************************



<text pracnoun>
/ items = pracnoun
/select = noreplacenorepeat
/ position = (50,50)
/ fontstyle = ("Arial", 25pt)
/ erase = false
/select = values.shownword_item
</text>


<item pracnoun>
/ 1 = "SCOOTER"
/ 2 = "CUPCAKE"
/ 3 = "TRUMPET"
/ 4 = "ZEBRA"
/5 = "NOTEBOOK"
/6 = "LILY"
</item>


<item scenes>
/1 = "bedroom.jpg"
/2 = "library_aisle10.jpg"
/3 = "office.jpg"
/4 = "dentist1.jpg"
</item>

<picture scene1>
/ items = scenes
/select = values.pairedscene_item
</picture>

<values>
/ shownword_item = 1
/ pairedscene_item = 1
</values>

<list word>
/ poolsize = 4
</list>

<list scene>
/ poolsize = 4
</list>


<list word2>
</list>

<list scene2>
/ selectionmode = list.word2.currentindex
</list>


<values>
/ p1 = 0
/ p2 = 0
/ p3 = 0
/ p4 = 0
</values>

<picture p1>
/ items = scenes
/ select = values.p1
/ position = (50%, 50%)
/ size = (60%, 60%)
</picture>

<picture p2>
/ items = scenes
/ select = values.p2
/ position = (50%, 50%)
/ size = (60%, 60%)
</picture>

<picture p3>
/ items = scenes
/ select = values.p3
/ position = (50%, 50%)
/ size = (60%, 60%)
</picture>

<picture p4>
/ items = scenes
/ select = values.p4
/ position = (50%, 50%)
/ size = (60%, 60%)
</picture>


<counter items>
/ select = noreplace(1-4)
/ selectionrate = always
/ resetinterval = 0
</counter>


<shape blank>
/ color = white
/ shape = rectangle
/ size = (100%, 100%)
/ erase = false
</shape>


<text belong>
/ items = ("Yes")
/ position = (70%, 80%)
/ size = (30%, 5%)
/ hjustify = center
/ vjustify = center
/ fontstyle = ("Arial", 18pt)
/ txbgcolor = white
/ erase = false
</text>


<text nobelong>
/ items = ("No")
/ position = (30%, 80%)
/ size = (30%, 5%)
/ hjustify = center
/ vjustify = center
/ fontstyle = ("Arial", 18pt)
/ txbgcolor = white
/ erase = false
</text>


*************************************************
Creating Trials
*************************************************

<trial practice>
/ stimulustimes = [0 =p1; 1000 = blank; 1500 = pracnoun, belong, nobelong; 4000 = blank]
/ validresponse = ("n","m")
/ posttrialpause = 1000
/ trialduration = 5000
/ responseinterrupt = frames
/ beginresponsetime = 0
/ inputdevice = keyboard
/ ontrialbegin = [
values.shownword_item=list.word.nextindex; values.pairedscene_item=list.scene.nextindex;
  list.word2.appenditem(values.shownword_item); list.scene2.appenditem(values.pairedscene_item); ]
</trial>


<trial practice2>
/ stimulustimes = [0 =p2; 1000 = blank; 1500 = pracnoun, belong, nobelong; 4000 = blank]
/ validresponse = ("n","m")
/ posttrialpause = 1000
/ trialduration = 5000
/ responseinterrupt = frames
/ beginresponsetime = 0
/ inputdevice = keyboard
/ ontrialbegin = [
    values.shownword_item=list.word.nextindex; values.pairedscene_item=list.scene.nextindex;
  list.word2.appenditem(values.shownword_item); list.scene2.appenditem(values.pairedscene_item); ]
</trial>


<trial image3>
/ stimulustimes = [0 =p3; 1000 = blank; 1500 = pracnoun, belong, nobelong; 4000 = blank]
/ validresponse = ("n","m")
/ posttrialpause = 1000
/ trialduration = 5000
/ responseinterrupt = frames
/ beginresponsetime = 0
/ inputdevice = keyboard
</trial>


<trial image4>
/ stimulustimes = [0 =p4; 1000 = blank; 1500 = pracnoun, belong, nobelong; 4000 = blank]
/ validresponse = ("n","m")
/ posttrialpause = 1000
/ trialduration = 5000
/ responseinterrupt = frames
/ beginresponsetime = 0
/ inputdevice = keyboard
</trial>


*************************************************
Creating Blocks
*************************************************

<block practice>
/ onblockbegin = [values.p1=counter.items.selectedvalue; values.p2=counter.items.selectedvalue]
/ trials = [1-2 = practice; 3-4 = practice2; 5-6 = practice]
</block>


<block mid_same>
/ onblockbegin = [values.p3=counter.items.selectedvalue; values.p4=counter.items.selectedvalue]
/ trials = [1-4 = image3; 5-8 = image4; 9-12 = image3; 13-16 = image4]
</block>

<trial source>
/ ontrialbegin = [values.shownword_item=list.word2.nextvalue; values.pairedscene_item=list.scene2.nextvalue;]
/ stimulustimes = [0 =scene1, pracnoun]
/ validresponse = ("m", "n")
/ posttrialpause = 500
/ timeout = 5000
/ beginresponsetime = 0
</trial>


<block source_mem>
/ trials = [1-6 = source]

</block>


<expt >
/ blocks = [1 = practice; 2 = source_mem
]
</expt>

> Given that each image is in it's own picture element

Is there a specific reason you set it up that way to begin with? If so, what is that reason?

Thanks for asking. The reason is 2 fold (and I'll use this block as an example) 

<block mid_same>
/ onblockbegin = [values.p3=counter.items.selectedvalue; values.p4=counter.items.selectedvalue]
/ trials = [1-4 = image3; 5-8 = image4; 9-12 = image3; 13-16 = image4]
</block>

1) I need it so that participants are switching back and forth between the same two images (so both image 3's are the same image despite switching to a new image in between) 
2) ideally it would be nice that the images are also randomized such that any two images have a random likelihood of occurring in the mid_same condition. I want this to occur so that any effects I see are based on the condition and not the images shown.

However, if there is a better way to do this that would be greatly appreciated!




GO

Merge Selected

Merge into selected topic...



Merge into merge target...



Merge into a specific topic ID...




Reading This Topic

Explore
Messages
Mentions
Search