Forum
Register Calendar Latest Topics
 
 
 


Reply
  Author   Comment  
Sheena

Junior Member
Registered:
Posts: 12
Reply with quote  #1 
There are some problems when I use NIMH ML2.

version: NIMH MonkeyLogic 2 (May 25, 2017)


1: failure to switch blocks online

For example, start with block 1 (include condition 1 and 2) then----
(Esc) Paused ---- (B) Select a new block ---- Click a new block (e.g. block 2 with condition 3 and 4) ---- Done ---- back to task

the status become:
Block: 2
Cond: 1 or 2 (correct conditions should be 3 or 4)
Even though it displayed the right block (2), in fact it still run the previous block (1).


2: 2-D spatial transformation calibration

It seems no problem with the arrangement (relative positions) of the calibrated dots. But there is a shift for the whole arrangement.
After calibration and start task, I need to use hotkey C to correct it.


3. Is there any function to clear all the objects on the display?
    (currently I use 'toggleobject' to turn off each object)


4. Is it possible to switch tasks online? 
I try to put different timing files in one condition file. Each timing file contain several unique variables. 




Is there any one know how to deal with such problems?
Thanks a lot.

0
ryklin

Administrator
Registered:
Posts: 250
Reply with quote  #2 
I am working on the 2-D spatial transformation now and will be happy to look into this and get back to you if find anything useful or have questions. Earlier, I had the impression that the 'shift' existed because the graph was not rescaling itself. However, if you state that it's necessary to press the 'C" hotkey, I'll look further into it.
0
Sheena

Junior Member
Registered:
Posts: 12
Reply with quote  #3 
Thank you for your reply~


0
Jaewon

Administrator
Registered:
Posts: 380
Reply with quote  #4 
Hi Sheena,

Sorry for your trouble. To fix the problem 1, open mltrialrecord.m and add the following line to Line 274.

----- Beginning of the code, mltrialrecord.m, Line 269-276 -----
            if block_changed
                obj.CurrentTrialWithinBlock = 0;
                obj.CurrentBlockCount = obj.CurrentBlockCount + 1;
                obj.BlockOrder(end+1) = obj.CurrentBlock;
                obj.CompletedTrialsInThisBlock = 0;
                obj.ConditionsThisBlock = [];
            end
            obj.BlockChange = false;
----- End of the code -----

I can't reproduce the problem 2.

toggleobject is the function to use to clear the objects.

toggleobject(1:length(TaskObject),'status','off');

For the problem 4, I guess you can group conditions into separate blocks and put different timing files to each block. Then, switch the block when you want to change the task, as you did in Problem 1.
0
Sheena

Junior Member
Registered:
Posts: 12
Reply with quote  #5 
Thank you Jaewon. It works!
0
Jaewon

Administrator
Registered:
Posts: 380
Reply with quote  #6 
Hi Sheena,

I finally replicated your problem 2. For the 2-D spatial transformation, I tried to use the old ML code as it is, but the coordinate translation part of it was not working as I expected. I rewrote the code and will upload on Monday after some testing. Thank you again for letting me know!
0
Previous Topic | Next Topic
Print
Reply

Quick Navigation:

Easily create a Forum Website with Website Toolbox.