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: 2013/10/06 03:28



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

NameDescriptionConstraints Value TypeUpon Runtime Change
EXECUTION CONTROL
Stop KeyDefines a keyboard button for aborting the experiment run. The default stop button is Escape. System.Windows.Forms.Keys
Pause KeyDefines a keyboard button for pausing the experiment run. The default pause button is Pause. System.Windows.Forms.Keys
Abort RunRuntime 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. BooleanIrrevocably aborts the experiment run
Is PausedDefines whether the experiment run is paused. Note that pausing does not stop the core timer in the experiment. BooleanPauses or resumes the experiment run
DISPLAY SETTINGS
Display ModeOpens 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.
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
Touchscreen ModeDefines 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.Boolean
Deep ColorDefines if the experiment is run in the Deep Color graphics mode, which allows 10bits per color channel (in contrast to the conventional 8-bit standard). The Deep Color mode is slower than 8bits modes 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, e.g. 10bit Canvas element. The rest of visual content in the experiment is not affected by this property, save for possible disrupting of the alpha channel. Use this mode only in experiments with deep color scenes.Boolean
Visual CompositionDefines 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. Option List
DATA COLLECTION
ReportThe property provides an interface to Report- a default runtime mechanism for data storage 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 delimitersDefines 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 FileDefines 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
PERFORMANCE
Exclusive InputDefines 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 CachingDefines 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 LockDefines 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.System.UInt64
VSyncefines 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 PriorityDefines 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 PriorityDefines 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. Option List
Proxy CachingDefines 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 CloneReturns an auto-updating ImageSource .NET object that contains a clone of the runtime presentation screen. The clone image renders only events that have the Screen Cloning property set to true (it's false by default). The ImageSource object can be used for data binding on the Status Screen, e.g. the XAML image element, FORMATTER ERROR (Snippet Not Found)System.Windows.Media.ImageSource
ScreenShot 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 screnshot 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.FORMATTER ERROR (Snippet Not Found) String
Mouse RadarReturns a screen point that represents the most recent system mouse coordinate. The property value is refreshed on every Control Loop step. Writing to the Radar property moves the mouse cursor into a new position. clPoint
Subevent IndexDefines an index of the currently active event on the root layer. You can use this property for monitoring the event flow. This property also allows to control the event flow manually, bypassing the flow routes. If you assign a new event index, the corresponding event will be immediately activated on the root layer.System.Int32





NameDescriptionAttributesValue TypeProxy Reflex
Control
Abort RunDefines the keyboard button which press aborts the experiment at runtime. By default, it is Escape button.DList
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.