ImageGraphic does not take any size argument nor produce an error message prefixing "PIC". Please double-check which function/script made the error. https://monkeylogic.nimh.nih.gov/docs_RuntimeFunctions.html#ImageGraphicby Jaewon - Questions and Answers
That is just how MAT files work. I don't think it is my problem to fix, but I did something to prevent them from keeping growing. Update your NIMH ML.by Jaewon - Questions and Answers
Zoom in on the menu, like 200%, and try again. ---------- You can also adjust the size of mlplayer now to see things bigger.by Jaewon - Questions and Answers
First of all, the behavior of NIMH ML that you are talking about is perfectly normal and made it that way by design. You think that you are controlling the task with keyboard and mouse, but, in fact, the keyboard and mouse are tools for subjects to report responses with. So you are actually borrowing them from subjects. NIMH ML displays visual stimuli both on the subject and control screen soby Jaewon - Questions and Answers
Download the package again and try a new adapter, GraphicProperty. https://monkeylogic.nimh.nih.gov/docs_RuntimeFunctions.html#GraphicProperty If you don't find a function you want in the existing adapters, you can make one of your own from the template.by Jaewon - Questions and Answers
No one but you knows what you did to your computer. You should explain better than that.by Jaewon - Questions and Answers
Update your mlhdf5.m with the attached file or download the package again. By the way, HDF5 is not a good format for saving data. It is extremely slow. Read the following post, if you are interested. https://cyrille.rossant.net/moving-away-hdf5/by Jaewon - Questions and Answers
Use two tracking types, 'touchtarget' and '~touchtarget', in one eyejoytrack(). https://monkeylogic.nimh.nih.gov/docs_RuntimeFunctions.html#eyejoytrackby Jaewon - Questions and Answers
Raw-signal means no calibration. Choose one of the other options. The signal never entered the central target window, because you did not set the origin. Once you press the space bar, it will come to the center of your screen. If you are not sure where the subject is looking at, just use your best guess. If the result is not satisfactory, try again multiple times. If the subject is not traiby Jaewon - Questions and Answers
The scene framework is neither difficult nor advanced. It is just different. There is no need to start from the runtime v1. 1. The CRC TaskObject is inherited from the original ML with the blurry edge. Use the CircleGraphic adapter of the scene framework, if you want a sharp circumference. 2. I don't get what the point of your question is. If you want to present only one stimulus, justby Jaewon - Questions and Answers
First of all, rewinding is necessary only when you play the same sound again in the same trial. So you don't need to call rewind_sound() in your first and third examples. In the first example, you hear beeps twice (or three times) because the length of your stimulus is 50 ms but you played only the ~20 ms of it in the first run. When you toggle it on again in the second (and third) run, tby Jaewon - Questions and Answers
I am not sure how you ran the calibration. Especially I don't understand these two parts: "instead of presenting the central target, I firstly moved the offset to the right" and "I then re-calibrate with less negative values in X (let's say -2)". They do not make any sense to me. Please read the manual and follow the instructions there. https://monkeylogic.nimh.nih.by Jaewon - Questions and Answers
You have two options. One is to make two adapter chains that each have a DragAndDrop adapter with a different destination and combine them with the AllContinue adapter. https://monkeylogic.nimh.nih.gov/docs_RuntimeFunctions.html#AllContinue Another option is to make your own adapter that does exactly what you want. Making the DragAndDrop work for multiple locations is actually not that difficby Jaewon - Questions and Answers
See If you have multiple NIMH ML copies in the MATLAB path. Sometimes MATLAB fails to delete old versions completely, when NIMH ML is installed and updated with the MATLAB installer. In that case, some functions may be called from the old versions. See the following link for how to check the app installation path. https://monkeylogic.nimh.nih.gov/docs_GettingStarted.html#SoftwareInstallationby Jaewon - Questions and Answers
Try something simple like this. dashboard(1,sprintf('Trial %d',TrialRecord.CurrentTrialNumber)); idle(1000);by Jaewon - Questions and Answers
Eye #1 and Touch are both emulated by mouse. This limits the testing capability during the simulation only to the case that eye fixation and touch are required on the same position on the screen. If you need to test eye and touch at different locations, you can temporally change Eye #1 to Eye #2 or Joysticks which can be controlled by keyboard independently. https://monkeylogic.nimh.nih.gov/dby Jaewon - Questions and Answers
That is exactly why you should not rely on a hack to do important things. I tried to make NIMH ML flexible enough so that you don't need to hack anything. Your problem is not in reading out a value from StimulusInfo but in inserting one into it. The variable, StimulusInfo, is still there and provides extra information about TaskObjects. However, NIMH ML does not recognize a custom entry lby Jaewon - Questions and Answers
See the example in the "task\runtime v2\21 custom alpha blending" directory.by Jaewon - Questions and Answers
I don't understand who you are referring as "they" any more, but it does not make any sense that the number of coherence dots can change from frame to frame. How can the coherence level be 100%, if not all dots move in the same direction? I don't know why a mask is necessary, but I guess you are not aware that an object created earlier is shown above the others in MGL. Theby Jaewon - Questions and Answers
Your camera does not seem to fall into the "webcam" category. It has a way high spec and price for a webcam and, more importantly, the manufacturer's SDK should be used to control it, instead of Microsoft's common API. Some manufacturers provide a driver so that their cameras can be controlled via webcam APIs, but I guess it is not the case for your camera. As a solo prograby Jaewon - Questions and Answers
I don't know what you are expecting, but you just said everything you need to do. Evaluate your animal's performance, determine the reward duration and put it in the goodmonkey function.by Jaewon - Questions and Answers
I don't know what mask pic you are talking about. This is a problem of the code you wrote, so you should show your code at least.by Jaewon - Questions and Answers
You should read more of their papers. The density of dots is simply a parameter calculated from the number of dots. The CRT display that they initially used flashed 6670 dots/second, so they just divided it by their aperture size (400 degrees²). That is how they got the famous 16.7 dots/degree²/sec (= 6670 / 400). In their modern version of the stimuli implemented on a PC, the total number of dotby Jaewon - Questions and Answers
* Changes in NIMH MonkeyLogic 2 (Jul 21, 2020) + The DragAndDrop adapter now supports multiple drop locations. - Bug fix in XAudio sound playback * Changes in NIMH MonkeyLogic 2 (Jul 7, 2020) + MGL can change the z-order of graphic objects with the "zorder" property. An object with a zero z-order is shown in the back and the one with a higher z-order is presenteby Jaewon - News
RandomDotMotion is the Shadlen version of random dots. Please try it and see if it suits. https://monkeylogic.nimh.nih.gov/docs_RuntimeFunctions.html#RandomDotMotionby Jaewon - Questions and Answers
As some new important features, such as low latency audio in WASAPI shared mode, are available only in Windows 10, support for Window 7 will be dropped in future releases soon. This accompanies the adoption of the latest compiler, so some old MATLAB versions that do not support the new compiling tool will be excluded as well. Please consider these changes in your plan for new setups and let me knby Jaewon - News
Please read the manual. toggleobject() is a timing script function. It is not a function that you can run on the MATLAB command window. https://monkeylogic.nimh.nih.gov/docs_CreatingTask.html#RuntimeVersion1 https://monkeylogic.nimh.nih.gov/docs_GettingStarted.html#StartingNIMHMonkeyLogicby Jaewon - Questions and Answers
Yes, there is. Use eyejoytrack(). Use the "function" signal type. https://monkeylogic.nimh.nih.gov/docs_RuntimeFunctions.html#eyejoytrack Since the "broken" state should be maintained, use 'holdfunc' and make the function return 1 if the IR barrier is broken and 0 otherwise. Your function needs to access get_analog_data(), so place the function at the end of yourby Jaewon - Questions and Answers
Put the following line at the beginning of your timing script. If you don't have mglreverserendering in your mgl directory, please update your NIMH ML. mglreverserendering(true); % draw most recently created objects on top of othersby Jaewon - Questions and Answers
You should explain what the stimulus you want to present looks like, not how you coded it. Your approach may not be appropriate for the stimulus, but, without knowing what you try to achieve by doing so, it is difficult to suggest an alternative or a workaround.by Jaewon - Questions and Answers