Global variables

0 votes
27 views
asked Apr 12, 2016 by anonymous
In our tasks we have a number of variables that we wish to be global, and then effectively use as proxy variables several times in different contexts. Often this is a variable that we adjust in the course of training a monkey, and when we change it, we want it to change in all of the different contexts where it is used. An example would be the size of the ROI for touch around a stimulus - we make it gradually smaller to make the monkey touch more accurately. Another example is a stimulus size, which we will use for multiple different stimuli in multiple events.

At the moment we declare this variable in the header, and then use it to drive proxy variables in different events. But because we cannot use the same proxy variable in more than one event, we are obliged to continually add new proxy variables and set them to the same values as the original ones. This can‘t be the most efficient way of doing things. So is there a way of using a single variable declared at the start to drive multiple different things? Why can’t we reuse the same proxy variable in different events? For example, I’d like to be able to set StimSize==200 at the start, and then use it to drive multiple different renderers in multiple different events. Perhaps I have misunderstood the idea of the proxy variables, but I’d welcome some clarification.

1 Answer

0 votes
answered Apr 12, 2016 by Maria Molodova (8,320 points)
selected Apr 13, 2016 by qandaadmin
 
Best answer

A proxy variable linked to multiple object is absolutely possible, it’s actually a core feature. There are two special types of proxy variables, “proxy array” and “proxy hub”, that are specifically designed for indexed one-to-many accesses.

Adding the multi proxy is easy - instead of selecting one object and adding a proxy on its property, select multiple objects as events or elements (have to be of the same type). The multiple selection is done with pressed Shift key. Just above the property panel you can find the current selection list (normally this list contains only one currently selected object). If you need to select objects in different event, pin them (orange marker next to selected item) in the list before leaving the current event. Once multiple objects are in the list, select the target property and press the plus button- the program offers a choice of “array” or “hub” proxy. Later you can change the linked objects for particular “multi” proxy in the Proxy panel (remove objects, sort and add new one by drag and drop)

This wiki article covers slightly more details on the proxy variables: http://wiki.okazolab.com/Proxy%20Variables.ashx

Welcome to EventIDE Q&A forum where you can ask questions about EventIDE software and receive answers from other members of the community

FAQ questions

Installation and License


Coding


Eye-tracking


EEG Analysis


Visual Stimuli


Runtime and Data Collection


Hardware

...