Group: Forum Members
Posts: 17,
Visits: 45
|
Hi everyone,
I'm a first time inquisit user and have managed to write a working forced choice learning task that I intend to collect with ERP data. Unfortunately not a ll the markers that I have programmed via the <port> function are appearing in the continuous EEG recording. It is recording markers for the feedback presentations and the first stimulus presentation (set at 500 ms in trials) but not the second (set at 1300 ms in trials). I would like the second stimulus to be recorded too. We had a few eyes look at it in our lab today and couldnt work it out, so i appreciate any help or suggestions you may have.
Thanks alot everyone. see script below
Matt
page and text layout instructions
<instruct> / screencolor = (0, 0, 0) / txcolor = (255, 255, 255) / nextkey = (" ") / prevkey = ("x") / fontstyle = ("Arial", 3%) / windowsize = (1100, 900) </instruct>
<defaults> / screencolor = (0,0,0) / txbgcolor = (0,0,0) / txcolor = (255, 255, 255) / fontstyle = ("Arial", 5%) </defaults>
----------------------------------------------------------------
Stimuli
<item ApredictHR> / 1 = "A.BMP" </item>
<item BpredictLR> / 1 = "B.BMP" </item>
<item VpredictNR> / 1 = "V.BMP" </item>
<item WpredictNR> / 1 = "W.BMP" </item>
<item selection1> / 1 = "selection1.png" </item>
<item selection2> / 1 = "selection2.png" </item>
<item blank> / 1 = "blank.png" </item>
<text fixation> / items = ("+") / valign = center / position = (50%, 50%) / txcolor = (255, 255, 255) / fontstyle = ("Arial", 100pt, true) </text>
--------------------------------------------------------------
Stimuli presentation method
<picture blank> / items = blank / size = (100%, 100%) / valign = center /position = (50%, 50%) </picture> <picture ApredictHR> / items = ApredictHR / size = (35%, 35%) / valign = center / position = (50%, 50%) </picture>
<picture BpredictLR> / items = BpredictLR / size = (35%, 35%) / valign = center / position = (50%, 50%) </picture>
<picture VpredictNR> / items = VpredictNR / size = (35%, 35%) / valign = center / position = (50%, 50%) </picture>
<picture WpredictNR> / items = WpredictNR / size = (35%, 35%) / valign = center / position = (50%, 50%) </picture>
<picture selection1> / items = selection1 / size = (50%, 50%) / valign = center / position = (50%, 50%) </picture>
<picture selection2> / items = selection2 / size = (50%, 50%) / valign = center / position = (50%, 50%) </picture>
Feedback
<text FeedbackHL> /items = ("INCORRECT. 50 points lost!.") /valign = center /halign = center /color = (255, 0, 0) / fontstyle = ("Arial", 40pt, true) </text>
<text FeedbackLL> /items = ("INCORRECT. 1 point lost.") /valign = center /halign = center /color = (255, 0, 0) / fontstyle = ("Arial", 40pt, true) </text>
<text FeedbackHR> /items = ("50 points gained!") /valign = center /halign = center /color = (0, 255, 0) / fontstyle = ("Arial", 40pt, true) </text>
<text FeedbackLR> /items = ("1 point gained") /valign = center /halign = center /color = (0, 255, 0) / fontstyle = ("Arial", 40pt, true) </text>
---------------------------------------------------------------------------- External recording (EEG) signals******************* ************************* Stimulus Signals
<port HRsignal> / port = lpt1 / subport = data / items = ("00000001") </port>
<port LRsignal> / port = lpt1 / subport = data / items = ("00000010") </port>
<port NRsignal> / port = lpt1 / subport = data / items = ("00001010") </port>
Feedback signals
<port HRfeedbacksignal> / port = lpt1 / subport = data / items = ("00001000") </port>
<port LRfeedbacksignal> / port = lpt1 / subport = data / items = ("00010000") </port>
<port HLfeedbacksignal> / port = lpt1 / subport = data / items = ("01010000") </port>
<port LLfeedbacksignal> / port = lpt1 / subport = data / items = ("00010100") </port> --------------------------------------------------------------------------------------------
Trials feedback presentation
<trial FeedbackHR> /pretrialpause = 100 /stimulustimes = [0=FeedbackHR; 0=HRfeedbacksignal] /timeout = 1000 / validresponse = (noresponse) / ontrialend = [if (block.learning1.correct) values.ncorrectinarow +=1 else values.ncorrectinarow=0] / iscorrectresponse = [block.learning1.correct] </trial>
<trial FeedbackLR> /pretrialpause = 100 /stimulustimes = [0=FeedbackLR; 0=LRfeedbacksignal] /timeout = 1000 / validresponse = (noresponse) / ontrialend = [if (block.learning1.correct) values.ncorrectinarow +=1 else values.ncorrectinarow=0] / iscorrectresponse = [block.learning1.correct] </trial>
<trial FeedbackHL> /pretrialpause = 100 /stimulustimes = [0=FeedbackHL; 0=HLfeedbacksignal] /timeout = 1000 / validresponse = (noresponse) / ontrialend = [if (block.learning1.correct) values.ncorrectinarow +=1 else values.ncorrectinarow=0] / iscorrectresponse = [block.learning1.correct] </trial>
<trial FeedbackLL> /pretrialpause = 100 /stimulustimes = [0=FeedbackLL; 0=LLfeedbacksignal] /timeout = 1000 / validresponse = (noresponse) / ontrialend = [if (block.learning1.correct) values.ncorrectinarow +=1 else values.ncorrectinarow=0] / iscorrectresponse = [block.learning1.correct] </trial>
------------------------------------------------------------------------- trials response presentation
<trial AVpredictHR1L1> /pretrialpause = 500 /stimulustimes = [0=fixation; 500=ApredictHR; 500=HRsignal; 1300=blank; 1330=VpredictNR; 1330=NRsignal; 2130=blank; 2160=selection1] / responsetrial = ("a", feedbackHR) / responsetrial = ("l", feedbackLL) / validresponse = ("a", "l") /correctresponse = ("a") /inputdevice = keyboard </trial>
<trial AVpredictHR1L2> /pretrialpause = 500 /stimulustimes = [0=fixation; 500=ApredictHR; 500=HRsignal; 1300=blank; 1330=VpredictNR; 1330=NRsignal; 2130=blank; 2160=selection2] / responsetrial = ("l", feedbackHR) / responsetrial = ("a", feedbackLL) / validresponse = ("a", "l") /correctresponse = ("l") /inputdevice = keyboard </trial>
<trial VApredictHR1L1> /pretrialpause = 500 /stimulustimes = [0=fixation; 500=VpredictNR; 500=NRsignal; 1300=blank; 1330=ApredictHR; 1330=HRsignal; 2130=blank; 2160=selection1] / responsetrial = ("a", feedbackHR) / responsetrial = ("l", feedbackLL) / validresponse = ("a", "l") /correctresponse = ("a") /inputdevice = keyboard </trial>
<trial VApredictHR1L2> /pretrialpause = 500 /stimulustimes = [0=fixation; 500=VpredictNR; 500=NRsignal; 1300=blank; 1330=ApredictHR; 1330=HRsignal; 2130=blank; 2160=selection2] / responsetrial = ("l", feedbackHR) / responsetrial = ("a", feedbackLL) / validresponse = ("a", "l") /correctresponse = ("l") /inputdevice = keyboard </trial>
<trial BVpredictLR1L1> /pretrialpause = 500 /stimulustimes = [0=fixation; 500=BpredictLR; 500=LRsignal; 1300=blank; 1330=VpredictNR; 1330=NRsignal; 2130=blank; 2160=selection1] / responsetrial = ("l", feedbackLR) / responsetrial = ("a", feedbackHL) / validresponse = ("a", "l") /correctresponse = ("l") /inputdevice = keyboard </trial>
<trial BVpredictLR1L2> /pretrialpause = 500 /stimulustimes = [0=fixation; 500=BpredictLR; 500=LRsignal; 1300=blank; 1330=VpredictNR; 1330=NRsignal; 2130=blank; 2160=selection2] / responsetrial = ("a", feedbackLR) / responsetrial = ("l", feedbackHL) / validresponse = ("a", "l") /correctresponse = ("a") /inputdevice = keyboard </trial>
<trial VBpredictLR1L1> /pretrialpause = 500 /stimulustimes = [0=fixation; 500=VpredictNR; 500=NRsignal; 1300=blank; 1330=BpredictLR; 1330=LRsignal; 2130=blank; 2160=selection1] / responsetrial = ("l", feedbackLR) / responsetrial = ("a", feedbackHL) / validresponse = ("a", "l") /correctresponse = ("l") /inputdevice = keyboard </trial>
<trial VBpredictLR1L2> /pretrialpause = 500 /stimulustimes = [0=fixation; 500=VpredictNR; 500=NRsignal; 1300=blank; 1330=BpredictLR; 1330=LRsignal; 2130=blank; 2160=selection2] / responsetrial = ("a", feedbackLR) / responsetrial = ("l", feedbackHL) / validresponse = ("a", "l") /correctresponse = ("a") /inputdevice = keyboard </trial>
<trial AWpredictHR1L1> /pretrialpause = 500 /stimulustimes = [0=fixation; 500=ApredictHR; 500=HRsignal; 1300=blank; 1330=WpredictNR; 1330=NRsignal; 2130=blank; 2160=selection1] / responsetrial = ("a", feedbackHR) / responsetrial = ("l", feedbackLL) / validresponse = ("a", "l") /correctresponse = ("a") /inputdevice = keyboard </trial>
<trial AWpredictHR1L2> /pretrialpause = 500 /stimulustimes = [0=fixation; 500=ApredictHR; 500=HRsignal; 1300=blank; 1330=WpredictNR; 1330=NRsignal; 2130=blank; 2160=selection2] / responsetrial = ("l", feedbackHR) / responsetrial = ("a", feedbackLL) / validresponse = ("a", "l") /correctresponse = ("l") /inputdevice = keyboard </trial>
<trial WApredictHR1L1> /pretrialpause = 500 /stimulustimes = [0=fixation; 500=WpredictNR; 500=NRsignal; 1300=blank; 1330=ApredictHR; 1330=HRsignal; 2130=blank; 2160=selection1] / responsetrial = ("a", feedbackHR) / responsetrial = ("l", feedbackLL) / validresponse = ("a", "l") /correctresponse = ("a") /inputdevice = keyboard </trial>
<trial WApredictHR1L2> /pretrialpause = 500 /stimulustimes = [0=fixation; 500=WpredictNR; 500=NRsignal; 1300=blank; 1330=ApredictHR; 1330=HRsignal; 2130=blank; 2160=selection2] / responsetrial = ("l", feedbackHR) / responsetrial = ("a", feedbackLL) / validresponse = ("a", "l") /correctresponse = ("l") /inputdevice = keyboard </trial>
<trial BWpredictLR1L1> /pretrialpause = 500 /stimulustimes = [0=fixation; 500=BpredictLR; 500=LRsignal; 1300=blank; 1330=WpredictNR; 1330=NRsignal; 2130=blank; 2160=selection1] / responsetrial = ("l", feedbackLR) / responsetrial = ("a", feedbackHL) / validresponse = ("a", "l") /correctresponse = ("l") /inputdevice = keyboard </trial>
<trial BWpredictLR1L2> /pretrialpause = 500 /stimulustimes = [0=fixation; 500=BpredictLR; 500=LRsignal; 1300=blank; 1330=WpredictNR; 1330=NRsignal; 2130=blank; 2160=selection2] / responsetrial = ("a", feedbackLR) / responsetrial = ("l", feedbackHL) / validresponse = ("a", "l") /correctresponse = ("a") /inputdevice = keyboard </trial>
<trial WBpredictLR1L1> /pretrialpause = 500 /stimulustimes = [0=fixation; 500=WpredictNR; 500=NRsignal; 1300=blank; 1330=BpredictLR; 1330=LRsignal; 2130=blank; 2160=selection1] / responsetrial = ("l", feedbackLR) / responsetrial = ("a", feedbackHL) / validresponse = ("a", "l") /correctresponse = ("l") /inputdevice = keyboard </trial>
<trial WBpredictLR1L2> /pretrialpause = 500 /stimulustimes = [0=fixation; 500=WpredictNR; 500=NRsignal; 1300=blank; 1330=BpredictLR; 1330=LRsignal; 2130=blank; 2160=selection2] / responsetrial = ("a", feedbackLR) / responsetrial = ("l", feedbackHL) / validresponse = ("a", "l") /correctresponse = ("a") /inputdevice = keyboard </trial>
---------------------------------------------------------------------------------------------
Block Set-up
<block learning1> / trials = [1-50 = noreplace (AVpredictHR1L1, VApredictHR1L1, BVpredictLR1L1, VBpredictLR1L1, AWpredictHR1L1, WApredictHR1L1, BWpredictLR1L1, WBpredictLR1L1, AVpredictHR1L2, VApredictHR1L2, BVpredictLR1L2, VBpredictLR1L2, AWpredictHR1L2, WApredictHR1L2, BWpredictLR1L2, WBpredictLR1L2)] / stop = [values.ncorrectinarow == 10] / onblockbegin=[values.ncorrectinarow = 0] / preinstructions = (intro, break, break1, break2, break3, break4) </block>
<block learning2> / trials = [1-50 = noreplace (AVpredictHR1L1, VApredictHR1L1, BVpredictLR1L1, VBpredictLR1L1, AWpredictHR1L1, WApredictHR1L1, BWpredictLR1L1, WBpredictLR1L1, AVpredictHR1L2, VApredictHR1L2, BVpredictLR1L2, VBpredictLR1L2, AWpredictHR1L2, WApredictHR1L2, BWpredictLR1L2, WBpredictLR1L2)] / preinstructions = (break5) </block>
<block learning3> / trials = [1-50 = noreplace (AVpredictHR1L1, VApredictHR1L1, BVpredictLR1L1, VBpredictLR1L1, AWpredictHR1L1, WApredictHR1L1, BWpredictLR1L1, WBpredictLR1L1, AVpredictHR1L2, VApredictHR1L2, BVpredictLR1L2, VBpredictLR1L2, AWpredictHR1L2, WApredictHR1L2, BWpredictLR1L2, WBpredictLR1L2)] / preinstructions = (break5) </block>
<block learning4> / trials = [1-50 = noreplace (AVpredictHR1L1, VApredictHR1L1, BVpredictLR1L1, VBpredictLR1L1, AWpredictHR1L1, WApredictHR1L1, BWpredictLR1L1, WBpredictLR1L1, AVpredictHR1L2, VApredictHR1L2, BVpredictLR1L2, VBpredictLR1L2, AWpredictHR1L2, WApredictHR1L2, BWpredictLR1L2, WBpredictLR1L2)] / preinstructions = (break5) </block>
---------------------------------------------------------------------------------------------
Experimental Set-up
<expt 1> / blocks = [1=learning1; 2=learning2; 3=learning3; 4=learning4] </expt>
<values> / ncorrectinarow = 0 </values>
---------------------------------------------------------------------------------------------
insrtuctions and page breaks
<page intro>^^^^ Please read these instructions carefully. ^^^^ If you have any questions, feel free to ask the experimenter. ^^^^ PRESS "SPACE" TO BEGIN READING. </page> <page break>^^What follows is a learning task in which you will learn to make the correct response on each trial. ^^At the beginning of each trial a cross will appear to warn you that the trial is about to start. ^^You will then be shown two pictures (one at a time) and finally will be asked to choose between two symbols ( "O" or "*" ). ^^If you choose the correct symbol you will GAIN points but if you choose the incorrect symbol you will LOSE points. ^^^^ PRESS "SPACE" TO CONTINUE </page>
<page break1>^^However, there's more to this task than that, as the different symbols have different values. ^^IF YOU CORRECTLY PREDICT THE "*" SYMBOL YOU WILL GAIN 50 POINTS. ^^IF YOU CORRECTLY PREDICT THE "O" SYMBOL YOU WILL GAIN 1 POINT. ^^^But if you predict the incorrect symbol you will lose points. IF YOU INCORRECTLY PREDICT THE "*" SYMBOL YOU WILL LOSE 50 POINTS. IF YOU INCORRECTLY PREDICT THE "O" SYMBOL YOU WILL LOSE 1 POINT. ^^ So, in this game THE "*" IS WORTH MORE THAN THE "O". ^^^ PRESS "SPACE" TO CONTINUE </page>
<page break2>^^But how will you know which symbol to select on which trial? ^^^THE PICTURES THAT APPEAR DURING EACH TRIAL WILL ALLOW YOU TO ACCURATELY PREDICT WHAT THE CORRECT SYMBOL IS FOR THAT TRIAL. ^^^Therefore you will need to LEARN which pictures will allow you to predict the correct symbol. ^^Once you know that, the task will become easy because the pictures that appear on a given trial will allow to predict which response you need to make in order to gain points. ^^^ PRESS "SPACE" TO CONTINUE </page>
<page break3>^^Remember... the ORDER in which the pictures appear HAS NO INFLUENCE ON THE CORRECT RESPONSE FOR THAT TRIAL. ^^The only thing to learn in this task is which pictures are associated with which symbol. ^^^And the ONLY way to learn this is by TRIAL AND ERROR. ^^^^^ PRESS "SPACE" TO CONTINUE </page>
<page break4>^^Every so often you will be given a break. Use this time to rest your eyes and continue when you are ready to keep going. ^^^The next time you press "SPACE" the task will begin. ^^Dont forget, in this game you can win and lose points, the aim is to learn which pictures go with which symbols and the "*" symbol is worth more than the "O" symbol. ^^When the game starts, use the YELLOW keys to indicate your choice. ^^^^ PRESS "SPACE" TO BEGIN THE GAME </page>
<page break5> ^^^^^^ Take a break. Give your eyes a rest and when you are ready... ^^^^ PRESS "SPACE" TO CONTINUE </page>
<page break6> ^^^^^^ Have another rest. ^^^^ This will be your last block. ^^^^ PRESS "SPACE" TO CONTINUE </page>
<page end> ^^^^^^^ THAT'S THE TASK COMPLETED! ^^^^ Thank you for participating. </page>
--------------------------------------------------------------------------------
Data recording set up
<data> /columns = [subject blockcode correct latency trialcode] </data>
|