Millisecond Forums

selectionmode

https://forums.millisecond.com/Topic3311.aspx

By jens - 9/7/2009

Hello,


In my experiment a target can be preceded by one of three primes. I tried to expand the example Present Stimulus Pairs from the How To but was not successful. The plan is that each target is presented once in an experiment but all three conditions are presented equally often.


So, here is some example code (shortened, smaller number of trials and items)


<text wordtarget>
/ items = targets
/ select = noreplace
</text>


<item targets>
/1 = "Arzt"
/2 = "Auto"
/3 = "Bier"
/4 = "Blatt"
/5 = "Buch"
/6 = "Diamant"
/7 = "Dose"
/8 = "Fisch"
/9 = "Fleisch"
</item>


<text intprime>
/items = intprimes
/ select = current(wordtarget)
</text>

<item intprimes>
/1 = "Pferd"
/2 = "Rennen"
/3 = "Feier"
/4 = "Ahorn"
/5 = "Reise"
/6 = "Halskette"
/7 = "Suppe"
/8 = "Ozean"
/9 = "Hirsch"
</ item>


<text assprime>
/items = assprimes
/ select = current(wordtarget)
</text>

<item assprimes>
/1 = "Patient"
/2 = "Reifen"
/3 = "Kneipe"
/4 = "Harke"
/5 = "Autor"
/6 = "Edelstein"
/7 = "Öffner"
/8 = "Netz"
/9 = "Metzger"
<item>


<text baseline>
/items = ("***********")
/ select = current(wordtarget)
</text>


<trial integrativ>
/ correctresponse = ("j")
/ stimulusframes = [1 = fixation; 30 = intprime; 36 = blank; 60 = wordtarget]
/ responseframe = 60
</trial>

<trial assoziativ>
/ correctresponse = ("j")
/ stimulusframes = [1 = fixation; 30 = assprime; 36 = blank; 60 = wordtarget]
/ responseframe = 60
</trial>

<trial wbaseline>
/ correctresponse = ("j")
/ stimulusframes = [1 = fixation; 30 = baseline; 36 = blank; 60 = wordtarget]
/ responseframe = 60
</trial>

<block Daten>
/ preinstructions = (Instruktion,Start)
/ trials = [1-9 = noreplace(integrativ,assoziativ,wbaseline)]
/ blockfeedback = (latency,correct)
</block>


<expt >
/ blocks = [1=Daten]
/ postinstructions = (Ende)
</expt>


Inquisit creates unplanned prime-target conditions, so it combine prime 1 with target 3. It also happens that a prime is shown more than once.


Best



Jens

By Dave - 9/8/2009

Jens,


I believe what you really want is this:


<text wordtarget>
/ items = targets
/ select = noreplace
</text>

<item targets>
/1 = "Arzt"
/2 = "Auto"
/3 = "Bier"
/4 = "Blatt"
/5 = "Buch"
/6 = "Diamant"
/7 = "Dose"
/8 = "Fisch"
/9 = "Fleisch"
</item>

<text intprime>
/items = intprimes
/ select = next(wordtarget)
</text>

<item intprimes>
/1 = "Pferd"
/2 = "Rennen"
/3 = "Feier"
/4 = "Ahorn"
/5 = "Reise"
/6 = "Halskette"
/7 = "Suppe"
/8 = "Ozean"
/9 = "Hirsch"
</item>

<text assprime>
/items = assprimes
/ select = next(wordtarget)
</text>

<item assprimes>
/1 = "Patient"
/2 = "Reifen"
/3 = "Kneipe"
/4 = "Harke"
/5 = "Autor"
/6 = "Edelstein"
/7 = "Öffner"
/8 = "Netz"
/9 = "Metzger"
</item>

<text baseline>
/items = baselines
/ select = next(wordtarget)
</text>

<item baselines>
/1 = "***********"
/2 = "***********"
/3 = "***********"
/4 = "***********"
/5 = "***********"
/6 = "***********"
/7 = "***********"
/8 = "***********"
/9 = "***********"
</item>

<text fixation>
/ items = ("+")
</text>

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

<trial integrativ>
/ correctresponse = ("j")
/ stimulusframes = [1 = fixation; 30 = intprime; 36 = blank; 60 = wordtarget]
/ responseframe = 60
</trial>

<trial assoziativ>
/ correctresponse = ("j")
/ stimulusframes = [1 = fixation; 30 = assprime; 36 = blank; 60 = wordtarget]
/ responseframe = 60
</trial>

<trial wbaseline>
/ correctresponse = ("j")
/ stimulusframes = [1 = fixation; 30 = baseline; 36 = blank; 60 = wordtarget]
/ responseframe = 60
</trial>

<block Daten>
/ trials = [1-9 = noreplace(integrativ,assoziativ,wbaseline)]
/ blockfeedback = (latency,correct)
</block>

<expt >
/ blocks = [1=Daten]
</expt>


Regards,


~Dave

By jens - 9/8/2009

Hello,


First, thanks a lot for your help. I am surprised that this works as I want it, to my surprise  [:O]


So, I have two questions. Why do I have to create as many baseline items as I have items? I thought that Inquisit starts reusing items if it is short of a particular kind, e.g. baseline items.


Why "next" and not "current"? The tutorial example used current and reading the manual I figure current to be the correct selection dependency.


Regards


Jens

By Dave - 9/8/2009

Why do I have to create as many baseline items as I have items? I thought that Inquisit starts reusing items if it is short of a particular kind, e.g. baseline items.


If you lock a single baseline item to another multi-item stim via 'current' or 'next', the baseline text "***********" would only be displayed for item #1 of the stim it's locked to. For any other item #, baseline would return nothing. However, to avoid this pitfall you may alternatively define


<text baseline>
/items = ("***********")
</text>


Why "next" and not "current"? The tutorial example used current and reading the manual I figure current to be the correct selection dependency.


Well, read again. The situation here is a bit different from the one outlined in the tutorial. Specifically, the prime stims are displayed *before* the stims they're locked to (targets). Current works fine in cases where it's the other way round. Next accomodates for situations like yours, afaik.

By jens - 9/8/2009

Hi,


thanks for the clarification. You are right, the example in the tutorial is different and explaining the problem and your solution a colleague he noticed the difference between the example and my problem. Anyway, I'd have not considered next on the basis of the description in the manual


Regards


Jens

By Dave - 9/8/2009

You are right, the example in the tutorial is different and explaining the problem and your solution a colleague he noticed the difference between the example and my problem


Heads up to your colleague!


Anyway, I'd have not considered next on the basis of the description in the manual


I agree -- and if it wasn't for my long-term experience with Inquisit, I probably wouldn't have either. Maybe you should let them (Millisecond Software) know about this via email.


Best wishes from a fellow Inquisit user,


~Dave

By Admin - 9/9/2009

Hi there,


FYI  - I've read through the issue and added some additonal text to the documentation that will hopefully help convey the difference between the current and next options. Hopefully, this thread will be of some help as well. Here's a draft of the next documentation text. It's kind of a tricky concept to convey, so any feedback is welcome.


Current:
Selects the item corresponding to the currently select item of the specified stimulus or counter.


Next:
Selects the item corresponding to the next selected item of the specified stimulus or counter. Unlike the "current" option, if no item has been selected yet for the specified stimulus or counter on the given trial, the "next" option causes the next item to be selected. If the next item for the specificed stimulus or counter has already been selected for the given trial, that item is used.


Thanks,
Sean



By jens - 9/14/2009

Hello,



This is certainly an improvement to the current description. But something is still missing or, at least, I could not find it in the documentation. I think that the explanation how these dependencies are set up is missing. I conclude from this discussion that the temporal order in a trial defines the dependency. Well, as a researcher my target is (most often) fixed and the (variable) prime(s) that I use depends on the target (and the particular condition).  So, it is not determined by order but by condition. It is certainly no problem to adopt ones experimental conception to a program's requirements. But in order to do so, I'd need to know how a program determines this dependency.


Best wishes and again thanks a lot for the help Jens