Millisecond Online Community

Page Instructions

rated by 0 users
This post has 6 Replies | 1 Follower

Top 500 Contributor
Posts 5
Gaius Posted: 07-15-2010 10:37 AM

Hi there,

I have a few blocks that I'm working with, and they are randomly selected in the experiment. Each block has its own page instruction that should appear before the block. How can I make sure that the page that appears before the block is the right one if the blocks are all randomly selected?

One way I tried is multiply the blocks so that each kind of page instruction appears with each block, but I think there is a better way out there.

Thanks!

Top 10 Contributor
Posts 2,031

Assuming that your instruction pages are either <page> or <htmlpage> elements, you'd just enter the correct page in the '/ preinstructions' attribute for the <block> it belongs to.

<block a>
/ preinstructions = (blockainstructions)
[...]
</block>

<block b>
/ preinstructions = (blockbinstructions)
[...]
</block>

etc.

~Dave

"To understand recursion, you must first understand recursion."  - Unknown Zen Master

Top 500 Contributor
Posts 5

Ah yes, I totally missed that!

I have another question: If I want to randomize the duration time of the fixation cross, how can I do it? right now it looks something like this:

/ stimulustimes = [1=fixation; 500=forwardmask; 1000=PRIME; 1500=backwardmask; 2000=STIMULI; 2500=blackrectangle]

and I want to randomize the duration of the fixation to between 1000ms to 2000ms.

Top 10 Contributor
Posts 2,031

Gaius:
I have another question: If I want to randomize the duration time of the fixation cross, how can I do it?

The only way to do this is to split things up into two <trial> elements, one for the dynamic / random fixation duration and one for the rest of the stimuli:

<expressions>
/ fixationduration = round(rand(1000,2000))
</expressions>

<trial fixation>
/ stimulustimes = [0=fixation]
/ validresponse = (noresponse)
/ trialduration = expressions.fixationduration
/ branch = [trial.mytrial]
[...]
</trial>

<trial mytrial>
/ stimulustimes = [0=forwardmask; 500=PRIME; 1000=backwardmask; 1500=STIMULI; 2000=blackrectangle]
[...]
</trial>

~Dave

"To understand recursion, you must first understand recursion."  - Unknown Zen Master

Top 500 Contributor
Posts 5

Hi Dave,

What does / branch = [trial.mytrial] do?

Thanks!

Top 500 Contributor
Posts 5

and if I have multiple trials needing fixation cross, does that mean I have to encode all the trials to the branch?

Top 10 Contributor
Posts 2,031

Gaius:
What does / branch = [trial.mytrial] do?

It executes <trial mytrial> as soon as <trial fixation> has ended.

Gaius:
and if I have multiple trials needing fixation cross, does that mean I have to encode all the trials to the branch?

It's probably easier to give each "actual" trial its own "fixation" trial. E.g. if you have trials a, b and c, each in dire need of a variable fixation period preceeding them, just go for

<trial fixationa>
/ stimulustimes = [0=fixation]
/ validresponse = (noresponse)
/ trialduration = expressions.fixationduration
/ branch = [trial.triala]
[...]
</trial>

<trial triala>
/ stimulustimes = [0=forwardmask; 500=PRIME; 1000=backwardmask; 1500=STIMULI; 2000=blackrectangle]
[...]
</trial>

<trial fixationb>
/ stimulustimes = [0=fixation]
/ validresponse = (noresponse)
/ trialduration = expressions.fixationduration
/ branch = [trial.trialb]
[...]
</trial>

<trial trialb>
/ stimulustimes = [0=forwardmask; 500=PRIME; 1000=backwardmask; 1500=STIMULI; 2000=blackrectangle]
[...]
</trial>

<trial fixationc>
/ stimulustimes = [0=fixation]
/ validresponse = (noresponse)
/ trialduration = expressions.fixationduration
/ branch = [trial.trialc]
[...]
</trial>

<trial trialc>
/ stimulustimes = [0=forwardmask; 500=PRIME; 1000=backwardmask; 1500=STIMULI; 2000=blackrectangle]
[...]
</trial>

~Dave

"To understand recursion, you must first understand recursion."  - Unknown Zen Master

Page 1 of 1 (7 items) | RSS
Powered by Community Server (Non-Commercial Edition), by Telligent Systems