The most common type of stimuli processed by WM models are sequences of images. During simulation, these are typically represented as 3D arrays of floating point values, usually in the range [0..1] or [-1..1], where the lower and upper values indicate black and white, respectively.

A stimulus is specified by the parameters in a stimulus (.stm) file, which is a short text file. The main parameter in the file is stim_type, for example:

stim_type sine    # Stimulus type - a drifting sinusoidal grating

specifies that the stimulus will be a classical patch of drifting sinusoidal grating.

In addition to the many pre-defined, or standard, stimulus types such as “sine” (see the Stimulus link on, any arbitrary stimulus can be presented to WM models by using:

stim_type frameset   # Stimulus type - a user-defined set of images

This stimulus type allows the user to construct their own images and present them in a desired sequence.

Each stimulus type has a set of specific parameters that define the details of that stimulus, for example, a sinewave grating has a spatial frequency parameter, sf, and a contrast parameter, contrast. These stimulus-specific parameters are described in the subsection “Specific stimulus types”.

There are also a set of more general parameters that are intended to apply across many or all stimulus types, regardless of the particular image pattern represented. These parameters have names that typically begin with the prefix “stim_” and are described in the section “General stimulus parameters” below.

One important aspect of using stimuli with a model involves specifying how much time will be simulated, and thus the duration of the stimulus. This is in fact determined by the model, and not the stimulus. Specifically, the amount of time to be simulated (in units of seconds) is given by multiplying tn times tscale (these are specified in the model parameter file). This sets the exact amount of time to simulate, and thus the stimulus duration. Stimulus parameters cannot cause the model to run longer, and only the amount of stimulus that fits within the time limit will have been used. In the same way, stimulus parameters that imply a larger pattern than the spatial extent specified by the model (parameters xn and yn) do not change the spatial extent of the simulation. Any part of the stimulus is ignored that extends in space or time beyond the limits set by the model file parameters.

Another subtle point about the stimulus is the location of the center position. By convention, the center of the grid will be at (xn-1.0)/2.0 and (yn-1.0)/2.0, and any pixel in the grid is considered to be centered at its position in [0..xn-1][0..yn-1]. For example, a stimulus centered at cx = cy = 0 (deg) will have its center at (1.5, 1.5) in pixel coordinates on a 4x4 grid.