For most stimulus event categories, Psykinematix provides more control at their onset, offset, and rendering stages as well as when they either emit or wait for trigger signals to or from external devices for synchronization purposes:

Onset
Offset
Rendering
Trigger

Such additional controls are available when a small switch appears in the upper right-hand corner of the properties panel as depicted below:

Clicking on the switch opens a properties palette that specifies which sets of controls are being used for the current event.

Onset

The "Onset" control specifies which action to take at the onset of the event.

It is possible to clear the background with a specified color and transparency value (alpha channel). It is also possible to keep the visual stimulus as a fixation during inter-trial intervals (particularly useful in dichoptic presentation). Note that both options are mutually exclusive. One can also specify whether the standard fixation mark should be displayed for the stimulus.

Offset

The "Offset" control indicates which action triggers the offset of the event.

  

The offset can be contingent upon its duration (default behavior), and/or its inputs (e.g., subject response) or both. When the offset occurs with an input, the device (e.g., "Mouse" or "Keyboard") and its event (click of a "Button" or "Key" stroke) must be specified. It can also be stipulated that the offset only be triggered when the device event has been released. Here is a list of supported devices and input events (if supported by the device):

  • Mouse: left, right, middle or any button
  • Keyboard: any keystroke or several ones separated by a comma
  • Joystick/Gamepad: Button 1 to 16
  • Button Box: left, right, top, bottom, middle or any button, key 1 to 8 or any key, TTL, TA (Trial Alarm)

Rendering

The "Render" control specifies which action to take during the presentation of the event, in particular the OpenGL functions to be applied to the stimuli (see the official OpenGL documentation to learn more about them) in terms of:

  • how they should be blended with the background which can solve occlusion problems, as well as create transparency or special effects which can be computed more efficiently by the graphics hardware (see the Tips section to learn about the various techniques for creating aperture).

  • the rotation (expressed in deg) to be applied on the fly through hardware-acceleration,

  • the spatial scaling (zoom in for factor larger than 1, zoom out for factor less than 1) to be applied on the fly through hardware-acceleration.

For texture-based stimuli (Grating, Checkerboard and Custom kinds), a Texture Mode specifies how the texture is applied on the destination surface or current background. Four texture functions are available (see 'Texture Mapping' chapter in OpenGL documentation):

  • 'GL_REPLACE' function to replace the destination surface or background with the stimulus texture,

  • 'GL_MODULATE' function to modulate the background with the stimulus through a multiply operation,

  • 'GL_DECAL' function to mix the stimulus with the background based on the stimulus opacity,

  • 'GL_BLEND' function to mix the stimulus with the background based on the stimulus intensity.

For all kinds of stimuli, a Blending Mode is available to indicate how the stimulus is blended with the background by specifying the source and destination factors (see 'Blending Mapping' chapter in OpenGL documentation). Several pre-defined blending modes are available to perform common operations on visual stimuli:

  • the 'Replace' mode to replace the background with the stimulus,

  • the 'Add' mode to add the stimulus luminance to the background luminance,

  • the 'Transparent' mode to use the Alpha component of the stimulus as an opacity mask (ie: 1-Alpha specifies the transparency) to select, on a per-pixel basis, the stimulus where its opacity is set to 1 and the background where its opacity is set to 0. This mode is summarized in the following operation:

    result = stimulus mask x stimulus + (1 - stimulus mask) x background
  • This is the recommended mode when specifying an opacity channel ('za' output variable) in Custom Stimulus.

  • the 'Masked' mode to use the Alpha component of the background as an opacity mask. This mode is similar to the 'Transparent' mode described above, except that the mask is provided by the Alpha component of the background. This mode is summarized in the following operation:

    result = background mask x stimulus + (1 - background mask) x background

A custom mode is also available to specify any other blending function supported by OpenGL; however this should be only used by OpenGL experts, or those who have thoroughly read the OpenGL documentation.

Trigger

The "Trigger" control specifies whether the event emits an output trigger at its onset. The external device is selected using the pop-up menu attached to the "Trigger" checkbox. The selectable devices are only those that have been enabled in the I/O Devices preferences.

Supported external devices:

  • Any RS232 serial device (via a USB-to-Serial adapter): a trigger signal can be sent to the serial device using the simple "AT" command along with any data related to your stimuli or experimental conditions. Note that each 'write' command is sent sequentially to the serial device, except when the 'concatenate write data' button is checked to indicate that all data should be concatenated into one single write command with a comma separating each data. Available data types are: 'bool', 'int', 'float', 'text' and 'string'. The expression in the value field is first evaluated (except for 'string'), then converted to the specified type, before being sent as an ASCII string via the write command.

    In addition of the 'write' command, there is a 'TTL' command available to output a TTL pulse using the DTR (pin 4) or RTS (pin 7) output lines of a DB9 serial port. The associated value is the duration of the pulse in term of video frames.

  • NetStation is the acquisition software of the dense-array electroencephalography (EEG) system from Electrical Geodesics, Inc. (EGI). The experimental control computer (the one running Psykinematix) typically sends events describing the stimuli conditions to the NetStation computer via a TCP/IP (internet connection). For more information, see Chapter 7 ("Experiment Control") and Appendix G ("Experimental Control Protocol") in the EGI GES Hardware Technical Manual.

Events that send information to an external device (such as NetStation) by specifying variables with values, can use the [SELECTION] system-defined variable to indicate the value of the currently selected stimulus when it is chosen from a list, as it is the case for "Multimedia" stimuli chosen through the selection mode. Note that the value is converted to the indicated type (e.g., a stimulus name should be a 'TEXT' or 'string' type).

Note that for Dynamic Composing (except for the fused mode), a trigger may be emitted either at the onset of the dynamic event or at the onset of the composing events if these are set to do so, allowing for example a trigger to be sent at every cycle in the 'Temporal Frequency' mode, or for each polarity change in the 'Contrast Reversal' mode.

© 2006-2012 KyberVision Consulting, R&D. All rights reserved.

OpenGL is a registered trademark of Silicon Graphics, Inc. NetStation and the names of EGI products referenced herein are either trademarks and/or service marks or registered trademarks and/or service marks of Electrical Geodesics, Inc. (EGI).

UA-20124358-1