Hi,
I’ve been keeping a list of questions as I’ve been building a few of my current experiments in MWorks over the past week or so. Here are the ones I haven’t been able to answer on my own yet. This is written as if it’s an email to Chris, but if anyone else has answers I’ll be very grateful! I’m still working on them, so I may delete some of these:
Selection variables:
-What is a selection object? I get the idea of selection variables, and I’ve read that Blocks and Tasks can do the same things, are they also considered selection objects?
-In the calibration routine you (Chris) wrote for me, you used a “next selection” action before using the variable for the first time, and it doesn’t have a problem with hitting the end too early. I am having that problem in a different program. It seems like the a selection variable starts at the first choice, and the first call of “next selection” moves it to the second. The only difference I can think of is that I’m using a task system whereas you used a Trial component.
-Do I ever need to accept a selection? Is it bad practice to just ignore the accept/reject concept if I’m not going to ever have “do-overs?”
-It seems that “advance on accept” and “autoreset” don’t play nice.
-“sequential” doesn’t seem to work as a choice for the “selection” property, which is odd considering it is the default. I’m assuming I’m doing something wrong, but I haven’t misspelled it or anything.
General MWorks questions
-Is angle interpreted as degrees or radians? It seems like it’s different in different places. For example, “rotation” in rectangle stimulus seems to be interpreted in degrees, while trigonometric functions are interpreted in radians.
-What exactly does stop and start do? It doesn’t seem to re-initialize variables (e.g. reset selection variables).
Can I dequeue all stimuli at once?
I/O Devices
-If Eye Cal is an I/O device, why doesn’t it need to be started?
-Fake monkey error:
WARNING: Scheduled task (/Users/mwdev/Documents/mworks_buildbot/slave/build_all/build/plugins/core/.dicarlolab_mwcore_plugins/FakeMonkeyPlugin/FakeMonkey.cpp:137: eye movement channel) not on time (off by 5228; task = 0x7fdfa7ef2b70; priority=95)
Specific functionality
-Are there min() and max() functions? Are there any functions that aren’t listed in the knowledge base? Can we create our own functions? Is this the sort of thing that the Matlab/Python bridges are intended for?
-Can variables be defined as expressions that don’t need to be manually assigned? Again, maybe this is something for Matlab/Python.
-Can I get the max screen size values?
-How do I know what task system state a program is currently in? Is this available somewhere in the client?
Data Analysis:
-I’m not sure what I need to do to analyze data files. I’ve downloaded the /mworks/tools/matlab directory, but when I try to build the mex files in Matlab I’m getting errors. For example:
mex getEvents.cpp
Building with ‘Xcode Clang++’.
Error using mex
In file included from /Users/Evan/Documents/MWorks/mworks/tools/matlab/MEXFile/getEvents.cpp:9:
In file included from /Users/Evan/Documents/MWorks/mworks/tools/matlab/MEXFile/getEvents.h:12:
/Users/Evan/Documents/MWorks/mworks/tools/matlab/MEXFile/MEXInputs.h:16:10: fatal error: ‘boost/filesystem/path.hpp’ file
not found
#include <boost/filesystem/path.hpp>
^
1 error generated.
Is there an instructional document that I’m missing for how to get these files installed?