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:
• Gratings |
• RDS Spatial-Freq gratings |
• Rotating Vanes |
• Differences of Gaussians |
• Filtered Noise, static & dynamic |
• Imported Images |
• Derivatives of Gaussians |
• Checker-board |
• 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:
• Dots |
• Lines |
• Annuli |
• Text |
• Circles |
• Spheroids |
• Moving Edges |
• Angles |
• Rectangles |
• 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 |
• Color |
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 |
• Window |
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 |
• Motion |
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