Documentation‎ > ‎

Runtime GUI

The Runtime GUI, or "NEDE Control Center", provides a simplified interface to the experimenter, allowing her to select the stimuli and experimental parameters, train the subject, and begin an experimental session with the click of a button. Here we outline the options available to the user from the runtime GUI.



Top Buttons: Session Type

These buttons change the options viewed on the rest of the GUI. "Normal" means you will be running a standard experiment. "WaypointRoute" means you will be using text file to specify stimuli and subject route (no data will be recorded - this is typically for demonstration purposes). "Replay" means you will be replaying a previously recorded session.

Bottom Buttons: Action

These buttons will navigate away from the Runtime GUI. "Start Session" will cue up the task prompts specified in the GUI. Continuing through all prompts will start the experimental session. "Start NOW" will skip these prompts and begin the session immediately, which is often desirable once the subject is familiar with the task. "Calibrate Eye" loads the Calibration scene, which visualizes the subject's eye position in real time. "Browse Objects" loads the ObjectBrowser scene, which can be used to display stimuli front-and-center to familiarize the subject with the task. "Exit Experiment" will close the Runtime GUI and return to the desktop. Note that this will not work in the Unity editor, only with a built, "stand-alone" experiment.

Normal Session Options

Experiment Options

  • These options handle high-level experimental parameters. The "experiment name" will serve as the beginning of any saved data files. It is also the name of the "params" (.ini) configuration file that can be saved or loaded to keep the parameters of the experiment consistent between subjects. Clicking "Save" here will save all the options in the Runtime GUI to the specified file (in the "NedeConfig" folder). Clicking "Load" will read in the .ini file and set the Runtime GUI options to match them.
  • Session Parameters allows you to set the subject and session numbers, used in the data filename. When "Record EDF File" is active, the GUI will record all experimental data to a file called "<ExperimentName>-<Subject>-<Session>.edf" .
  • Task Prompts can specify a text file of task prompts that will be displayed to the subject just before the session begins. Be sure to place the text file in the "NedeCofig" folder before typing the file name (with extension) into the text box and clicking "Load".

Category Options

  • These options handle the stimuli that will be displayed to the subject. For each category, click "Dist" to specify that category as distractors, "Targ" to specify it as targets, or "None" to specify that the category should not be displayed to the subject. 
  • The edit box to the right of "None" specifies the relative prevalence of this category (for example, to make schooners twice as prevalent as laptops, you can set schooners' value to 2 and laptops' value to 1). The static text to the right normalizes so that the numbers across all categories sum to 1, giving you the fraction of objects that will be from that category. "Target Prevalence", the fraction of objects that will be from a target category, is similarly calculated automatically.
  • Click the "-" to the left of a category to remove it from the list. To add a new category, type the name into the box at the bottom and click "+ New Category:".

Environment Options

  • These options specify properties of the environment that will be displayed to the subject. "Level" selects the scene/environment that the subject will be placed in. Click the "-" to the left of a level to remove it from the list. To add a new level, type the name into the box at the bottom and click "+ New Level:".
  • "Presentation Type" allows you to set the presence of a secondary task. If "0: Stationary" is selected, the subject will be alone in the environment. If "1: Follow" is selected, a leading car will be navigated in front of the subject, and the subject will be required to press a button whenever this car puts on its brakes. In this case, "Distance to Leader" specifies how far ahead of the subject the leading car should be. The min and max "Brake Delay" values limit the time period between braking events.
  • "Object Size" controls the size of the objects in the environment. The longest dimension of every object, as measured by ObjectInfo.js, will be adjusted to match this value.
  • Sync parameters control syncing between the display and recording systems. If "Use Photodiode" is selected, a square (of the size specified in "Photodiode size") in the top right of the screen will alternate between black and white about once every second. A photodiode can be attached to this part of the screen to drive a "sync pulse" for input to the EyeLink or EEG system.

Behavior Options

  • These options specify properties of the behavior requested of the subject. "Response Type" specifies what the subject is asked to do (at this time, these don't change the experiment itself - the option is just logged in the data file).
  • "Use Joystick" indicates whether the subject can navigate using the joystick. If no, the subject will be navigated automatically at the specified speed until the specified number of objects are seen. If yes, the moving and turning speeds can be specified, as well as the time at which the experiment will end.

EyeLink Options

  • These options relate to the subject's eye position. The horizontal and vertical offset and gain can be used to change the calibration between the position recorded by EyeLink and that reported by Unity. These values can also be changed with sliders using the CalibrateEye button. 

Waypoint Options

"WaypointRoute" is typically used for demos. It is included as an example of an alternate Runtime GUI environment. The scripting used in this section of LevelLoader.js could serve as an example for experimenters developing different types of experiments that could not be covered by the standard options.

  • The experiment name and subject are specified as before, but here the filename will be loaded from <Experiment Name>-<subject>-waypoints.txt. This could be used to show a traveling salesman problem (TSP) route between objects determined after analyzing a subject's EEG and eye position data. 

Replay Options

Replays can be used to read in a subject's data file(s) and view the session(s) again. This option can also be used to record object bounds more accurately by playing the session in slow motion and giving Unity more time to record object bounds more accurately.

  • The experiment name, subject, and session are specified as before, but here the filename will be loaded instead of saved.
  • If "Record Txt File" is selected, the object boundaries will be re-calculated and recorded during the replay. The file will be saved as "<ExperimentName>-<Subject>-<Session>-post.asc".
  • If "Gui Is On" is selected, the positions of eyes and objects are displayed during the replay. The subject's eye position (as measured with FixUpdates) will be superimposed on the environment as a white cross. The screen boundaries of objects (including a 50-pixel expansion on all sides) will be displayed as gray boxes. When the eye position is inside an object's box, the box will turn red.
  • The "Keep Calibration" option, if selected, will apply the calibration parameters in the text file to the eye position data. If not selected, "Populate from file" can be used to read in the values from the data file. The experimenter can then change these values manually.