Experiment

Modified on 2018/07/13 04:47 by Administrator — Categorized as: Design objects, Main concepts

Event Icon Experiment
Info
Category: Design object
Role: One to unite them all

Properties

NameDescription                              ConstraintsTypeOn
runtime
change
Performance
Screen Cloning Interval        Defines                Int32         
Screen Cloning Mode        Defines                 enScre..         
Exclusive Input        Defines whether the system input devices (e.g. keyboard or mouse) are accessed in the exclusive mode. If true, their input latencies can be shorter but all input is blocked for other programs.                 Boolean         
Library Caching        Defines whether some library materials, such as images, are cached in the memory prior to the experiment run. If true, visual rendering can significantly speed up by the cost of higher memory consumption.                Boolean         
Ahead Lock        Defines the duration of locking time interval, in ms, before onset of any event. During the lock interval all activities, like snippet calls, are blocked for sake of better timing accuracy of the event onset. The default value is 5ms, which is roughly equal to 1/2 of one monitor frame at 100Hz. The property can be modified at runtime.                 UInt64         
VSync        Defines whether the onset of visual events is synchronized with a start of the monitor's refresh pass. If the value is true, the visual changes are smooth and flicker free. However, the actual event durations may be longer (never shorter) than the requested duration. This property does not affect timing of the non-visual events.                Boolean         
Realtime Priority        Defines whether the program requests the 'realtime' priority at runtime, for sake of best timing accuracy. The recommended value is true for the multi-core computers and false for the single-core computers.                Boolean         
Status Screen Priority        Defines a running priority of the Status Screen at runtime. Higher priority makes the status screen’s updates more frequent but may reduce overall timing accuracy in the experiment.                Thread..         
Status Screen Thread        Defines whether the status screen runs in an isolated processor thread.                Boolean         
Proxy Caching        Defines whether the proxy variables are cached inside of code snippets. When true (default mode), changes to the proxy variables are applied only after the exit from a snippet. If false, the changes are applied immediately, as they are met in snippet code. Disabling the proxy caching may lead to more frequent proxy updates and, consequently, to a significant growth of snippets' execution times. The caching mode does not affect re-rendering after visual changes, because it is always performed after a snippet call.                Boolean         
Runtime Status
Screen Clone        Returns an auto-updating ImageSource object that contains a clone of the stimulus screen. The clone image is updated only with events that have the Screen Cloning property set to true (it is false by default). The ImageSource object can be used for data binding on the Status Screen, e.g. the XAML image element: '        ImageS..         
Elapsed Time        The time passed since the start of the experiment in ms. This property can be used as a global timer in all code snippets across the experiment.                clTime         
Save Screenshot Now        Whenever you want to make a screenshot of the current stimulus screen, assign a string containing a full file name to this property in snippets. The screenshot will be saved into the target file after the end of a snippet call. The format of the image file is defined by the extension of the file name: .bmp, .png or .jpg                String         
Subevent Index        Returns an index of the currently active event on the root layer. The property can be used for monitoring the event flow. This property also allows to control the event flow manually, bypassing the flow routes: when a new event index is assigned to the property in snippets, the corresponding event will be immediately activated on the root layer.                Int32         
Current Events        Returns a name the currently active events in all layers of the experiment hierarchy.                String         
Frame CountDown        Returns a number of milliseconds before the start of the next monitor frame.                clTime         
Execution Control
Stop Key        Defines a keyboard button for aborting the experiment run. The default stop button is Escape.                Keys         
Pause Key        Defines a keyboard button for pausing the experiment run. The default pause button is Pause.                Keys         
Abort Run Now        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.                Boolean         
Is Paused        Defines whether the experiment run is paused. Note that pausing does not stop the core timer in the experiment.                Boolean         
Show Onset Info        Defines whether the onset information, e.g. the display resolution, is shown on the stimulus screen.                Boolean         
Preferable Run Mode        Defines the preferable run mode for the given experiment. The mode selection is applied on loading the experiment or on running it in the player mode                enPref..         
Display Settings
Set 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) that automate pixel-visual degrees conversion on the current experimental setup.                String         
Default Background        Defines the default background color of all visual events in the experiment. For example, if an event has the transparent background by design, the default color will be used to fill the background at runtime.                stColor         
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.                enVisu..         
Data Collection
Report        The property provides a runtime interface to Report- a default mechanism for data collection in EventIDE. When you write a string value to the Report properly in code snippets, the value is added as a new line into Report. The collected strings can be viewed after an experiment is finished and also exported to into a text or Excel file.                 String         
Report's column delimiters        Defines what characters are regarded as column delimiters, when Report is exported into a formatted file, e.g. Excel. You can defines several characters, typing them in a sequence. By default, semicolon, comma and tab characters are regarded as delimiters.                String         
Auto Export File        Defines the name of a text file, into which the collected Report data is automatically exported on the end of experiment run. The auto export is done only, when the property value is not empty. The file name can be defined in snippets at runtime.                String         
Experiment Filename        Return a full filename of the current experiment.                String         
Positional Input
Mouse Device        Defines which pointer device provides system mouse input at runtime                enPoin..         
Mouse Offset        Defines the linear offset for the mouse positions at runtime                clPoint         
Radar Point         Returns a screen point that represents the most recent system mouse coordinates. The property value is refreshed every Control Loop cycle. Writing to the property moves the mouse cursor into a new position.                 clPoint         
Timing Statistics
Measured Duration        Returns the total duration of the experiment (ms) after the experiment is completed.                clTime         
Snippet Call Times        Returns the statistics of executions times (ms) for the root snippets which are always shown in the top row in the snippet panel. Statistics for each snippet can be accessed by snippet's name, e.g.: 'clTime Time=(clTime) SnippetTimes'After Onset';' The snippet mush contain code to be included into the list.                Dictio..         
Control Loop Delta        Returns continuously re-measured time delta (ms) between two consecutive step of the experiment's control loop. If there are no computations or snippet calls in the experiment the interval can be as low as 1ms.                clTime         
Profiling
Is Profiling        Set this property to 'true'/'false' in snippets, in order to enable/disable profiler in the currently running experiment. The profiling results can be monitored in the debug window (in the debug run) or in the proflier viewer, after the experiment is ended.                Boolean         




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 in multiple studies, it might be a good idea to create your own reusable experiment template. Start with designing a base experiment that will be easy to customize later. The template 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.

Modifying the experiment properties

EventIDE GUI has has the dedicated HQ ribbon tab that shows all code in the current experiment and its property. As you navigate into the HQ tab, you can access and edit the experiment properties in the property panel on the right on the main window:
HQ ribbon tab and experiment properties

HQ ribbon tab and experiment properties