Go/No-Go Task: Presenting pictures and group randomization


Author
Message
kimsobania
kimsobania
Partner Member (773 reputation)Partner Member (773 reputation)Partner Member (773 reputation)Partner Member (773 reputation)Partner Member (773 reputation)Partner Member (773 reputation)Partner Member (773 reputation)Partner Member (773 reputation)Partner Member (773 reputation)
Group: Forum Members
Posts: 5, Visits: 18
Hi,

I'm working on an alcohol-specific version of the Go/No-Go Task.

I have 40 different pictures either framed yellow or blue. Depending on the color of the frame the participants have to either react or not.
Now I have to problems:
1) I tried to create two groups in order to counterbalance the colors. Group 1 (go=yellow; no-go=blue) seems to work just fine. As soon as I want to run the experiment with group two (go=blue; no-go) the experiment won't run because it is "Unable to initialize <picture stimuli> item number 0. Verify the item exists and is correctly defined." My stimulus value right now is 0.

2) I have 320 trials in total and want to present every picture exactly 6 times as a go-trial and 2 times as a no-go-trial. The order of the presented pictures should be random.

Thank you for your help!

<expt GoNoGoTask1>
/ subjects = (1 of 2)
/ groupassignment = groupnumber
/ onblockbegin = [values.expcondition = 1]
/ onexptbegin = [values.format1 = "gelb"; values.format2 = "blau"]
/ preinstructions = (intro)
/ postinstructions = (end)
/ blocks = [1=practiceblock; 2=testblock]
/onexptend = [values.completed = 1]
</expt>

<expt GoNoGoTask2>
/ subjects = (2 of 2)
/ groupassignment = groupnumber
/ onblockbegin = [values.expcondition = 2]
/ onexptbegin = [values.format1 = "blau"; values.format2 = "gelb"]
/ preinstructions = (intro)
/ postinstructions = (end)
/ blocks = [1=practiceblock; 2=testblock]
/onexptend = [values.completed = 1]
</expt>

<block testblock>
/ trials = [1-320=noreplace(notarget, notarget, notarget, notarget, notarget, notarget, target,target)]
/ preinstructions = (Experiment)
/ onblockbegin = [values.targettype = 0; values.correctresp = 0; values.trialcount = 0; values.correctcount = 0; values.count_go = 0; values.correct_go = 0; values.count_nogo = 0; values.correct_nogo = 0; values.commissionerror = 0; values.sumrt = 0; values.omissionerrors = 0]
</block>

<picture stimuli >
/ items = stimuli
/ select = values.stimulus
/ position = (50%,50%)
/ size = (30%,30%)
/erase = false
</picture>

<trial target>
/ ontrialbegin = [if(values.expcondition == 1) values.stimulus=list.t1_stimuli.nextvalue;values.trialcount += 1; values.count_nogo += 1; values.targettype = 2 ||
if(values.expcondition == 2) values.stimulus=list.t2_stimuli.nextvalue;values.trialcount += 1; values.count_nogo += 1; values.targettype = 2]
/ stimulustimes = [0=blankscreen; 1=stimuli; 250=blankscreen; 1150=blankscreen]
/ validresponse = (57, noresponse)
/ correctresponse = (noresponse)
/ beginresponsetime = 1
/ posttrialpause = 500
/ response = timeout(1000)
/ ontrialend = [if (trial.target.correct) values.correctcount += 1 else values.commissionerror += 1]
/ ontrialend = [if (trial.target.correct) values.correct_nogo += 1]
/ recorddata = true
</trial>

<trial notarget>
/ ontrialbegin = [if(values.expcondition == 1) values.stimulus=list.nt1_stimuli.nextvalue;values.trialcount += 1; values.count_nogo += 1; values.targettype = 2 ||
if(values.expcondition == 2) values.stimulus=list.nt2_stimuli.nextvalue;values.trialcount += 1; values.count_nogo += 1; values.targettype = 2]
/ stimulustimes = [0=blankscreen; 1=stimuli; 250=blankscreen; 1150=blankscreen]
/ validresponse = (57, noresponse)
/ correctresponse = (57)
/ beginresponsetime = 1
/ posttrialpause = 500
/ response = timeout(1000)
/ ontrialend = [if (trial.notarget.correct) values.correctcount += 1]
/ ontrialend = [if (trial.notarget.correct) {values.correct_go += 1; values.sumrt += trial.notarget.latency}]
/ ontrialend = [if (trial.notarget.error) values.omissionerrors += 1]
/ recorddata = true
</trial>



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: 12K, Visits: 98K
kimsobania - Sunday, November 19, 2017
Hi,

I'm working on an alcohol-specific version of the Go/No-Go Task.

I have 40 different pictures either framed yellow or blue. Depending on the color of the frame the participants have to either react or not.
Now I have to problems:
1) I tried to create two groups in order to counterbalance the colors. Group 1 (go=yellow; no-go=blue) seems to work just fine. As soon as I want to run the experiment with group two (go=blue; no-go) the experiment won't run because it is "Unable to initialize <picture stimuli> item number 0. Verify the item exists and is correctly defined." My stimulus value right now is 0.

2) I have 320 trials in total and want to present every picture exactly 6 times as a go-trial and 2 times as a no-go-trial. The order of the presented pictures should be random.

Thank you for your help!

<expt GoNoGoTask1>
/ subjects = (1 of 2)
/ groupassignment = groupnumber
/ onblockbegin = [values.expcondition = 1]
/ onexptbegin = [values.format1 = "gelb"; values.format2 = "blau"]
/ preinstructions = (intro)
/ postinstructions = (end)
/ blocks = [1=practiceblock; 2=testblock]
/onexptend = [values.completed = 1]
</expt>

<expt GoNoGoTask2>
/ subjects = (2 of 2)
/ groupassignment = groupnumber
/ onblockbegin = [values.expcondition = 2]
/ onexptbegin = [values.format1 = "blau"; values.format2 = "gelb"]
/ preinstructions = (intro)
/ postinstructions = (end)
/ blocks = [1=practiceblock; 2=testblock]
/onexptend = [values.completed = 1]
</expt>

<block testblock>
/ trials = [1-320=noreplace(notarget, notarget, notarget, notarget, notarget, notarget, target,target)]
/ preinstructions = (Experiment)
/ onblockbegin = [values.targettype = 0; values.correctresp = 0; values.trialcount = 0; values.correctcount = 0; values.count_go = 0; values.correct_go = 0; values.count_nogo = 0; values.correct_nogo = 0; values.commissionerror = 0; values.sumrt = 0; values.omissionerrors = 0]
</block>

<picture stimuli >
/ items = stimuli
/ select = values.stimulus
/ position = (50%,50%)
/ size = (30%,30%)
/erase = false
</picture>

<trial target>
/ ontrialbegin = [if(values.expcondition == 1) values.stimulus=list.t1_stimuli.nextvalue;values.trialcount += 1; values.count_nogo += 1; values.targettype = 2 ||
if(values.expcondition == 2) values.stimulus=list.t2_stimuli.nextvalue;values.trialcount += 1; values.count_nogo += 1; values.targettype = 2]
/ stimulustimes = [0=blankscreen; 1=stimuli; 250=blankscreen; 1150=blankscreen]
/ validresponse = (57, noresponse)
/ correctresponse = (noresponse)
/ beginresponsetime = 1
/ posttrialpause = 500
/ response = timeout(1000)
/ ontrialend = [if (trial.target.correct) values.correctcount += 1 else values.commissionerror += 1]
/ ontrialend = [if (trial.target.correct) values.correct_nogo += 1]
/ recorddata = true
</trial>

<trial notarget>
/ ontrialbegin = [if(values.expcondition == 1) values.stimulus=list.nt1_stimuli.nextvalue;values.trialcount += 1; values.count_nogo += 1; values.targettype = 2 ||
if(values.expcondition == 2) values.stimulus=list.nt2_stimuli.nextvalue;values.trialcount += 1; values.count_nogo += 1; values.targettype = 2]
/ stimulustimes = [0=blankscreen; 1=stimuli; 250=blankscreen; 1150=blankscreen]
/ validresponse = (57, noresponse)
/ correctresponse = (57)
/ beginresponsetime = 1
/ posttrialpause = 500
/ response = timeout(1000)
/ ontrialend = [if (trial.notarget.correct) values.correctcount += 1]
/ ontrialend = [if (trial.notarget.correct) {values.correct_go += 1; values.sumrt += trial.notarget.latency}]
/ ontrialend = [if (trial.notarget.error) values.omissionerrors += 1]
/ recorddata = true
</trial>



<trial target>
/ ontrialbegin = [if(values.expcondition == 1) values.stimulus=list.t1_stimuli.nextvalue;values.trialcount += 1; values.count_nogo += 1; values.targettype = 2 ||
if(values.expcondition == 2) values.stimulus=list.t2_stimuli.nextvalue;values.trialcount += 1; values.count_nogo += 1; values.targettype = 2]

...
</trial>

<trial notarget>
/ ontrialbegin = [if(values.expcondition == 1) values.stimulus=list.nt1_stimuli.nextvalue;values.trialcount += 1; values.count_nogo += 1; values.targettype = 2 ||
if(values.expcondition == 2) values.stimulus=list.nt2_stimuli.nextvalue;values.trialcount += 1; values.count_nogo += 1; values.targettype = 2]

...
</trial>

The above is not valid syntax. Things ought to read


<trial target>
/ ontrialbegin = [if (values.expcondition == 1) {values.stimulus=list.t1_stimuli.nextvalue;values.trialcount += 1; values.count_nogo += 1; values.targettype = 2} else if (values.expcondition == 2) {values.stimulus=list.t2_stimuli.nextvalue;values.trialcount += 1; values.count_nogo += 1; values.targettype = 2}]
...
</trial>

<trial notarget>
/ ontrialbegin = [if (values.expcondition == 1) {values.stimulus=list.nt1_stimuli.nextvalue;values.trialcount += 1; values.count_nogo += 1; values.targettype = 2} else if (values.expcondition == 2) {values.stimulus=list.nt2_stimuli.nextvalue;values.trialcount += 1; values.count_nogo += 1; values.targettype = 2}]
...
</trial>

> 2) I have 320 trials in total and want to present every picture exactly 6 times as a go-trial and 2 times as a no-go-trial.
> The order of the presented pictures should be random.

You need to set up separate stimulus selection for your "go" and "no go" trials accordingly then. The code excerpts you posted don't speak to that.

kimsobania
kimsobania
Partner Member (773 reputation)Partner Member (773 reputation)Partner Member (773 reputation)Partner Member (773 reputation)Partner Member (773 reputation)Partner Member (773 reputation)Partner Member (773 reputation)Partner Member (773 reputation)Partner Member (773 reputation)
Group: Forum Members
Posts: 5, Visits: 18
all right thanks! 

I think I found a solution for the stimuli presentation. I created several lists and added /replace = false. So far this seems to work the way I want it to. 

GO

Merge Selected

Merge into selected topic...



Merge into merge target...



Merge into a specific topic ID...




Reading This Topic

Explore
Messages
Mentions
Search