By Dylonius - 10/27/2017
Hello, I'm having trouble testing the timing of my scripts.
From what I understand, Inquisit doesn't have a global "log all" function like Presentation that forces the output to track all stimulus presentations and timings.
Therefor, in order to determine if my stimuli are actually presented for their intended length, I generally rely on "elapsedtime" to at least determine the length of each trial. However, it is unclear to me what elapsedtime actually logs.
Here's a sample trial from my code: <trial neutraltrial> /ontrialbegin = [values.trialstarttime = expt.EMT.elapsedtime - values.taskstart] /ontrialbegin = [values.tasktimetrue = expt.EMT.elapsedtime] /stimulustimes = [0=negativesleep; 3000=response; 8000=blank;] /trialduration = (8000) /beginresponsetime = (3000) /validresponse = (2,3,4,5,6) /responsemessage = (2, response0, 0) /responsemessage = (3, response1, 0) /responsemessage = (4, response2, 0) /responsemessage = (5, response3, 0) /responsemessage = (6, response4, 0) /ontrialend = [values.trialendtime = expt.EMT.elapsedtime - values.taskstart] /ontrialend = [values.trialdurtime = trial.neutraltrial.elapsedtime] /ontrialend = [values.lasttype = "neutral"] /branch = [if (values.constant = 1) trial.break] </trial>
In this example, the participant views a picture for 3 seconds, then views a prompt for a response, upon response the "responsemessage" stimuli appears until the end of the trial.
However, in this case, "elapsedtime" seems to only log the duration of the trial up until the response.
Does this mean that the "responsemessage" stimulus is not included in the currently trial? If so, how do I log the duration of this stimulus as well? Or perhaps I'm misunderstanding the trial itself.
Thanks, Dylan.
|
By Dave - 10/27/2017
+xHello, I'm having trouble testing the timing of my scripts. From what I understand, Inquisit doesn't have a global "log all" function like Presentation that forces the output to track all stimulus presentations and timings. Therefor, in order to determine if my stimuli are actually presented for their intended length, I generally rely on "elapsedtime" to at least determine the length of each trial. However, it is unclear to me what elapsedtime actually logs. Here's a sample trial from my code: <trial neutraltrial> /ontrialbegin = [values.trialstarttime = expt.EMT.elapsedtime - values.taskstart] /ontrialbegin = [values.tasktimetrue = expt.EMT.elapsedtime] /stimulustimes = [0=negativesleep; 3000=response; 8000=blank;] /trialduration = (8000) /beginresponsetime = (3000) /validresponse = (2,3,4,5,6) /responsemessage = (2, response0, 0) /responsemessage = (3, response1, 0) /responsemessage = (4, response2, 0) /responsemessage = (5, response3, 0) /responsemessage = (6, response4, 0) /ontrialend = [values.trialendtime = expt.EMT.elapsedtime - values.taskstart] /ontrialend = [values.trialdurtime = trial.neutraltrial.elapsedtime] /ontrialend = [values.lasttype = "neutral"] /branch = [if (values.constant = 1) trial.break] </trial> In this example, the participant views a picture for 3 seconds, then views a prompt for a response, upon response the "responsemessage" stimuli appears until the end of the trial. However, in this case, "elapsedtime" seems to only log the duration of the trial up until the response. Does this mean that the "responsemessage" stimulus is not included in the currently trial? If so, how do I log the duration of this stimulus as well? Or perhaps I'm misunderstanding the trial itself. Thanks, Dylan. expt.EMT.elapsedtime reflects the time elapsed in millisecond since the execution of the <expt> object began.
The way your <trial> is set up <trial neutraltrial> ... /ontrialend = [values.trialendtime = expt.EMT.elapsedtime - values.taskstart] /ontrialend = [values.trialdurtime = trial.neutraltrial.elapsedtime] /ontrialend = [values.lasttype = "neutral"] ... </trial>
The /ontrialend logic is executed and elapsedtime is logged directly after a response occurred, i.e. at the start of the (implicit) /posttrialpause during which the responsemessage stimulus is displayed.
Perhaps the diagram in https://www.millisecond.com/support/docs/v4/html/howto/howtocontroltiming.htm is helpful in clarifying the various timing components involved in a <trial> and when certain things happen.
Note that you can have Inquisit generate an extra log file containing timing information for various events by setting
<data> ... / audit = true </data>
|
By Dylonius - 10/27/2017
+x+xHello, I'm having trouble testing the timing of my scripts. From what I understand, Inquisit doesn't have a global "log all" function like Presentation that forces the output to track all stimulus presentations and timings. Therefor, in order to determine if my stimuli are actually presented for their intended length, I generally rely on "elapsedtime" to at least determine the length of each trial. However, it is unclear to me what elapsedtime actually logs. Here's a sample trial from my code: <trial neutraltrial> /ontrialbegin = [values.trialstarttime = expt.EMT.elapsedtime - values.taskstart] /ontrialbegin = [values.tasktimetrue = expt.EMT.elapsedtime] /stimulustimes = [0=negativesleep; 3000=response; 8000=blank;] /trialduration = (8000) /beginresponsetime = (3000) /validresponse = (2,3,4,5,6) /responsemessage = (2, response0, 0) /responsemessage = (3, response1, 0) /responsemessage = (4, response2, 0) /responsemessage = (5, response3, 0) /responsemessage = (6, response4, 0) /ontrialend = [values.trialendtime = expt.EMT.elapsedtime - values.taskstart] /ontrialend = [values.trialdurtime = trial.neutraltrial.elapsedtime] /ontrialend = [values.lasttype = "neutral"] /branch = [if (values.constant = 1) trial.break] </trial> In this example, the participant views a picture for 3 seconds, then views a prompt for a response, upon response the "responsemessage" stimuli appears until the end of the trial. However, in this case, "elapsedtime" seems to only log the duration of the trial up until the response. Does this mean that the "responsemessage" stimulus is not included in the currently trial? If so, how do I log the duration of this stimulus as well? Or perhaps I'm misunderstanding the trial itself. Thanks, Dylan. expt.EMT.elapsedtime reflects the time elapsed in millisecond since the execution of the <expt> object began. The way your <trial> is set up <trial neutraltrial> ... /ontrialend = [values.trialendtime = expt.EMT.elapsedtime - values.taskstart] /ontrialend = [values.trialdurtime = trial.neutraltrial.elapsedtime] /ontrialend = [values.lasttype = "neutral"] ... </trial> The /ontrialend logic is executed and elapsedtime is logged directly after a response occurred, i.e. at the start of the (implicit) /posttrialpause during which the responsemessage stimulus is displayed. Perhaps the diagram in https://www.millisecond.com/support/docs/v4/html/howto/howtocontroltiming.htm is helpful in clarifying the various timing components involved in a <trial> and when certain things happen. Note that you can have Inquisit generate an extra log file containing timing information for various events by setting <data> ... / audit = true</data> Thanks, this is helpful.
In this light, is there any way to output the "elapsedtime" of the responsemessage stimulus duration, or would it be better to use "responsetrial" instead of "responsemessage"?
|
By Dave - 10/27/2017
+x+x+xHello, I'm having trouble testing the timing of my scripts. From what I understand, Inquisit doesn't have a global "log all" function like Presentation that forces the output to track all stimulus presentations and timings. Therefor, in order to determine if my stimuli are actually presented for their intended length, I generally rely on "elapsedtime" to at least determine the length of each trial. However, it is unclear to me what elapsedtime actually logs. Here's a sample trial from my code: <trial neutraltrial> /ontrialbegin = [values.trialstarttime = expt.EMT.elapsedtime - values.taskstart] /ontrialbegin = [values.tasktimetrue = expt.EMT.elapsedtime] /stimulustimes = [0=negativesleep; 3000=response; 8000=blank;] /trialduration = (8000) /beginresponsetime = (3000) /validresponse = (2,3,4,5,6) /responsemessage = (2, response0, 0) /responsemessage = (3, response1, 0) /responsemessage = (4, response2, 0) /responsemessage = (5, response3, 0) /responsemessage = (6, response4, 0) /ontrialend = [values.trialendtime = expt.EMT.elapsedtime - values.taskstart] /ontrialend = [values.trialdurtime = trial.neutraltrial.elapsedtime] /ontrialend = [values.lasttype = "neutral"] /branch = [if (values.constant = 1) trial.break] </trial> In this example, the participant views a picture for 3 seconds, then views a prompt for a response, upon response the "responsemessage" stimuli appears until the end of the trial. However, in this case, "elapsedtime" seems to only log the duration of the trial up until the response. Does this mean that the "responsemessage" stimulus is not included in the currently trial? If so, how do I log the duration of this stimulus as well? Or perhaps I'm misunderstanding the trial itself. Thanks, Dylan. expt.EMT.elapsedtime reflects the time elapsed in millisecond since the execution of the <expt> object began. The way your <trial> is set up <trial neutraltrial> ... /ontrialend = [values.trialendtime = expt.EMT.elapsedtime - values.taskstart] /ontrialend = [values.trialdurtime = trial.neutraltrial.elapsedtime] /ontrialend = [values.lasttype = "neutral"] ... </trial> The /ontrialend logic is executed and elapsedtime is logged directly after a response occurred, i.e. at the start of the (implicit) /posttrialpause during which the responsemessage stimulus is displayed. Perhaps the diagram in https://www.millisecond.com/support/docs/v4/html/howto/howtocontroltiming.htm is helpful in clarifying the various timing components involved in a <trial> and when certain things happen. Note that you can have Inquisit generate an extra log file containing timing information for various events by setting <data> ... / audit = true</data> Thanks, this is helpful. In this light, is there any way to output the "elapsedtime" of the responsemessage stimulus duration, or would it be better to use "responsetrial" instead of "responsemessage"? If logging the onset and/or duration of the response stimulus is desired or required, then yes, using /responsetrial or the more general /branch would be preferable.
|
|