Modified visual dot probe question


Author
Message
Joel Cavallo
Joel Cavallo
Distinguished Member (3.9K reputation)Distinguished Member (3.9K reputation)Distinguished Member (3.9K reputation)Distinguished Member (3.9K reputation)Distinguished Member (3.9K reputation)Distinguished Member (3.9K reputation)Distinguished Member (3.9K reputation)Distinguished Member (3.9K reputation)Distinguished Member (3.9K reputation)
Group: Forum Members
Posts: 36, Visits: 87
Hello,
So I'm making a little bit of progress and I wanted to ask you about lists within lists. As it stands right now, I have followed your earlier advice and created multiple lists that have all possible combinations of my ocean-mountain image pair (left/right), probe position (left/right), and probe type (circle/square). This yielded 12 lists, 3 for PIOP, PIMP, fillerPIOP, and fillerPIMP. These represent 4 unique combinations for probe in ocean position trials, and 4 unique combos for probe in mountain trials. These lists are coded as:

Note: for picture_position, 1 = ocean on right, 2 = ocean on left
for probe_type, 1 = circle, 2 = square
for probe_position, 1 = right, 2 = left.

<list PIOP_picture_position_list>
/items = (1,1,2,2)
/selectionmode = random
</list>

<list PIOP_probe_type_list>
/items = (1,2,1,2)
/selectionmode = list.piop_picture_position_list.currentindex
</list>

<list PIOP_probe_position_list>
/items = (1,1,2,2)
/selectionmode = list.piop_picture_position_list.currentindex
</list>


My basic question is, how do I get each number, 1 and 2, to represent a combination of the ocean-mountain pair in the two different orientations? My initial instinct was to follow a similar logic that was in the initial code under the <trial>, which was as follows:

<trial PIOP>
/ontrialbegin = [values.PIOP_picture_position = list.PIOP_picture_position_list.nextvalue; values.PIOP_probetype = list.PIOP_probe_type_list.nextvalue; values.PIOP_probe_position = list.PIOP_probe_position_list.nextvalue]
/ontrialbegin = [if (values.PIOP_picture_position == "1") {values.ocean_x = values.target_right_x; values.mountain_x = values.target_left_x}]
/ontrialbegin = [if (values.PIOP_picture_position == "2") {values.ocean_x = values.target_left_x; values.mountain_x = values.target_right_x}]
/ontrialbegin = [if (values.PIOP_probe_type == "1") {values.probe_type = 1}]
/ontrialbegin = [if (values.PIOP_probe_type == "2") {values.probe_type = 2}]
/ontrialbegin = [if (values.PIOP_probe_position == "1") {values.probe_x = values.target_right_x; values.mountain_x = values.target_left_x}]
/ontrialbegin = [if (values.PIOP_probe_position == "2") {values.probe_x = values.target_left_x; values.mountain_x = values.target_right_x}]
/stimulusframes = [1 = oceanimage, mountainimage; 2 = probe]
/stimulustimes =


So, instead of referencing a specific orientation of the ocean/mountain, I simply create an if statement, that then specifies the orientation based on the selected values of the picture_position, probe_type, and probe_position. Does this seem correct? If not, I am wondering how I can specify the orientation of the pictures using code similar to what you posted last year when you had three text stimuli representing the values of 1,2,3:

<text stimtext>
/ items = ("A", "B", "C")
/ select = values.stim
/ hposition = values.position
</text>
 
To use this code as an analogy, I am wanting to replace the letters, A, B, (omit C), with specific combinations of ocean left/mountain right, and ocean right/mountain left. The same would be true for the probe position, and probe type. If you have any advice, I would greatly appreciate it. 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
> I simply create an if statement, that then specifies the orientation based on the selected values of the picture_position,
> probe_type, and probe_position. Does this seem correct?

Not sure what it exactly you mean by "correct", but yes, you can absolutely do it this way.

I would personally prefer to work with real values (e.g. horizontal position: 25%, ...) as in the example referenced previously (http://www.millisecond.com/forums/Topic13986.aspx#bm13987 ) instead of an abstract representation ("A"), but your approach will work as well.

Joel Cavallo
Joel Cavallo
Distinguished Member (3.9K reputation)Distinguished Member (3.9K reputation)Distinguished Member (3.9K reputation)Distinguished Member (3.9K reputation)Distinguished Member (3.9K reputation)Distinguished Member (3.9K reputation)Distinguished Member (3.9K reputation)Distinguished Member (3.9K reputation)Distinguished Member (3.9K reputation)
Group: Forum Members
Posts: 36, Visits: 87
Ok thank you. I'm following you so far, but I need to be more clear in my questions! So here it goes:

If I set up a picture using:
<picture picture_position>
/items = "ocean left", "ocean right"
/select = values.picture_position
</picture>

How do I link the "ocean left" and "ocean right" items to the two pictures?

I know htat I have to call each individual picture and specify certain attributes, such as:
<picture oceanimage>
/items = oceanimagefile
/select = values.itemnumber
/hposition = values.ocean_x
vposition = values.target_y
/size = (values.imagewidth, values.imageheight)

and then:

<item oceanimagefile>
/1 = "ocean.jpg"
</item>

So, in my code that specifies unique combos of the ocean/mtn pair, probe type and probe position, if I make my list as:

<list PIOP_picture_position_list>
/items = (1, 1, 2, 2)

How do I make "1" produce the ocean image on the right, mountain on the left, and "2" produce the opposite? Thus, my mental predicament stems from the concept of creating a list of the stimuli combinations, and having each value, 1,1,1, etc. refer to a specific set of stimuli that can fork and either be a 1 or a 2 (i.e. a square or a circle, probe on the left or right, or ocean on the right or left). I hope this makes things more clear. I really appreciate your patience by the way!


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
Here's a boiled-down, simplified example for your "PIOP"-set:

<values>
/ oceanposition = 0
/ mountainposition = 0
/ probeposition = 0
/ probetype = 1
</values>

<block example>
/ trials = [1-4=piop]
</block>

<trial piop>
/ ontrialbegin = [values.oceanposition=list.piop_oceanpositionlist.nextvalue;
    values.mountainposition=list.piop_mountainpositionlist.nextvalue;
    values.probetype=list.piop_probetype.nextvalue;
    values.probeposition=values.oceanposition]
/ stimulustimes = [0=ocean, mountain; 2000=probe]
/ validresponse = (57)
</trial>

<text ocean>
/ items = ("Ocean")
/ hposition = values.oceanposition
</text>

<text mountain>
/ items = ("Mountain")
/ hposition = values.mountainposition
</text>

<text probe>
/ items = ("Square", "Circle")
/ select = values.probetype
/ hposition = values.probeposition
</text>

<list piop_oceanpositionlist>
/ items = (25%,25%,75%,75%)
</list>

<list piop_mountainpositionlist>
/ items = (75%,75%,25%,25%)
/ selectionmode = list.piop_oceanpositionlist.currentindex
</list>

<list piop_probetype>
/ items = (1,2,1,2)
/ selectionmode = list.piop_oceanpositionlist.currentindex
</list>

Don't be distracted by the use of <text> elements instead of <picture>. It works the same w/ <picture> elements. Also, don't be distracted by the fact that I condensed target/probe display into a single <trial>. It works the same if you have separate <trial> elements for both.

Joel Cavallo
Joel Cavallo
Distinguished Member (3.9K reputation)Distinguished Member (3.9K reputation)Distinguished Member (3.9K reputation)Distinguished Member (3.9K reputation)Distinguished Member (3.9K reputation)Distinguished Member (3.9K reputation)Distinguished Member (3.9K reputation)Distinguished Member (3.9K reputation)Distinguished Member (3.9K reputation)
Group: Forum Members
Posts: 36, Visits: 87
Wow, thanks! The program is working now, including counterbalancing! One quick thing though. Is there a way to specificy distinct /timeout times for individual items? During an individual trial, Inquisit presents a pair of images (ocean-mtn), followed by the probe picture. The probe picture replaces one of the pictures (ocean or mtn), but the one it did not replace stays on the screen. I am wondering how I can get the first picture to be removed, and therefore have only the probe picture presented in isolation. As always, thank you so much.


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
You'll find the various options covered in the "How to erase stimuli" topic in the documentation's "How-to"-section.

Glad to hear it's mostly working now. It's not that hard once you get the hang of it...

GO

Merge Selected

Merge into selected topic...



Merge into merge target...



Merge into a specific topic ID...




Reading This Topic

Explore
Messages
Mentions
Search