Page History: Experiment
Compare Page Revisions
Page Revision: 2013/10/05 11:07
Description
Experiment is a root object in the EventIDE logic that accommodates an experiment scenario, stimulus materials and user code. The experiment object has a set of editable
properties that represent global settings, such as a screen resolution or a default background color. The experiment object and accommodated content are saved together in a single file recognizable by ".eve" extension.
Creating a new experiment
Creating a new experiment in EventIDE resembles creating a new document in other programs. Open the application menu and press 'New' item. Then you can chose whether you want to create a blank experiment or pick up one of templates in the Template gallery. A blank experiment contains one layer with a single
event. Then you should build a scenario, load stimulus materials, write a code and, finally, run a designed task with participants. When you open one of experiment templates, you often need only to customize it for your task.
Reusing custom templates
When you repeatedly use the same paradigm over many studies, it mifght be a good idea to create your own reusable experiment template. Start with designing a base experiment that is easy to customize. It can be incomplete and preliminary. Then go the Abstract ribbon tab and mark the experiment as template and optionally define its category, e.g. My Templates. Finally, save the experiment in any location under the main program folder (the Demos subfolder is recommended). The experiment template will now appear in the Template gallery in the Application menu.
Editing the experiment properties
EventIDE has a dedicated ribbon tab that shows a summary of the currently loaded experiment. The tab is call
HQ Panel. When you open it, you can access and edit the experiment properties in the property grid on the right. The experiment properties are explained in the next section.
Experiment Properties
Name | Description | Constraints | Value Type | Upon Runtime Change |
---|
EXECUTION CONTROL |
Stop Key | Defines a keyboard button for aborting the experiment run. The default stop button is Escape. | | System.Windows.Forms.Keys |
Pause Key | Defines a keyboard button for pausing the experiment run. The default pause button is Pause. | | System.Windows.Forms.Keys |
Abort Run | Runtime commands that aborts the current experiment run at any moment, as the command is called in snippets. The command result is the same as pressing of the stop button, but the command can be invoked in code. | | System.Boolean | | Irrevocably aborts the experiment run |
Is Paused | Defines whether the experiment run is paused. Note that pausing does not stop the core timer in the experiment. | | Boolean | Pauses or resumes the experiment run |
DISPLAY SETTINGS |
Display Mode | Opens a window where you can define a display mode (pixel resolution, color depth and refresh mode) of the stimulus display. In that window you can also enter physical measures (display size and distance) for the automatic pixel-visual degrees conversion on the current experimental setup. | |
Default Background | Defines the default background color of all visual events in the experiment.
For example, if events have the transparent background, the base background color will be used to fill the back of the screen. | | stColor |
Touchscreen Mode | Defines whether mouse coordinates are collected only while the left mouse button is pressed. This mode is handy when participants are requested to maintain pressing on a touchscreen, while moving a finger. The mode allows the ROI elements to work with a touchscreen as with an eye-tracker. | | System.Boolean | |
Deep Color | Defines if the experiment is run in the Deep Color graphics mode that allows 10bits per color channel (in contrast to the conventional 8-bit standard). The Deep Color mode is slower and must be supported by a graphic card. The mode can be utilized only by special visual elements that can produce the deep color renderings. The rest of visual content in the experiment is not affected by this property, save for possible disrupting in renderings with the alpha channel. Use this mode only in experiments with deep color scenes. | System.Boolean |
Visual Composition | Defines whether off-screen surfaces of visual events are composed with CPU (software) or with GPU (hardware). The hardware composition mode is recommended for complex visual scenes, whereas the software mode is general safer and can be fastest for simple scenes. If you opt for speed, try both modes and check the composition and rendering times of events. | | enVisualCompositionMode |
Name | Description | Attributes | Value Type | Proxy Reflex |
---|
Control |
Abort Run | Defines the keyboard button which press aborts the experiment at runtime. By default, it is Escape button. | D | List |
Stop Key | Defines the keyboard button which press aborts the experiment at runtime. By default, it is Escape button. | D | List |
Background | Defines 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. | D | clColor |
Perfomance |
Ahead Lock | Defines 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. | D | UInt64 |
Vertical Synch | Defines 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. | D | Boolean |
Realtime Priority | Defines 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. | D | Boolean |
Status Screen Priority | Defines 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. | D | List |
Resources Preload | Defines 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. | D | Boolean |
Non-exclusive Input | Defines 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. | D | Boolean |
Display Settings |
Current Settings | Shows 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-only | string |
Modify Settings | Brings a dialog window where all display settings can be changed. | Design-time action |
Deep Color | Defines 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. | D | Boolean |
Runtime |
Child Index | Index 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 |
Radar | The 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. | R | clPoint |
Radar OK | Indicates if the coordinates exposed by the Radar property are inside of the current screen. | R | Boolean |
Abort | Setting 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 action | Boolean |
Report | Provides 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. | R | String |
Snapshot Image | Image 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-only | ImageSource |
Visual Editor |
Grid Step | Defines a grid step in the visual editor for events. | D | clSize |
Statistics |
Actual Duration | Actual duration of the experiment measured after its run. | D, Read-Only | UInt64 |
Snippets Times | Execution times of experiment snippets in ms. Use the values to determine how fast the snippets are. | R, Read-Only | UInt64[] |
Elapsed Time | The time passed since starts of the experiment run in ms. You can use this property as a global time counter in snippets. | R, Read-Only | UInt64 |
Preparation Time | The time that the experiment needs for offline preparation of all visual scenes in events. | R, Read-Only | UInt64 |
Drawing Time | The time that the experiment needs to send its background visual scene to the video memory. | R, Read-Only | UInt64 |
Running Interval | The 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-Only | UInt64 |