Welcome
Guest
, you are in:
<root>
Elements
•
Login
EventIDE Wiki
Navigation
¶
Main Page
Random Page
Create a new Page
All Pages
Categories
Navigation Paths
Administration
File Management
Create Account
Search the wiki
Back
Experiment
Modified on 2018/07/13 04:47
by
Administrator
Categorized as
Design objects
,
Main concepts
<div style="float: right; left-margin:20px; width:500px; overflow:hidden; height:auto; padding:0px;background: #fafafa; background: -webkit-gradient(linear, left top, left bottom, from(#fbfbfb), to(#fafafa));background: -moz-linear-gradient(top, #fbfbfb, #fafafa);border: 1px dashed #ddd;box-shadow: 0 0 0 3px #fff, 0 0 0 5px #ddd, 0 0 0 10px #fff, 0 0 2px 10px #eee; margin-right: 10px; margin-left: 10px;margin-bottom:10px"> {s:Conceptual Object Panel | title=Experiment | category=Design object | role=One to unite them all | icon=[image|Event Icon|{UP(Experiment)}Experiment-Icon.png] } == Properties == {| |- ! Name ! Description ! Constraints ! Type ! On<br/>runtime<br/>change |- | colspan="5" bgcolor="#AADDDDD" | Performance |- | Screen Cloning Interval | Defines | {s:atDesign} | Int32 | |- | Screen Cloning Mode | Defines | {s:atDesign} | 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. | {s:atDesign} | 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. | {s:atDesign} | 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. | {s:atNormal} | 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. | {s:atDesign} | 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. | {s:atDesign} | 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. | {s:atDesign} | Thread.. | |- | Status Screen Thread | Defines whether the status screen runs in an isolated processor thread. | {s:atDesign} | 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. | {s:atDesign} | Boolean | |- | colspan="5" bgcolor="#AADDDDD" | 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: '<Image Width='800' Height='600' Source='{Binding ScreenClone}/>' | {s:atNormal} | 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. | {s:atStatus} | 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 | {s:atRuntimeAction} | 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. | {s:atNormal} | Int32 | |- | Current Events | Returns a name the currently active events in all layers of the experiment hierarchy. | {s:atNormal} | String | |- | Frame CountDown | Returns a number of milliseconds before the start of the next monitor frame. | {s:atNormal} | clTime | |- | colspan="5" bgcolor="#AADDDDD" | Execution Control |- | Stop Key | Defines a keyboard button for aborting the experiment run. The default stop button is Escape. | {s:atDesign} | Keys | |- | Pause Key | Defines a keyboard button for pausing the experiment run. The default pause button is Pause. | {s:atDesign} | 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. | {s:atRuntimeAction} | Boolean | |- | Is Paused | Defines whether the experiment run is paused. Note that pausing does not stop the core timer in the experiment. | {s:atNormal} | Boolean | |- | Show Onset Info | Defines whether the onset information, e.g. the display resolution, is shown on the stimulus screen. | {s:atDesign} | 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 | {s:atDesign} | enPref.. | |- | colspan="5" bgcolor="#AADDDDD" | 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. | {s:atRuntimeAction} | 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. | {s:atDesign} | 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. | {s:atDesign} | enVisu.. | |- | colspan="5" bgcolor="#AADDDDD" | 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. | {s:atNormal} | 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. | {s:atDesign} | 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. | {s:atNormal} | String | |- | Experiment Filename | Return a full filename of the current experiment. | {s:atStatus} | String | |- | colspan="5" bgcolor="#AADDDDD" | Positional Input |- | Mouse Device | Defines which pointer device provides system mouse input at runtime | {s:atDesign} | enPoin.. | |- | Mouse Offset | Defines the linear offset for the mouse positions at runtime | {s:atNormal} | 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. | {s:atNormal} | clPoint | |- | colspan="5" bgcolor="#AADDDDD" | Timing Statistics |- | Measured Duration | Returns the total duration of the experiment (ms) after the experiment is completed. | {s:atStatus} | 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. | {s:atStatus} | 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. | {s:atStatus} | clTime | |- | colspan="5" bgcolor="#AADDDDD" | 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. | {s:atNormal} | Boolean | |- |} == == </div> <!--*****************************************************************************************************************************************************************************--> <!--*****************************************************************************************************************************************************************************--><!--*****************************************************************************************************************************************************************************--><!--*****************************************************************************************************************************************************************************--><!--*****************************************************************************************************************************************************************************--><!--*****************************************************************************************************************************************************************************--><!--*****************************************************************************************************************************************************************************--><!--*****************************************************************************************************************************************************************************--><!--*****************************************************************************************************************************************************************************--><!--*****************************************************************************************************************************************************************************--><!--*****************************************************************************************************************************************************************************--><!--*****************************************************************************************************************************************************************************--><!--*****************************************************************************************************************************************************************************--><!--*****************************************************************************************************************************************************************************--> {TOC} == 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|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 [events|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: {| | [imageleft|HQ ribbon tab and experiment properties|{UP(Experiment)}HQpanel-sm.png|{UP(Events)HQpanel.png] |}
Meta Keywords:
Meta Description:
Change Comment:
ScrewTurn Wiki
version 5.2.0.8. Some of the icons created by
FamFamFam
.