Welcome Guest, you are in: Login

EventIDE Wiki

RSSRSS

Navigation




Search the wiki


PoweredBy

Page History: Experiment

Compare Page Revisions



« Older Revision - Back to Page History - Newer Revision »


Page Revision: 2012/05/14 23:00



Description

Experiment is a root object in EventIDE logic. Experiment represents a container for scenario structure, stimulus materials and user code. Experiment has its own properties that act as global design settings, like the screen resolution or default background color. Experiment and all its content is stored in a single file with ".eve" extension.

Creating an experiment

Creating a new experiment in EventIDE is similar to creating a new document in a text editor: just select New command in the File menu. A new experiment always contains one layer with a single event. Then an user can build an scenario, load stimulus material, write a code and, finally, run the experiment.

Accessing experiment properties

HQ, or headquarters, is a control center for any experiment designed with EventIDE. HQ collects and shows the summary information about snippets and elements used across the experiment. HQ also provides an access to the properties of the current experiment. HQ is represented in GUI as a top event layer (with no events) and can be always accessed through the layers panel and the navigation bar.

Snapshots

Snapshot 1

Snapshot 1

Snapshot 2

Snapshot 2


Practical Use

When a new experiment is opened there are two main buttons in the top right corner: HQ and Experiment. If HQ is clicked, all experiment layers and experiment properties are displayed. When the Experiment button is clicked the main Events screen is opened (Figure 1) and this is in fact the default view upon creating a new experiment. If one particular event is selected (by clicking on the Event image box in the center of the top panel), the Event's elements window will open on the left, any images connected to this event will display in the center, and the property list will display on the right (Figure 1).

Image

Figure 1: First screen presented to the user upon opening a new experiment in EventIDE.

HQ level is the uppermost level outlining the structure of the experiment. Figure 2 shows the HQ window display.

A representation of all the layers of the experiment (squares in the top part Figure 2) A list of all the elements used in the particular experiment (left side Figure 2) A sheet for experiment notes (in the central part Figure 2) Researchers can use this sheet as a lab book, is a good tool to order lab notes. Code Snippets for the experiment (lower part Figure 2). At this Experiment level the snippets are going to get activated whenever the experiment is run. Specific properties of the experiment (Right panel Figure 2)

Image

Figure 2: Elements displayed when ROOT option is selected.

We will focus on these experiment properties that can be modified at HQ level. They are grouped in six categories as can be seen in Figure 3: Display Settings, Runtime, Control, Timing Control and Statistics.

Image

Figure 3: Categories of the properties which can be modified at ROOT level.

When Display Settings is expanded (by clicking the arrow - Figure 4) it is possible to modify various settings:

  1. Grid step changes the size of the visual editing grid.
  2. Display resolution contains information about the size of the display (in pixels), the physical diaganal size of the monitor (in cms) and the distance from the display of the participant. This information allows EventIDE to accurately calculate visual degrees.
  3. Frame Rate: Can be adjusted to mach the frame rate of experimental screen in order to synchronize presentation of visual information and eye tracker register.
  4. Color depth: This refers to the number of bits per pixel. The most typical mode is 32bits per pixel which allows 8bits per RGB value plus 8bits for the alpha channel that controls transparency. Rembember that 8bits allow 2^8=256 RGB values (from 0-255) in standard 24bits bitmaps.
  5. 10bit Color: If you require more RGB values for better graphics (color and luminance) resolution you can use a 10bit graphic card (e.g. ATI FirePro) which will allow 2^10=1024 RGB values per pixel.

Image

Figure 4: Expanded display settings.

The options relating to Runtime, Control and Timing Control are for adjusting the priorities of different functionalities within an experiment. Definitions of this properties are given online in the software, also in banquets can be seen when can they be used on RUNTIME (that is when the experiment is running, so only can be accessed trough the snippets code) DESIGNTIME (when the particular trial is finished).

Defined in Runtime section (Figure 5) there are: Stop Running, Snapshot (Bitmap containing a copy of the experimental screen at each moment of time), Radar (Coordinates of the current positional input on the screen), Radar Tail (Array of coordinates of the recent current positional input on the screen), Radar OK (True if radar coordinates on screen are valid) and Child Index (Activates Child event with a given index).

In Control section (Figure 5) options available are: Preload for resources (Make running faster but consumes more memory), Interrupt key code (in which could be defined the key that will control the interruption of the running experiment at any moment), Default background (which will be the colour adopted by every event in the experimental sequence), Experiment priority, Operator priority and Title (where experiment's name could be defined).

For Timing control is related with the synchronization between the experimental sequence and the monitor refresh rate. Three values can be set here: Ahead Lock (ms) (Time interval that automatically shortens the requested durations of every event in order to get best alignment with the refresh rate of the monitor. Recommended value is such of one frame.), VSynchforevents (True if it is wanted activation for all visual events synchronized with the monitor refresh rate), System real time priority (If this is set to true, the EventIDE process will have real time priority in windows while running the experiment).

Image

Figure 5: Extended runtime, control and timing control.

Last settings option in ROOT level is Statistics (Figure 6). Here we can define Actual duration (ms) (It reports the duration of the last run), Experiment Report String variable is proposed to be used in the code snippets for data logging in the experiment. We have to parameterize it before using in the code, it has to be selected and add a parameter in this property: Report in this example. Might be exported to a text or excel table from main menu), Elapsed time (In ms, is the time passed from the activation of event to), Preparation time (It is the time needed to redraw events and their children), Drawing Time, Running interval (Last interval between two on running calls), Snippets execution times.

Image

Figure 6: Extended statistics.

Properties

Experiment properties define global aspects of experimental design and runs, like the display settings and performance optimization. Their values are specific for each experiment and stored in the experiment file. In this way they are different from the EventIDE settings which are specific for each computer and can be shared among different experiments.

Experiment Properties

NameDescriptionAttributesValue Type
Control
Stop KeyDefines the keyboard button which press aborts the experiment at runtime. By default, it is Escape button.DList
BackgroundDefines the base background color of all visual scenes in the experiment. For example, if the transparent background is used in events, the base background color will be used for the back of the screen.DclColor
Perfomance
Ahead LockDefines duration of a locking time interval, in ms, just before switching between two events. During this time all activities, like snippet executions, are blocked to provide highest timing accuracy. The default reasonable value of this property, 10ms, is equal to the duration of one vertical frame on a monitor with refresh rate of 100hz.DUInt64
Vertical SynchDefines if activation of events with a visual content is synchronized with a start of the monitor vertical refresh. If the value is true, the visual output will be smoother and flicker free but event durations may be longer (never shorter) than the requested. The property value does not affect timing of non-visual events.DBoolean
Realtime PriorityDefines if the EventIDE process requests the highest, realtime priority for better timing accuracy while running the experiment. The recommended value is true for the multi-core computers and false for the single-core computers.DBoolean
Status Screen PriorityDefines a running priority of the Status Screen at runtime. Higher priority makes status screen's updates more frequent but may reduce timing accuracy in the experiment.DList
Resources PreloadDefines whether the certain library resources, like images, will be pre-loaded into computer memory on each experiment run. If true, the runtime visual rendering can speeds up by the cost of higher memory consumption.DBoolean
Non-exclusive InputDefines whether input devices (e.g. keyboard or mouse) work in the non-exclusive mode and can be shared with other programs. If the value is false, the faster exclusive mode is used.DBoolean
Display Settings
Current SettingsShows the requested display settings: the screen resolution, monitor distance and width, color depth and refresh rate for an experiment run. Notice that the refresh rate is used only for full-screen mode can be automatically adjusted if the requested value is not supported by hardware.D, Read-onlystring
Modify SettingsBrings a dialog window where all display settings can be changed.Design-time action
Deep ColorDefines if the experiment is run in the Deep Color graphics mode that allows 10bits per color channel coding (as opposed to the 8-bit standard). The Deep Color mode is slower and it has to be supported by a graphic card. The mode can be utilized only by designated elements that can produce the deep color graphics. Other visual content in experiment is not affected by enabled Deep Color mode except rendering with alpha (transparency) channel which can be disrupted. Use this mode only in experiments with deep color visual scenes.DBoolean
Runtime
Child IndexIndex of the active child event on its event layer. Setting this property at the runtime will cause immediate activation of the children event with the corresponded index regardless of the predefined event flow.R*Int32
RadarThe most recent point in screen coordinates that is collected from the positional input provided by mouse. The property value is updated on every OnRunning cycle. Writing to this property at runtime will causes moving a mouse cursor to the provided position.RclPoint
Radar OKIndicates if the coordinates exposed by the Radar property are inside of the current screen.RBoolean
AbortSetting this property to true in snippets causes a stop of the current experiment run- the same as after pressing of the stop button.R, Runtime actionBoolean
ReportProvides an access to the integrated data collection mechanism. Writing to this properly at runtime automatically causes adding of the written string into a new line of a data file (only one writing per single snippet execution is allowed). The resulting data file can be saved or exported after each experiment run.RString
Snapshot ImageImage that contains the most recent snapshot of the main experiment screen. Can be used on the status screen or be saved into a file.R, Read-onlyImageSource
Visual Editor
Grid StepDefines a grid step in the visual editor for events.DclSize
Statistics
Actual DurationActual duration of the experiment measured after its run.D, Read-OnlyUInt64
Snippets TimesExecution times of experiment snippets in ms. Use the values to determine how fast the snippets are.R, Read-OnlyUInt64[]
Elapsed TimeThe time passed since starts of the experiment run in ms. You can use this property as a global time counter in snippets.R, Read-OnlyUInt64
Preparation TimeThe time that the experiment needs for offline preparation of all visual scenes in events.R, Read-OnlyUInt64
Drawing TimeThe time that the experiment needs to send its background visual scene to the video memory.R, Read-OnlyUInt64
Running IntervalThe measured time interval between two last OnRunning cycles. If there is no work that the experiment does while running, this time interval is close to zero.R, Read-OnlyUInt64

ScrewTurn Wiki version 5.2.0.8. Some of the icons created by FamFamFam.