Millisecond Forums

Automatically moving on from a stimulus instead of needing to click...

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

By whatsherface - 7/25/2019

Hi -

I am currently working on coding my "Delayed Non-Matching to Sample" task. I have noticed an issue that I am trying to correct but I am unsure how.

Participants are presented with an initial stimulus (either green or red dot) for 2secs. After these 2secs, participants need to click the mouse to move on. What I would LIKE to have happen is for the stimulus to disappear automatically after those 2secs and go straight into the delay phase of either 0sec, 15sec or 30sec. 

From what I understand, another "blank image" needs to be inserted so it runs the initial stimulus, then the blank image and then the delay... but I am unsure how to do this. I've tried a few different ways but none of them seem to work correctly. 

Any help anyone could give would be greatly appreciated.

Thanks!
By Dave - 7/25/2019

whatsherface - 7/25/2019
Hi -

I am currently working on coding my "Delayed Non-Matching to Sample" task. I have noticed an issue that I am trying to correct but I am unsure how.

Participants are presented with an initial stimulus (either green or red dot) for 2secs. After these 2secs, participants need to click the mouse to move on. What I would LIKE to have happen is for the stimulus to disappear automatically after those 2secs and go straight into the delay phase of either 0sec, 15sec or 30sec. 

From what I understand, another "blank image" needs to be inserted so it runs the initial stimulus, then the blank image and then the delay... but I am unsure how to do this. I've tried a few different ways but none of them seem to work correctly. 

Any help anyone could give would be greatly appreciated.

Thanks!

If you want a trial to terminate after some amount of time, without requiring a response, set the trial's /validresponse to noresponse and define a /trialduration.
By Dave - 7/25/2019

Dave - 7/25/2019
whatsherface - 7/25/2019
Hi -

I am currently working on coding my "Delayed Non-Matching to Sample" task. I have noticed an issue that I am trying to correct but I am unsure how.

Participants are presented with an initial stimulus (either green or red dot) for 2secs. After these 2secs, participants need to click the mouse to move on. What I would LIKE to have happen is for the stimulus to disappear automatically after those 2secs and go straight into the delay phase of either 0sec, 15sec or 30sec. 

From what I understand, another "blank image" needs to be inserted so it runs the initial stimulus, then the blank image and then the delay... but I am unsure how to do this. I've tried a few different ways but none of them seem to work correctly. 

Any help anyone could give would be greatly appreciated.

Thanks!

If you want a trial to terminate after some amount of time, without requiring a response, set the trial's /validresponse to noresponse and define a /trialduration.

To spell it out:

<trial DMTS_start>
/inputdevice = mouse
/ontrialbegin = [values.targetcolor = list.targetcolor.nextvalue]
/ontrialbegin = [values.compcolor = list.compcolor.nextvalue]
/ontrialbegin = [values.targetlocation = list.targetlocation.nextvalue]
/ontrialbegin = [if (values.targetlocation == 1) {values.target_x = 25%; values.comp_x = 75%}
else {values.target_x = 75%; values.comp_x = 25%}]

/ontrialbegin = [values.delaycondition = list.delay.nextvalue]
/ontrialbegin = [if (values.delaycondition == 1) values.delay = parameters.delay1
else if (values.delaycondition == 2) values.delay = parameters.delay2
else if (values.delaycondition == 3) values.delay = parameters.delay3
else values.delay = parameters.delay4]

/stimulusframes = [1 = stim]
/validresponse = (lbuttondown)
/beginresponsetime = parameters.min_stimulusduration
/branch = [trial.DMTS_delay]
/recorddata = true
</trial>

simply becomes

<trial DMTS_start>
/inputdevice = mouse
/ontrialbegin = [values.targetcolor = list.targetcolor.nextvalue]
/ontrialbegin = [values.compcolor = list.compcolor.nextvalue]
/ontrialbegin = [values.targetlocation = list.targetlocation.nextvalue]
/ontrialbegin = [if (values.targetlocation == 1) {values.target_x = 25%; values.comp_x = 75%}
else {values.target_x = 75%; values.comp_x = 25%}]

/ontrialbegin = [values.delaycondition = list.delay.nextvalue]
/ontrialbegin = [if (values.delaycondition == 1) values.delay = parameters.delay1
else if (values.delaycondition == 2) values.delay = parameters.delay2
else if (values.delaycondition == 3) values.delay = parameters.delay3
else values.delay = parameters.delay4]

/stimulusframes = [1 = stim]
/ validresponse = (noresponse)
/ trialduration = parameters.min_stimulusduration
/branch = [trial.DMTS_delay]
/recorddata = true
</trial>

with

<parameters>
/min_stimulusduration = 2000
/delay1 = 0
/delay2 = 1000
/delay3 = 4000
/delay4 = 20000
/iti = 5000
</parameters>

if you want the stimulus to be displayed for two seconds.
By whatsherface - 7/25/2019

Dave - 7/25/2019
Dave - 7/25/2019
whatsherface - 7/25/2019
Hi -

I am currently working on coding my "Delayed Non-Matching to Sample" task. I have noticed an issue that I am trying to correct but I am unsure how.

Participants are presented with an initial stimulus (either green or red dot) for 2secs. After these 2secs, participants need to click the mouse to move on. What I would LIKE to have happen is for the stimulus to disappear automatically after those 2secs and go straight into the delay phase of either 0sec, 15sec or 30sec. 

From what I understand, another "blank image" needs to be inserted so it runs the initial stimulus, then the blank image and then the delay... but I am unsure how to do this. I've tried a few different ways but none of them seem to work correctly. 

Any help anyone could give would be greatly appreciated.

Thanks!

If you want a trial to terminate after some amount of time, without requiring a response, set the trial's /validresponse to noresponse and define a /trialduration.

To spell it out:

<trial DMTS_start>
/inputdevice = mouse
/ontrialbegin = [values.targetcolor = list.targetcolor.nextvalue]
/ontrialbegin = [values.compcolor = list.compcolor.nextvalue]
/ontrialbegin = [values.targetlocation = list.targetlocation.nextvalue]
/ontrialbegin = [if (values.targetlocation == 1) {values.target_x = 25%; values.comp_x = 75%}
else {values.target_x = 75%; values.comp_x = 25%}]

/ontrialbegin = [values.delaycondition = list.delay.nextvalue]
/ontrialbegin = [if (values.delaycondition == 1) values.delay = parameters.delay1
else if (values.delaycondition == 2) values.delay = parameters.delay2
else if (values.delaycondition == 3) values.delay = parameters.delay3
else values.delay = parameters.delay4]

/stimulusframes = [1 = stim]
/validresponse = (lbuttondown)
/beginresponsetime = parameters.min_stimulusduration
/branch = [trial.DMTS_delay]
/recorddata = true
</trial>

simply becomes

<trial DMTS_start>
/inputdevice = mouse
/ontrialbegin = [values.targetcolor = list.targetcolor.nextvalue]
/ontrialbegin = [values.compcolor = list.compcolor.nextvalue]
/ontrialbegin = [values.targetlocation = list.targetlocation.nextvalue]
/ontrialbegin = [if (values.targetlocation == 1) {values.target_x = 25%; values.comp_x = 75%}
else {values.target_x = 75%; values.comp_x = 25%}]

/ontrialbegin = [values.delaycondition = list.delay.nextvalue]
/ontrialbegin = [if (values.delaycondition == 1) values.delay = parameters.delay1
else if (values.delaycondition == 2) values.delay = parameters.delay2
else if (values.delaycondition == 3) values.delay = parameters.delay3
else values.delay = parameters.delay4]

/stimulusframes = [1 = stim]
/ validresponse = (noresponse)
/ trialduration = parameters.min_stimulusduration
/branch = [trial.DMTS_delay]
/recorddata = true
</trial>

with

<parameters>
/min_stimulusduration = 2000
/delay1 = 0
/delay2 = 1000
/delay3 = 4000
/delay4 = 20000
/iti = 5000
</parameters>

if you want the stimulus to be displayed for two seconds.

Thank you so much!! This really helps and is a lot simpler than I thought it would be :)