Hi, everyone I have to calculate the raw eye-tracker input values according to the transformed data recorded in the bhv2 file. I haven't found a similar question in this forum. I guess I need to use the parameters (offset and gain) in the MonkeyLogic ISCAN eye tracker panel and a transformed matrix that the 2D eye calibration yield to. But I don't know the specific calculation formula.by xiaoxu1107 - Questions and Answers
Sorry to bother you again. I drew the values of the monkey's eye movements (AnalogData.Eye) and most of them are normal, falling between -30 and 30 degrees. But some values are particularly large, even reaching several hundred or thousand degrees. Do you know what is going on?by xiaoxu1107 - Questions and Answers
I think I know what the problem is. Maybe the transformation matrix of 2D spatial calibration is saved in MLConfig.EyeTransform{1,3} and EyeTransform{2,3}?by xiaoxu1107 - Questions and Answers
I found that every time I import the calibration matrixes of both eyes by and then click to enter the calibration interface, the calibration interfaces of both eyes do become the same as those of the random fix task (please see the attached screenshots). But when I check the bhv2 data, I find the values of origin, gain, rotation ... in MLConfig.EyeTransform of freeforage task are not same withby xiaoxu1107 - Questions and Answers
Hi, Jaewon I'm using a ISCAN eye tracker, and in ISCAN DWQ, it can send out up to 12 parameters in two banks. Because of binocular eye tracking, we do need at least 10 channels which is more than the number of channels (8 channels) in MonkeyLogic. How could I increase the number of channels in ML to record more parameters? Thanks in advance!by xiaoxu1107 - Questions and Answers
Thanks for your suggestions, based on your answers, I've solved all my problems, and today's experiment went well! And another thing I want to ask is, in bhv2 file, I found the length of each trial's AnalogData.Eye data is closer to the timestamp value of Event18 than the difference of AbsoluteTrialStartTime between two adjacent trials. Is it because this difference contains inteby xiaoxu1107 - Questions and Answers
In response to the first question I mentioned, I found that my code only wrote eyejoytrack for one of the eyes, and after adding eyejoytrack('acquirefix2',...) for the second eye, it works. I've attached some screenshots for the third question to try to make myself clear. randomfix is the task that has done 2D spatial transformation eye calibration, and freeforage is the task thby xiaoxu1107 - Questions and Answers
Hi, Jaewon After using binocular tracking for a while, I have the following problems. 1. In the random fixation task, it seems that as long as one of the eyes falls within the range of the target point, the trial is judged to be correct, even though the other eye drops outside the range. 2. Because one eye often fell outside the range of the target points, I set 100% auto drift correctionby xiaoxu1107 - Questions and Answers
Thanks for your reply. In response to your third answer, I remember the eye movement signal as an analog input, usually between -5V and 5V. It's already between -10 and 10, so why do I need to adjust the gain and offset here? I think I must have misunderstood something. Looking forward to your answer.by xiaoxu1107 - Questions and Answers
Hi, Jaewon I am using binocular tracking for the first time and I have some questions about using it. 1. Do I need to do calibration for both eyes separately? The Eye cal #1, Eye cal #2 in the calibration panel? (As in Fig1) 2. Can I save the raw voltage data of eye movement in the ML data, in addition to the calibrated data? 3. I have been confused according to what to adjust the parametby xiaoxu1107 - Questions and Answers
I found if I entered the calibration GUI by running the task, not by the eye calibration panel in the ML main GUI, giving rewards worked. Thank you very much!by xiaoxu1107 - Questions and Answers
I really appreciate your help! The new goodmonkey function has driven my Arduino to trigger rewards during tasks successfully. But I don't know why triggering rewards during calibration still doesn't work. I found that the eye calibration GUI started with the message 'Reward I/O Not Assigned! (please see the attached figure 1). Adding the command MLConfig.DAQ.set_reward_objecby xiaoxu1107 - Questions and Answers
Yes, I'm using the MATLAB Support Package for Arduino Hardware. First, I started the commumication between Arduino and Matlab by editing the alert_function. The detail is showed up as following and in the attachment . Than I turned on the 'Alert On' buttern on the main menu. And I also attached the code of the goodmonkey function I modified. Thanks in advance! Look forward to yourby xiaoxu1107 - Questions and Answers
Hello everyone, I am using an Arduino to control the reward system in my task. To do this, I rewrote the goodmonkey function. The code in the function is to communicate with the Arduino to give a reward, and I put the function in the task folder to prevent the original goodmonkey function from being called. Initially, I was just doing touch-screen tasks, but now I also need to track eye mby xiaoxu1107 - Questions and Answers