Hi Jaewon, Centring the joystick in the calibration was not an issue, i already did that using the origin x and y. The issue that remains is that the output is not symmetrical for left and right (and up and down). Is there anyway to fix that? There is an ADC onboard on the joystick, so we only get a USB signal output. With an analog joystick you still recommend using the Origin and Gaiby curiousgeorge - Questions and Answers
Thank you for your response Jaewon. I tried the steps that you recommended but there are still some issues: Using the X and Y gain I can now use the joystick to reach everywhere on the screen. However the left and right (as well as up and down) outputs are not symmetric. For example with the same gain I go beyond the screen on the right side but reach 3/4 screen on the left side. Also wby curiousgeorge - Questions and Answers
Hi Jaewon, In our cfg2.mat files,the information within MLConfig.Screen appears to be incorrect. The correct values of the same variables can be found inside the MLConfig object however. Some of the examples of these variables are PixelsPerDegree SubjectScreenRect etc. This is not a big deal since the correct values are still being saved but was curious as to why this might be the caseby curiousgeorge - Questions and Answers
Hi Jaewon, We have an issue with the results of our joystick calibration. At the moment we're connecting the joystick via usb and calibrating the joystick using a 9-point evenly spaced square calibration in monkeylogic. However when calibrated, the joystick position on the screen does not properly capture the physical position of the joystick. I've attached a picture to better eby curiousgeorge - Questions and Answers
Hi Jaewon, The inherent noise in the eyelink eye tracking process results in a non-perfect spatial resolution/precision, and so the same eye position on the screen should not give the exact same measurement. The specifications that they give (< 0.1° RMS for 1khz sampling rate) is with an artificial eye as well, therefore real eye data is likely noisier. This makes me believe that whatby curiousgeorge - Questions and Answers
Hi Jaewon, I'm having some trouble with the eye data that i'm getting in monkeylogic. I'm using the following system. Eyelink 1000 plus Monkeylogic 2.2.34 Ethernet connection between Eyelink and Monkeylogic Problem: The eye data that I acquire in monkeylogic seems to have repeated samples. The repeated samples are typically consecutive samples, and don't seemby curiousgeorge - Questions and Answers
One option is doing so manually. Attached image is from the Monkeylogic GUI. Another option is presenting a picture as an imagegraphic (https://monkeylogic.nimh.nih.gov/docs_RuntimeFunctions.html#ImageGraphic) and using an adapter on it to capture/gate fixation (WaitThenHold). Might be able to present programmatically as a taskobject as well (https://monkeylogic.nimh.nih.gov/docs_TaskObjectby curiousgeorge - Questions and Answers
Thank you for this addition Jaewon!by curiousgeorge - Questions and Answers
Thank you for your response Jaewon. On another note, is it possible to change the color of the joystick cursor within the timing file (or any of the task scripts for that matter)? I would like to cue the current block via the joystick cursor on the screen, and therefore color it differently depending on the current block/trial conditions. Thanks againby curiousgeorge - Questions and Answers
Is there is a method for "locking" the joystick position, so that the subject cannot move it during a specific period of trial? I would like to hide the joystick with joy_.showcursor(false) and then lock it as well, so when it is not shown, the subject cannot change the position of the joystick. At the moment, even if joystick is not visible via the showcursor method, it can still bby curiousgeorge - Questions and Answers
Hi Jaewon, Background I'd like to show a sequence of images using ImageChanger, and for this I am trying to pre-load the images before the 1st trial and re-use them through out the session. I have read through the MGL docs, examples in the tutorials, as well as following this specific forum post where you have shown how to do it for the dms task Issue I get an MGL object IDby curiousgeorge - Questions and Answers
Hi, I'd like to write a userloop function that chooses my stimuli and passes it on to the timing script to be displayed using the ImageGraphic adapter. However ImageGraphic input format is not the same as the "taskobject format" (e.g. 'pic(A.jpg,0,0,320,240,[0 0 0])') which appears to be the necessary format for outputting ("C") stimuli information from tby curiousgeorge - Questions and Answers
Hi, I'd like to add transparency/specify alpha value for specific pixels that I am reading into my ImageGraphic adapter. I would like to present an image ("mask") on top of a background image with a specific pixels of this mask image more opaque than others. I've made this mask image and have saved it with the desired alpha values, but it appears that you must extractby curiousgeorge - Questions and Answers
Hi Jaewon, The issue is resolved with the new update! Only problem I have is upon clicking QUIT on the menu after pausing the task, both monkeylogic and matlab quit, and it has to be restarted. Please let me know if this is a local issue. Thanks for all your help.by curiousgeorge - Questions and Answers
I have two questions, one regarding the existing NIMH ML adapter and the other about how to implement a specific movie execution: 1) Using the MovieGraphic, is it not possible to start play back the movie at a specific time/frame, and loop a specific interval/frames of the movie? I have also noticed that if Looping is on, the PlaybackPosition is ignored. 2) I would like to execute thby curiousgeorge - Questions and Answers
Thank you for the update. I'm not sure I understand why you mention the issue is when I turn the ITI recording off. The difference in the sampling shifts to 16ms when the record signals box is checked, recording the eye signal during the ITI. Is there something I'm missing? Looking forward to your email.by curiousgeorge - Questions and Answers
Not a problem. Files are attached here. ITI recording is off and TCP/IP eye menu is left on None so no eye signal was recorded. Config file is attached. Hope it helps!by curiousgeorge - Questions and Answers
Hi Jaewon, Thank you for following up. I'm attaching two files here, one with ITI recording off and another with ITI recording on. The only addition to the config file was connecting the eyelink. Zipped them in order to attach them as files here. This is performed on Windows 10 Home version 2004 let me know if I can help in any other way, thanks.by curiousgeorge - Questions and Answers
Hi Jaewon, I've traced the source of the problem. In the MonkeyLogic (ML) GUI, under the Task subsection, if the ITI record signals is checked off, the sampling of eye signal drops after the first ITI and stabilizes at 60Hz after the 2nd ITI. The source of this issue being the ITI also makes sense considering my data shows a reasonable sampling on the first trial (before which there is nby curiousgeorge - Questions and Answers
Hi Jaewon, That's a great question. I do not know what the sampling rate for mouse simulation is (emailed Eyelink to find out). But the issue persists with behavioural data collected from a macaque. I'm attaching here animalEyeData_allTrials eye data from all trials in a short block where the animal makes 10d saccades to left and and right from (from 0,0). The different color barby curiousgeorge - Questions and Answers
Hi Jaewon, I'm having issues with the sampling rate of eye data in Monkeylogic (2.2.19 Oct 12 2021) on Windows 10 2004 running Matlab 2017b. Eyelink is connected via TCP/IP connection to Monkeylogic. I followed the instructions in the docs, connection test passes and I have disabled Nagel's algorithm as well. The issue is that after the first trial, the sampling rate drops toby curiousgeorge - Questions and Answers
Hello, I'm trying to add some simple editable variables to my task such as fixation hold. Looking at the example in the docs for editable and the editable_demo, I noticed that the variable range1 when called by editable is an array in the online doc and a char in the editable_demo. It does show up in the menu when calling it as char by editable, but does not pass along the value to tby curiousgeorge - Questions and Answers