Howdy, Stranger!

It looks like you're new here. If you want to get involved, click one of these buttons!

Supported by

Presenting stimuli

edited June 2016 in OpenSesame

Hey everyone,

Thanks for help the other day with my previous questions regarding EC experiments!
I got the data and I have also got an idea for another experiment where I would like to present pictures in various combinations.

(Brace yourself because that’s a bit of reading below…but I would totally appreciate your time here)

Main idea: there will be 12 photos of neutral valence (let’s call them CSs) which will be paired with photos of either positive or negative valence (let’s call them USs) and I would like to show them in a way that one CS will be always paired with only one US at once, but within a block of trials the same CS will in some trials be presented with a positive US and in other ones with a negative US (e.g. 1 trial CS1 presented with US positive 1; 2 trial CS1 presented with US negative 1, etc.).

Then, after the ‘learning phase’ is finished I would like to present all the 12 CSs presented before (neutral photos) to the participants when they are always accompanied by two USs at the same time, but in two different conditions:

Condition 1 (positive condition)
Presenting CSs always with the actual positive USs and always wrong negative USs at once
e.g., CS1 presented with the positive US1 (that it was really paired with before) and one of the US of negative valence (e.g. US negative 4 instead of US negative 1), but not the real negative US1 that it was in fact paired with

Condition 2 (negative condition)
Presenting CSs always with wrong positive USs and always the actual negative USs at once
e.g., CS1 presented with the negative US1 (that it was really paired with before) and one of the US of positive valence (e.g. US positive 4 instead of US positive 1), but not the real positive US1 that it was in fact paired with

Well, that would be pretty much so far…and I wonder whether this is possible to do in OS and whether you might have some ideas of how to do that?
Is there a way to zip CSs and USs somehow, so that I am sure what was paired with what?

I know it’s probably messy and confusing to read, but I would be super grateful for your feedback on that.



  • edited June 2016

    Hi Bori,

    So your question is how to pair stimuli? After putting all your images in the filepool (or underscore underscore pool underscore underscore folder in the same directory as your experiment; automatically puts things in filepool), you can divide them into pairs based on their names, with some code in an inline_script item.

    With regard to experimental design, you might want to pair each neutral stimulus with a different positive/negtive stimulus in the training phase across participants. This would require a latin square design with 11 groups, where you could pair stimuli based on subject_nr (a variable that contains the subject nr, obviously). For instance:

      pair1_list = ['neutral1.jpg']
      extension = '.jpg'
      pos = 'positive'
      neg = 'negative'

    Now you end up with a list (pair1_list) that contains a neutral stimulus and a positive/negative stimulus, that you could use as you please. For subject_nrs beyond 11, you could do something like if exp.subject_nr > 11: new_nr = exp.subject_nr - 11, and use new_nr instead.

    Good luck,


  • edited 8:43PM

    Hey Joshua,

    thank you for your reply!

    I finally managed to have something pretty much what I wanted since I modified the lists in the inline script before the rating phase with
    fake_US_pos = US_pos[1:6] + US_pos[0]
    fake_US_neg = US_neg[1:6] + US_neg[0]

    pairings_fake_positive = zip(CS_cond1, fake_US_pos)
    pairings_fake_negative = zip(CS_cond2, fake_US_neg)

    and changed the order there, so that while presenting CS (neutral stimuli) it shows up always with a US from a different line that it was paired with.

    Then, I used the for loop with

    if US_rating in US_pos:
    for first_element, second_element in pairings_fake_negative:
    if first_element == CS_rating:
    fake_US = second_element
    elif US_rating in US_neg:
    for first_element, second_element in pairings_fake_positive:
    if first_element == CS_rating:
    fake_US = second_element

    I guess now it should work as I wanted...not sure though.
    Any ideas on that?

    Thanks in advance!


Sign In or Register to comment.