The time of Event 18 is not the trial end, either. If you do not know this yet, please read this manual page. https://monkeylogic.nimh.nih.gov/docs_GettingStarted.html#AlignTimestampsAndAnalogData In NIMH ML, each trial starts at Time 0. Events 9 & 18 are stamped sometime during a trial just like any other code. If the timestamp of the 9 is 1.234 ms, for example, it means that the 9 was sby Jaewon - Tips
The input signals during ITI are not recorded, unless you turn on the ITI recording option.by Jaewon - Questions and Answers
Please explain what kind of analysis the AlphaOmega system will do. The Success property may not reflect the information you need.by Jaewon - Questions and Answers
1. Try 'General Input 1' again. You must read it from AnalogData.General.Gen1. AnalogData.EyeExtra is only for TCP/IP. 2. See this post. https://monkeylogic.nimh.nih.gov/board/read.php?3,1515by Jaewon - Questions and Answers
You can use dashboard() or whatever way you want to display the information. https://monkeylogic.nimh.nih.gov/docs_RuntimeFunctions.html#dashboardby Jaewon - Questions and Answers
The length of ITI depends on the external variables (e.g., speed of the CPU and disk) too much and cannot be exactly the duration that you set. You can run one trial of which length is 240 s. Just repeat the paradigm sequence 20 times in that one trial.by Jaewon - Questions and Answers
copies the calibration matrix only for the currently selected eye and method. If Eye#1 and 2-D Transform are selected in the freeforage task when you hit , for example, only Eye#1 and 2-D transform of the freeforage task are overwritten with the values from the randomfix task. You can import from either Eye#1 or Eye#2 of the randomfix task, though, depending on what you choose subsequently. Iby Jaewon - Questions and Answers
Please show me your task code and explain how you loaded the calibration matrix in a new task.by Jaewon - Questions and Answers
Overwrite RunSceneParam.m in the ext directory with the attached file. I do not know how it happens, but at least this file will prevent your task from stopping.by Jaewon - Questions and Answers
There are a couple of minor issues in the way that you measure the scene duration. In the scene framework, all stimuli (visual, auditory, TTL, etc.) start at the first frame of the current scene and end at the first frame of the next scene. In the following code, for example, it seems that you think CS is off at 104, but that is not the case. The stimuli turned on at 103 are turned off at 105,by Jaewon - Questions and Answers
* Changes in 2.2.33 (Feb 8,2023) + A new adapter, BlinkDetector, is added. - The problem that conditions files are not loaded when a file named Condition.m is in the MATLAB path is fixed. (Thanks to Peter Kaskan) - A missing property in ComplementaryWindow caused an error. It is added back. (Thanks to Kazutaka Maeda)by Jaewon - News
I do not think it has anything to do with the MATLAB version or NIMH ML. What was the range that you provided? You can combine the new SingleTarget and your existing chain with AllContinue. https://monkeylogic.nimh.nih.gov/docs_ScriptingScenes.html#AdapterAggregators ----- Try this modified BlinkDetector (see the attached file). The original version draws the boundary of the area, but iby Jaewon - Questions and Answers
A custom adapter would work best, but try SingleTarget first. ----- I looked up our previous communication and found that you were already using a custom blink detector. Look at your old task codes.by Jaewon - Questions and Answers
You can set a fixation window around the point you found and then abort the trial if the fixation is made there.by Jaewon - Questions and Answers
Can you tell when the blinks occurred from the recorded eye traces? If so, it may be possible to detect them.by Jaewon - Questions and Answers
It is the webcam, not NIMH ML, that sets the limit. I have not seen a webcam that supports 700 Hz, though. I do not think the frame rate can be changed in the middle. Recording only specific scenes may be possible, but at the moment it is not programmed to do so.by Jaewon - Questions and Answers
I got your message. I like your timeline figure, but just redrew it to show what might actually happen. There are a few things for you to know, to understand how MultiTarget (or SingleTarget) works. MultiTarget (and SingleTarget) does not change its fixation status until the tracker remains in the target window for one entire frame. It means that, even though the eye crosses the threshold wiby Jaewon - Questions and Answers
Both cases look perfectly fine to me, but, to be sure, I need you to show me more than just the code. I need to know things like where the targets were, how the eye moved, etc. The best thing is to send me the data file and the task code. 1. What do you mean by "the time when the subject finished the first choice"? Are you asking when the HoldTime was over? 2. I do not understandby Jaewon - Questions and Answers
It is because the behavior tracker (eye, joystick, etc.) was already at the target location before the scene started. In your case, the scene started at 4100 but the eye was already there, so the acquired time was 4100. The target graphics were turned on at 4100 as well, but the time when they actually showed up on the screen was one frame later, which was 4115.53. So the fixation (i.e., the choiby Jaewon - Questions and Answers
The numbers that eye trackers send out through TCP/IP are not the same as their voltage output.by Jaewon - Questions and Answers
1. Yes. Binocular tracking can be one eye each from two subjects who are looking at different screens. 2. No, if you are using TCP/IP. There is no need, since voltage values can be calculated back. I do not think it is explained in the manual, though. 3. You use them if the range of the eye tracker input is not -10 to 10. See of this manual page. 4. No, but it can be recommended if you are caby Jaewon - Questions and Answers
Your system does not seem to work correctly. Whether you keep your mouse still or not, the fixation should be detected in no time, if the cursor is inside the window. The data file included in the zip says that your system has three monitors. Does it? Have you run the latency test? What does the result look like? https://monkeylogic.nimh.nih.gov/docs_MonitorSetup.html#LatencyTestby Jaewon - Questions and Answers
I ran the code you attached almost for 300 trials either by putting the mouse cursor in the fixation window or sweeping it across the screen. Not a single time did the subject screen stayed white during ITI. Your script produces only correct trials, so I do not understand what you mean by "if the trials are correct".by Jaewon - Questions and Answers
I do not recommend modifying the core functions on your own. Then you will have to modify them every time when upgrading to a new version. There were a few more things that needed to be patched, to make it work everywhere. Please download the package again. Sorry for the inconvenience. The error message is shown because the calibration is incomplete. The number of the calibration points mayby Jaewon - Questions and Answers
Obviously your code is not working as you think. There is no way that I can help, without knowing what you wrote. "It is possible that one of my stimuli generating scenes, runs with a bit of a delay, and it is possible it draws the stimuli, after all stimuli is cleared at the "end" of the trial." >> No such thing is possible.by Jaewon - Questions and Answers
escape_screen() does not terminate the ongoing trial but just tells NIMH ML to pause the task after the current trial. There is no point of calling idle() before or after escape_screen(), if your code still presents something after that. What is important is not putting idle() at the end of the script but running it for the last command of the task. Your code probably has some exit points in tby Jaewon - Questions and Answers
To fix this problem without removing the file from your path, change Line 43 of mlconditions.m like the following. From: if 2==exist(cond{1}{1},'file'), obj.Conditions = which(cond{1}{1}); end To: if 1==length(cond) && 2==exist(cond{1}{1},'file'), obj.Conditions = which(cond{1}{1}); endby Jaewon - Questions and Answers
Set a breakpoint at Line 44 of mlconditions.m and then try to load the conditions file. When MATLAB stops at the Line 44, what is in obj.Conditions?by Jaewon - Questions and Answers
For example, have you tried any other tasks to see if the same problem occurs in all of them?by Jaewon - Questions and Answers
As I wrote you by email, the file reads fine on my side, so I cannot tell what may be the problem. Since it works on your other computers as well, I suggest checking your laptop more thoroughly.by Jaewon - Questions and Answers