How to redraw within a trial


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
Ah, I apologize for the confusion on my part. I indeed mistook "redraw" to mean "render again to the screen". The alternative interpretation "sample another item" didn't even occur to me. Thanks for clarifying!

Blackadder
Blackadder
Supreme Being (27K reputation)Supreme Being (27K reputation)Supreme Being (27K reputation)Supreme Being (27K reputation)Supreme Being (27K reputation)Supreme Being (27K reputation)Supreme Being (27K reputation)Supreme Being (27K reputation)Supreme Being (27K reputation)
Group: Forum Members
Posts: 280, Visits: 147
Dave, thanks a lot for responding. It's somewhat unfortunate but I guess I'll have to define 80 stimuli then.

My use of the term "redraw" was misleading. I realized that only after I posted. By "redrawing" I meant to "re-draw" an item from the counter, just like drawing in a lottery. Sorry for the confusion!

Best wishes,
  Malte
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
The /selectionrate on a counter or list determines the rate at which *sampling items* from it should occur, it has nothing to do with re-drawing stimuli within a trial. Consider

<block myblock>
/ trials = [1-3=mytrial]
</block>

<trial mytrial>
/ stimulusframes = [1=t1, t2, t3]
/ validresponse = (57)
</trial>

<list mylist>
/ poolsize = 3
/ selectionrate = always
</list>

<text t1>
/ items = myitems
/ position = (25%, 50%)
/ select = list.mylist.nextindex
</text>

<text t2>
/ items = myitems
/ position = (50%, 50%)
/ select = list.mylist.nextindex
</text>

<text t3>
/ items = myitems
/ position = (75%, 50%)
/ select = list.mylist.nextindex
</text>

<item myitems>
/ 1 = "A"
/ 2 = "B"
/ 3 = "C"
</item>

vs.


<block myblock>
/ trials = [1-3=mytrial]
</block>

<trial mytrial>
/ stimulusframes = [1=t1, t2, t3]
/ validresponse = (57)
</trial>

<list mylist>
/ poolsize = 3
/ selectionrate = trial
</list>

<text t1>
/ items = myitems
/ position = (25%, 50%)
/ select = list.mylist.nextindex
</text>

<text t2>
/ items = myitems
/ position = (50%, 50%)
/ select = list.mylist.nextindex
</text>

<text t3>
/ items = myitems
/ position = (75%, 50%)
/ select = list.mylist.nextindex
</text>

<item myitems>
/ 1 = "A"
/ 2 = "B"
/ 3 = "C"
</item>

Indeed, as you suggested, a stimulus element is evaluated *once* at the beginning of the trial (when it's prepared) -- redrawing repeatedly in the course of the trial it will not change what it displays. You are also correct in assuming this behavior is due to performance reasons. It cannot be changed, separate elements are needed.

Blackadder
Blackadder
Supreme Being (27K reputation)Supreme Being (27K reputation)Supreme Being (27K reputation)Supreme Being (27K reputation)Supreme Being (27K reputation)Supreme Being (27K reputation)Supreme Being (27K reputation)Supreme Being (27K reputation)Supreme Being (27K reputation)
Group: Forum Members
Posts: 280, Visits: 147
In the meantime, I tried to manually sample a new item from the counter in the "/ onprepare" property of the text stimulus.

<text TXT>
/ onprepare = [values.iCurrent = counter.COUNTER.selectedvalue]
/ items = ITEM
/ select = values.iCurrent
</text>


This does not work either. It appears that the stimulus is evaluated only once in each trial, regardless of how often the stimulus is shown during the trial. Probably this is due to efficiency reasons but can that behavior be changed?

Best wishes, Malte


Blackadder
Blackadder
Supreme Being (27K reputation)Supreme Being (27K reputation)Supreme Being (27K reputation)Supreme Being (27K reputation)Supreme Being (27K reputation)Supreme Being (27K reputation)Supreme Being (27K reputation)Supreme Being (27K reputation)Supreme Being (27K reputation)
Group: Forum Members
Posts: 280, Visits: 147
Hi All,

consider the following script snippet

<counter COUNTER>
/ items = (1,2,3)
/ select = noreplace
/ selectionrate = always
</counter>

<item ITEM>
/ 1 = "One"
/ 2 = "Two"
/ 3 = "Three"
</item>

<text TEXT>
/ items = ITEM
/ select = COUNTER
</text>

<trial TRIAL>
/ stimulustimes = [1 = TEXT; 1001 = TEXT; 2001 = TEXT]
/ response = (anyresponse)
</trial>


If I understand the "/ selectionrate" property of the <counter> element correctly, it should redraw anytime the TEXT element is invoked. Thus, the trial should present the texts "ONE", "TWO", and "THREE" in random order. Problem is, it doesn't. Inquisit selects one of the three texts and displays it throughout the trial.

I need to display 40+ slightly different pictures in a trial, so I'd rather go with

/ stimulustimes = [1 = TXT,TXT,TXT,TXT,...)


instead of

/ stimulustimes = [1 = TXT1,TXT2,TXT3,TXT4,...)


since in the latter case I would have to define 40+ TEXT elements.

Is that possible?

Kind regards, Malte
GO

Merge Selected

Merge into selected topic...



Merge into merge target...



Merge into a specific topic ID...




Reading This Topic

Explore
Messages
Mentions
Search