Setting Up Stimulus Presentation
In this article:
Supported Stimuli and Material Access
EventIDE supports a wide variety of stimuli in experiments, including images, videos, sounds, 3D models, text, vector graphics, formatted documents, and real-time generated stimuli like Gabor patches or checkerboards. These stimuli can either be preloaded into the Material Library or generated dynamically during experiment runtime using parameters and code.
Many visual and auditory elements support stimulus lists, which can contain multiple items loaded from the Material Library. These lists allow flexible stimulus switching at runtime, either by item index or name. To access the currently selected stimulus at runtime, you can bind a proxy variable to the element's Selected Index or Selected Item property.
The tables below summarizes all available stimulus presentation elements in EventIDE, grouped by category. It includes their AddIn source, stimulus type, material loading capability, supported file types, and a brief description of each.
Visual Stimuli
Element Name | Material Source | Stimulus Type | Supported File Types | AddIn | Description |
Renderer | Material Library | Images, vector shapes | PNG, JPEG, BMP, XAML | Base Elements | Displays selected visual items from the Material Library in a scalable, transformable viewport with optional image processing. |
Text | Design, runtime input | Text | — | Base Elements | Displays text blocks for instructions and feedback with support for dynamic content updates at runtime. |
Video Player | Material Library | Video | AVI, MP4, WMV | Base Elements | Plays video clips from the Material Library with playback control and rendering time audits. |
Video Sequencer DX | Material Library | Video | AVI, MP4, WMV | Base Elements | Renders video as a sequence of bitmaps, enabling precise frame control and variable playback speed. |
DirectX2D Canvas | Stimulus Generator | Runtime drawing routines | — | Base Elements | Uses DirectX2D to draw visuals on the event surface at runtime. Not compatible with overlay or GUI running modes. |
GDI Canvas | Stimulus Generator | Runtime drawing routines | — | Base Elements | Uses GDI+ API for drawing custom vector graphics on a rectangular canvas during runtime. |
Pixel Aperture | Stimulus Generator | Screen pixel data | — | Base Elements | Reads and writes pixel values within a defined screen aperture, useful for custom stimulus generation or feedback. |
LSL Video | Live stream | Real-time video stream | — | LSL AddIn | Renders video frames from an incoming LSL stream. Useful for real-time visual feedback. |
PupilLab Camera Renderer | Live stream | Eye-tracker scene camera | — | PupilLabs Eye-tracking AddIn | Displays live video from PupilLabs cameras and tracks fiducial markers via Pupil Capture plug-in. |
Tobii Glasses 3 Camera Viewer | Live stream | Eye-tracker scene camera | — | Tobii Pro Glasses 3 AddIn | Mirrors the Tobii Glasses 3 scene camera feed to a stimulus screen viewport for live visualization. |
Audio Stimuli
Element Name | Material Source | Stimulus Type | Supported File Types | AddIn | Description |
Audio Player | Material Library | Audio | MP3, MIDI, WAVE | Base Elements | Plays various audio formats from the Material Library with playback controls and onset synchronization. |
Wave Player | Material Library | Audio | WAVE | Base Elements | Provides high-accuracy playback for Wave files using multiple audio APIs. Recommended for modern sound cards. |
Tone Generator | Stimulus Generator | Pure tones | — | Base Elements | Generates sine, square, and other waveforms in real time with precise control over frequency and duration. |
Brazen Head | Runtime text input | Speech synthesis | — | Base Elements | Converts text to speech at runtime for verbal instructions or feedback. |
Audio Signal Streamer | Stimulus Generator | Continuous audio signal | — | Signal Processing AddIn | Streams a selected signal as audio output in real time, suitable for signal playback or modulation experiments. |
User Interface Stimuli
Element Name | Material Source | Stimulus Type | Supported File Types | AddIn | Description |
GUI Panel | XAML (design or runtime) | Interactive GUI | XAML | Base Elements | Hosts custom layouts with buttons, sliders, checkboxes, etc. Supports variable binding and user interaction. |
Document Viewer | Material Library | Formatted documents | DOC, PDF, XPS | Base Elements | Shows scrollable documents for display of complex instructions or consent forms. |
Rich Text Editor | Material Library | Editable rich text | RTF | Base Elements | Allows formatting and editing of RTF documents during runtime. |
Web Browser | Live web pages | Live web content | HTML, online content | Web Tools AddIn | Embeds a live web browser on the stimulus screen. Can integrate with eye-tracking tools for gaze/mouse analysis. |
Stimulus Generators
Element Name | Material Source | Stimulus Type | Supported File Types | AddIn | Description |
Gabor Grating | Stimulus Generator | Gabor or Linear grating patches | — | Stimulus Generators | Generates Gabor or linear grating patterns using a parameterized model, adapted from Elliot Freeman’s work. |
Random Dot Motion | Stimulus Generator | Animated RDM patches | — | Stimulus Generators | Produces animated random dot motion stimuli with high flexibility over motion and coherence parameters. |
Checkerboard | Stimulus Generator | Regular checkerboard patch | — | Stimulus Generators | Creates checkerboard stimuli with controllable patch size, frequency, and luminance. |
Random Noise Patch | Stimulus Generator | Random noise images | — | Stimulus Generators | Generates pixel-based noise with random luminance or color, based on Marsaglia & Zaman's algorithm. |
Circular Grating | Stimulus Generator | Circular grating patch | — | Stimulus Generators | Renders circular sinusoidal grating patterns with adjustable phase, orientation, and spatial frequency. |
Linear Grating | Stimulus Generator | Linear grating patch | — | Stimulus Generators | Produces classic linear grating patterns defined by orientation, contrast, and frequency. |
Circular Checkerboard | Stimulus Generator | Circular checkerboard | — | Stimulus Generators | Generates radial checkerboard patches useful in visual field stimulation. |
DLP Moving Bar | Stimulus Generator | DLP bar animation (1440 Hz) | — | DLP Stimuli | Creates high-frequency RGB-coded animation sequences for DLP projectors, for use in specialized vision research. |
3D Graphics Stimuli
Element Name | Material Source | Stimulus Type | Supported File Types | AddIn | Description |
DX11 3D Viewport | Material Library | 3D models and scenes | .obj, .fbx, etc. | Base Elements | Renders high-performance 3D scenes with DirectX 11, allowing real-time adjustment of objects and camera. |
3D Viewport | Material Library | 3D model sets | .obj, .3ds, etc. | Base Elements | Displays 3D models with camera control and optional animation. |
XAML 3D Viewport | Material Library | Dynamic 3D scenes | .xaml (3D) | Base Elements | Allows dynamic 3D scene updates using XAML. Ideal for animations and interactive 3D with data binding. |
Stereo 3D Viewport | Material Library | Stereoscopic 3D scenes | .obj, .xaml (3D), etc. | Base Elements | Renders 3D content optimized for stereoscopic display via shutter or polarized glasses. |
Cambridge Research Stimuli
Element Name | Material Source | Stimulus Type | Supported File Types | AddIn | Description |
Mono++ Linear Grating | Stimulus Generator | Linear gratings | — | Cambridge Research | Renders high-precision 14-bit grayscale linear gratings for ViSaGe and Bit# hardware. |
Mono++ Gabor Grating | Stimulus Generator | Gabor gratings | — | Cambridge Research | Generates 14-bit grayscale Gabor gratings using a parameterized model; requires ViSaGe or Bit# system. |
Mono++ Circular Grating | Stimulus Generator | Circular gratings | — | Cambridge Research | Renders 14-bit grayscale circular gratings with parameter control; optimized for ViSaGe hardware. |
Mono++ Pixel Aperture | Runtime (in-code) | Pixel-level access | — | Cambridge Research | Enables reading/writing 14-bit grayscale pixel values within a selected screen aperture. |
VR Stimuli
Element Name | Material Source | Stimulus Type | Supported File Types | AddIn | Description |
Oculus Viewport | Material Library | 3D visual stimuli for VR | .obj, .xaml3D, others | Oculus Rift | Renders 3D scenes into Oculus Rift headset displays; supports runtime camera pose control and stereoscopic rendering. |
Unity Stimuli
Element Name | Material Source | Stimulus Type | Supported File Types | AddIn | Description |
Unity Host | Standalone Unity App | Embedded Unity scene | .exe (Unity app) | Unity AddIn | Hosts and runs a standalone Unity application within the EventIDE stimulus screen. |
Unity Remote Scene | Live Unity Scene | Interactive visual stimuli | – | Unity AddIn | Clones a live Unity scene into EventIDE; supports optional keyboard and mouse input forwarding for tight integration. |
