The VisionWorks StimulusMaker Module

StimulusMaker is a software module designed to generate visual stimuli on VisionWorks systems. The module is built in to virtually all of our software products and can also be purchased as part of a development system in the form of a C++ library. In either case it provides a menu-interface to display a variety of complex stimuli, (2) a library of C-functions to permit a programmer to integrate this module into VisionWorks applications and (3) an executable program for displaying sequences of objects specified from the menu system. All stimuli are highly optimized for rapid generation. While some applications may call for specialized programming, no programming is required to use StimulusMaker.

The Menu-driven Display System:

A large and growing number of stimuli may be selected from our hierarchically organized system of menus. The top level contains parameters that apply across all lower menus, and may apply to multiple stimulus objects. Lower level menus specify the objects, object spatial properties, object color and temporal properties, temporal grouping of objects, trigger pulses, etc.

There are two types of objects.

1. Patches A patch is always either a rectangular area or a circular area with a peak and trough luminance. Most may be multiplied by a spatial gaussian. The most important property of a patch is the type of stimulus. Currently, StimulusMaker provides the following patch types:


RDS Spatial-Freq gratings

Rotating Vanes

Differences of Gaussians

Filtered Noise, static & dynamic

Imported Images

Derivatives of Gaussians


Moving Random Dots

Random Dot Stereograms

Flow fields


2.          Forms A simple form has no spatial window, typically has only a foreground color (speroids are an exception), and does not have a spatial gaussian window. Currently the following form stimuli exist:







Moving Edges



Multiple Polygons



Each StimulusMaker object has many parameters and options that are set from the menu. All stimulus menus start with reasonable default values. The user makes desired selections and changes, and then presses one key to display the object(s). A central concept of StimulusMaker is the temporal interval--a segment of time occupied by one or more objects. When the user presses the F1 function key from the main menu, a sub-menu appears that allows the user to preview a specified temporal interview or a sequence of intervals. The complete menu configuration may be saved in a parameter file, for easy retrieval in the future.

 A partial list of the more general options follows:

Color Mode

may be normal rgb, linearized rgb, or 15-bit linearized monochrome


may be specified as percent gun, CIE or cone contrast units

Viewing Eye

Left, right, or both (may be used for dichoptic or stereo presentations), or as a convenient way to combine objects when viewed without stereo glasses


rectangular (may be oriented) or circular, or circular with sector gap. Can read in image file to function as "cookie-cutter" spatial window

Spatial Gaussian

set sigma for vertical and horizontal separately, may be oriented

Spatial Multiplication

multiply any object by a sine wave for contrast modulation or import a function to multiply

Temporal Window

linear ramp, gaussian, various forms of flicker, combinations of window and flicker, or a user-specified data file of frame-by-frame contrast values


Grating motion (linear or sinusoidal) within spatial window, point-to-point linear or sinusoidal translation (including disparity) of any object, translation (including disparity) of an object under trackball control, or a user-specified data file of frame-by-frame position values

Depth Map

Any object may serve as a depth (disparity) map to modulate the noise stimulus, thereby producing an RDS

Some of the highlights and stimulus-specific features are:

sub-pixel positional accuracy

anti-aliased circles and rectangles

multi-component gratings (each with own velocity, orientation, etc.) Linear or sinusoidal motion

imported PCX images with adjustable contrast that may be used as basis for determining contrast sensitivity

multiple objects on screen simultaneously

static and dynamic noise, binary or gaussian, low/high/band-pass, band reject, oriented

external trigger, accurate to a scan-line within a frame

multiple polygons that can be rotated and scaled

random-dot stereograms may be dynamic, partly correlated, or specified with sub-pixel disparity resolution; other objects may serve as depth maps

moving random dots with specifiable coherence, direction, density, number, lifetime

the position of a selected object may be reported in real time (requires a D/A board).

optional remote interface for complete control slaved to an external computer

AM Gratings

Landolt C