Your TrialRecord.User.random_num_list is not defined unless the if statement is executed.by Jaewon - Questions and Answers
You are right. If you display something, it cannot be moved to the alert function.by Jaewon - Questions and Answers
There is no way to stop data acquisition in the middle of a trial. I do not know how you detect the entrance of the next subject, but you can put the related code in the 'trial_start' hook of the alert function, instead of the timing script, and hold the task there until the next subject is detected. Then, there is no need to worry about the data accumulation, since data is not acquiby Jaewon - Questions and Answers
If you update your NIMH ML to the latest version, you will at least be able to open the menu window. It is not tested though whether everything is functioning properly. I am aware of the issue and working on it, but the changes related to the UI are huge in the new release and I am busy with other things, so the final solution may take a few months. This new MATLAB desktop has been beta-tesby Jaewon - Questions and Answers
Use CircleGraphic. crc = CircleGraphic(null_); crc.List = { [1 0 0], [1 0 0], [0.5 0.5], [0 0]; ... [0.5 0.5 0.5], [0.5 0.5 0.5], [0.6 0.6], [0 0] }; tc = TimeCounter(crc); tc.Duration = 5000; scene = create_scene(tc); run_scene(scene);by Jaewon - Questions and Answers
With the partial code and a still image that you provided, I cannot figure out anything. Please show me the entire code and the data file. How often did you get the issue?by Jaewon - Questions and Answers
* Changes in 2.2.51 (Jun 12, 2025) - Fixed the problem that AnalogInputMonitor is occluded by other stimuli. - A quick fix for MATLAB's figure position issue with multiple monitors.by Jaewon - News
Use the key. https://monkeylogic.nimh.nih.gov/docs_RunningTask.html#ControlScreenby Jaewon - Questions and Answers
rot_angles should be a column vector.by Jaewon - Questions and Answers
You may think you explained something, but I have no idea what you are trying to do. You should explain what exactly you want to do, not how you want to do. Rather than "perform the rotation dynamically", for example, it is better to say like "present an image with 30-deg rotation in one scene and 60-deg rotation in the next scene" or "show a square rotating at 90 deg/s fby Jaewon - Questions and Answers
Sometimes an error occurs due to a simple typo. If you post only partial code, there’s not much I can tell. One clear mistake is "response = fth.Success;", since response will always be false. If this line is for reading out the scene result, it should be put after run_scene(). Adapter chains do nothing until they are executed with run_scene(). https://monkeylogic.nimh.nih.gov/docs_by Jaewon - Questions and Answers
If you are talking about 3D rotations, the answer is no. What do you mean by self-uploaded images? Please show your code.by Jaewon - Questions and Answers
Make the text as an image file and flip the image.by Jaewon - Questions and Answers
The timing accuracy of the eventcodes is usually not dependent on how you set it up.by Jaewon - Questions and Answers
First of all, I do not recommend calling DAQ functions directly. I cannot guarantee the future compatibility of such a usage. I do not know why you get that problem, but just wonder why it has to be complicated like that. Switching between WFs in a loop takes time and there is not so much advantage in doing so, in terms of timing accuracy. Do you have to decide on the fly which three should beby Jaewon - Questions and Answers
Just declare multiple KeyCheckers or SingleButtons. Combine them with aggregators, if necessary.by Jaewon - Questions and Answers
Unfortunately it does not work in that way, mostly because of the graphics.by Jaewon - Questions and Answers
Arduino Nano 33 BLE is supported from 2.2.50 (Mar 28, 2025). https://monkeylogic.nimh.nih.gov/docs_BluetoothRewardTrigger.htmlby Jaewon - Questions and Answers
You should use your fastest drive for saving data files. Moving them to somewhere else later is up to you. There are so many ways to automatize the file copy/move, so I do not think I need to reinvent the wheel. You can use behaviorsummary, for example. https://monkeylogic.nimh.nih.gov/board/read.php?2,314,314#msg-314 function behaviorsummary(filename) movefile(filename,'D:\data&by Jaewon - Questions and Answers
* Changes in 2.2.50 (Mar 28, 2025) - When monkeylogic_cfg2.mat exists, certain I/O settings are now loaded from and saved to this file. https://monkeylogic.nimh.nih.gov/board/read.php?2,532,532#msg-532 - Arduino Nano 33 BLE series are supported for triggering remote reward devices. https://monkeylogic.nimh.nih.gov/docs_BluetoothRewardTrigger.html - BHV2 files became more robby Jaewon - News
I do not see any problem in the code you showed. The issue must be caused by something else. If you are saying that you want to present multiple images sequentially during fixation within a trial, you should use ImageChanger. Running ImageGrahphic repeatedly in a loop is a bad idea, because it will introduce a time gap between images. https://monkeylogic.nimh.nih.gov/docs_RuntimeFunctions.htmby Jaewon - Questions and Answers
Doesn't CTRL X + CTRL V work for you?by Jaewon - Questions and Answers
You need a new version of NIMH ML, but I am still working on it. Please be patient.by Jaewon - Questions and Answers
I modified your task with a custom adapter. See the attached zip file. Before running the task, update your NIMH ML to the latest version. If you need to know exactly when the number was reported, you should record the status of the Enter key, as you do the Space bar. If you use just eventmarkers, you cannot avoid a 10-20 ms delay because sample analysis is done frame by frame in the scene fraby Jaewon - Questions and Answers
1. NIMH ML and, as far as I know, MATLAB itself are not dependent on Qt. The error is likely to come from another software that you run together. 2. You know that a new trial begins with ITI when the ITI recording is enabled, don't you? https://monkeylogic.nimh.nih.gov/docs_MainMenu.html#Task Did you compare the signal length between analog inputs and the button? 3. Have you actuallyby Jaewon - Questions and Answers
I took the liberty of moving the timing script to the attachments. I have a few questions. 1. Is pressing the space bar the act of selecting a number? What should be displayed on the screen, when the subject enters the number? 2. Do you need to know the time when the enter is pressed? 3. Other than space, numbers and enter, what keys can the subject type?by Jaewon - Questions and Answers
I sent you a modified version of mlbhv2.m by email. Please check your inbox. The data could be read up to Trial200. The new mlbhv2.m will be included in the future release of NIMH ML, so you do not need to keep the file.by Jaewon - Questions and Answers
Now the message is supposed to be a warning, not an error, and anything readable up until the warning should be in the return value of mlread(). Did you see anything in the return value?by Jaewon - Questions and Answers
It means you are still running the old version. If you ran the new version, at least the line number in the error message would be different. Please check the MATLAB path and make sure that the commands in the new version are called. The new version returns the readable portion of data even when an error occurs.by Jaewon - Questions and Answers
Try to read again with the latest NIMH ML.by Jaewon - Questions and Answers