Page History: EventIDE
Compare Page Revisions
Page Revision: 2016/01/24 20:18
Introduction
EventIDE is a visual programming platform for designing and running psychological experiments
experiments. The platform is the most feature-rich and combines a friendly visual designer with professional programming tools. You can check the complete feature list of EventIDE
here and also watch live demos of some features on
our youtube channel Main features ¶
EventIDE belongs to the so-called stimulus presentation software tools. When compared to its competitors, EventIDE excels greatly in complete visualization of design process, experiment scenario and flow logic. Creating an experiment in EventIDE is somewhat similar to creating a slide presentation, except that a user has much more control on flow logic, interaction with hardware and, importantly, runtime adjustments of the designed content.
The core feature of EventIDE is a revolutionary easy programming paradigm. The paradigm allows virtually any programming language can be used for scripting in experiments. There are no dedicated routines and libraries related to the experiment design and, correspondingly, no necessity to learn them. Writing code is required only for the customization of the experiment logic, which usually takes just a few lines. For example, implementation of the classic Stroop task requires only 14 lines of code in EventIDE. Yet, when it is needed, the power of professional programming languages is fully available in EventIDE.
The modular architecture of EventIDE allows easy integration of user extensions directly to the program core.
System Background
EventIDE is built over the Microsoft .NET - a modern software framework developed by Microsoft that runs primarily on Microsoft Windows. Presently, .NET is the most popular framework for desktop application development on Windows platforms. The .NET framework provides such modern features as interoperability, Common Language Runtime engine, language independence, common Type System, simplified deployment, security and portability. All these feature not only engaged in the EventIDE application itself, but also available for users who code experiments in EventIDE.
Modular Application Architecture
EventIDE has a modular architecture with a basement on the immutable core (~20% of the present application). The rest of the program is composed of pluggable extension modules, called AddIns. The AddIns contains
elements, which are design objects that carry various functions, such as response registration, randomization, etc. AddIns can be created and added both by the developer team (e.g. the Base Elements AddIn) and users. Users can develop new elements or replace the base elements with their own versions.
Extensions
- Psycho-physical methods extension. This extension provide the most common psycho-physical mathematical and statistical methods used in design and analysis of behavioural experiments.
- Eye-tracking extensions. These extensions are intended for communication between EventIDE software and various models of eye-trackers (Tobii, EyeLink, SMI, Arington).
- Body-tracking extension. This extension provides 3D real time body- and head-tracking with Kinect.
- Signal processing extension. This extension provides communication between EventIDE software and various EEG hardware. This extension brings a number of real-time signal processing algorithms adapted to an arbitrary signal analysis at the background of experiments.
- Neurofeedback extension. This extension provides communication between EventIDE software and EEG hardware. This extension predicts the phase of certain rhythms of the brain in real-time and present stimuli at the certain phase of the EEG signal, for example, at the moment of maximal activity of certain zone of the cortex.
- Data acquisition extension. This extension provides support for the data acquisition computer cards (National Instruments and Measurement Computing).
- MIDI extension. This extension is capable of reading the input of various MIDI devices connected to a PC. MIDI is a commonly-accepted protocol for communication with digital musical instruments, like MIDI piano keyboards. The MIDI Input element can record a instrumental music played in real-time as a sequence of notes.
User Extensions
A modular architecture of the platform allows in-core integration of user extensions for experimental methods and custom hardware.
See also
Feature List