Using the NESTE
The NESTE, or NEMO Experiment Script Testing Environment, allows you to test an experiment script in a self contained application that models the behavior of the Experiment Server and Experiment Client. Instead of modifying a script, uploading it to the server with the Admin Client, starting an experiment with the Experiment Client and the Experiment Server, and running an experiment to test a script, you can simply use this single application. It's a real time saver.
Once you've edited a script and you decide you want to test it, you will need to alter a configuration file called Sandbox.properties. This file contains various properties (key/value pairs) that tell the NESTE what to do. A Sandbox.properties file might look like this:
python.home = jython2.1
nemo.client.sandbox.TestTask.DATA_TYPE_FILE = SandboxConfig/datatypes.xml
nemo.client.sandbox.Sandbox.OUT_DIR = SandboxOut
nemo.client.sandbox.Sandbox.TASK_BASE_DIR = SandboxConfig/resources
nemo.client.sandbox.Sandbox.SCRIPT_NAME = SandboxConfig/MyScriptName.py
nemo.client.sandbox.swt.SandboxGUI.AUTO_CONFIG = false
nemo.client.sandbox.Sandbox.DEVICE_CONFIG = SandboxConfig/defaults.ndc
nemo.client.sandbox.swt.SandboxGUI.START_IN_WINDOWS = false
The meaning of each property above can be found in the table below. Note: all filenames are relative to the installation folder unless specified with absolute paths.
| Property | Value |
|---|---|
python.home |
The folder location of the jython installation (which should be properly set by the installer) |
nemo.client.sandbox.TestTask.DATA_TYPE_FILE |
The filename of the datatypes file, which describes the fields for logging and their associated type (int, string, etc) |
nemo.client.sandbox.Sandbox.OUT_DIR |
The folder output files should be stored |
nemo.client.sandbox.Sandbox.TASK_BASE_DIR |
A folder used by the NESTE to load resource files -- if your task uses extra files, they should be stored here |
nemo.client.sandbox.Sandbox.SCRIPT_NAME |
The filename of the script you want to test |
nemo.client.sandbox.swt.SandboxGUI.AUTO_CONFIG |
When set to "true" automatically loads the device configuratino defaults specified by the property nemo.client.sandbox.Sandbox.DEVICE_CONFIG |
nemo.client.sandbox.Sandbox.DEVICE_CONFIG |
The filename of the device defaults |
nemo.client.sandbox.swt.SandboxGUI.START_IN_WINDOWS |
When set to "true" starts the client views in free floating windows instead of tabs |
Different scripts can be tested by modifying the properties in the configuration file to point to the appropriate file locations. When the configuration file is set that way you want it, then you can run the NESTE and test the script.
Starting Up
When NESTE starts, you will see a screen like the following:

Your first and only option at this point is to load the NESTE config file. You can accomplish this by selecting File -> Load A directory chooser will open. You should select the folder that contains the Sandbox.properties file you edited.
![]() |
After a moment, the Configure button will become enabled. If you have the auto configuratino property set to true in your properties file, then the devices will be configured by NESTE. Otherwise, the Device Configuratino Wizard will open.
The Device Configuration Wizard
Pressing the Configure button will open the Device Configuration Wizard.
![]() |
| The Device Configuration Wizard |
You can use the Import button to load previously exported device values (there is an export option at the end of the wizard).
![]() |
| Import Settings |
Alternatively, you can press the Next button to configure each device manually. Below are several examples of device configuration screens.
The Display device is used to display output to the screen. Within NESTE, the Display device does not need to be configured. Hence, there is nothing to do on this screen except press Next.
![]() |
| Display Configuration |
The Keyboard device handles input from a keyboard or button box type device. If the proper drivers are installed, a keyboard device could communicate through serial or parallel ports. The standard keyboard is always present.
![]() |
| Keyboard Configuration |
The Scanner device controls communication to an MRI scanner. With the proper scanner setup, this device can send a start command to the scanner to synchronize scanning with the start of the experiment. Within NESTE it is wise to set Test mode? to yes.
![]() |
| Scanner Configuration |
The Movie device is a specialty device used to play movies and sound. Depening on the task, the device can look for the movie files locally (which will require a directory to be entered) or the device can expect the script to send the movies over the network.
![]() |
| Movie Configuration |
When you are finished manually configuring each device you can export your settings for later use by pressing the Export button on the last screen of the wizard.
![]() |
| Export Configuration |
When exporting the device data, enter a name for the export file and locate a folder to store the config file by hitting the Browse button.
![]() |
| Export Configuration |
When you're finished configuring devices and exporting the defaults for later use, press Finish to submit the settings.
After a moment the Initialize button will become enabled.
Initialize
The Initialize button on the toolbar prepares devices for use during the experiment (this may include loading necessary files or opening connections to hardware).
![]() |
| Initialize NESTE |
Once the devices have initialized, the Start button will become enabled.
Start the Experiment
Clicking the Start button will begin the experiment.
![]() |
| Start Experiment |
The experiment will be displayed in the section titled Client Views. The stimuli displayed in this section are the same as the stimuli that will be shown to a subject.
![]() |
| Experiment Display - Tab View |
You can detach each Client View tab by right-clicking in the section heading with the label Client Views. A menu will appear upon a right-click. On that menu exists an item labeled Show in windows. Selecting thie item will open each client tab in its own window. This is particularly useful when you are running a script with multiple participants, so you can see each display at the same time.
![]() |
| Experiment Display - Windows View |
When the experiment completes, the data will be stored as XML in the folder defined by the OUT_DIR property. Standard output from the task stored in a separate file in the same directory.