Sequential Item Presentation and Testing

The memory scanning experiment stm is modeled after Sternberg's item-recognition paradigm. A small set of memory items is presented to the subject sequentially. After the items have been shown and a short time interval has passed a single probe item is presented and the subject has to decide as fast as possible whether the probe item was a member of the set of memory items presented earlier or not. The response time and the decision are recorded. The number of memory items usually is less than ten and the subject is instructed to decide fast but make as few errors as possible.

Program Features

Ensemble and Memory Items

The complete ensemble of items is defined as an array of strings like
   ensemble = ["Berlin", "London", "Paris", "Rom", "Budapest", 
      "Prag", "Moskau", "Sofia", "Chicago", "Montreal", 
      "Belgrad", "Madrid", "Kairo", "Beirut", "Wien",
      "Genf", "Peking", "Saigon", "Havanna", "Tokio"]
The strings may also be single character items like the more conventional sequence of digits or letters usually used in memory scanning experiments. PXL also has character sets that contain symbols and thus allow them to be used as memory items (see the demo program hfonts and Chapter graphics for a complete list of PXL's graphic fonts). Usually the complete set of items in ensemble also defines the complete sampling set for the memory items. If memory set item sampling should be restricted to a subset of ensemble this subset may be defined by an integer offset into the ensemble array and an effective ensemble size value. The offset value for the effective sampling subset is defined by ensoffset and the effective ensemble size is defined by ensize. Offset values default to 0 and ensize defaults to the complete length of ensemble.

The memory set is defined by the variable memoryset. If the flag Mis not set, then the memory set will be sampled automatically from the ensemble. Memory set size is defined by memsetsize if automatic memory set sampling is used or implicitly if the memory sets are given in the parameter file. Using memory sets from the parameter file is switched on by setting the flag M. Note that memory set item sampling is restricted to the effective ensemble as defined by ensoffset and ensize. Also note that protocol and parameter file memory item index values always are relative to the start of the effective ensemble not to the start of the array ensemble itself. Thus if a nonzero value for ensoffset is specified, then the memory item index values have to be relative to the start of the effective ensemble subset in ensemble.

The font used to draw the memory items is defined by the variable itemfont and the character size is defined by itemsize. Memory items are always written in a white color with luminance given by itemlum. The flag C controls whether the single items are printed centered or flush left which may be better for readability if the items are rather long strings. In a fixed-sets procedure the memory set display can be suppressed completely by setting the flag N. In this case it might be a good idea to incorporate the memory set into the instructions file (see Chapter files Section instruct for an introduction how to activate PXL's instruction file mechanism).

Probe Item Selection

The probe item is drawn with colors and luminance defined by probecolx, probecoly, and probelum. If these define a color which is very similar to the background then legibility of the probe item will be low. The probe item selection is controlled by several flags and parameters.


  • If the flag F is on, the probe item is determined by the actual value of the variable probeindex in the parameter file, which gives the index of the probe item in the string array ensemble.
  • If the flag F is off, then the probe item is selected at random either from the memory item set or from its complement, the non-memory item set. \beginenumerate
  • If the flag O is on then the selection set for the probe item is determined by the value of the experimental variable memprobe. \beginenumerate
  • If memprobe is 1, then the probe item is sampled from the memory item set.
  • If memprobe is 0, then the probe item is sampled from the non-memory item set. \endenumerate
  • If the flag O is off, then the set from which the probe item is sampled is determined by a random decision. The probability of drawing the probe from the memory item set is defined by the parameter memprobechance. The complement of memprobechance is the probability of drawing the probe item from the non-memory item set. \endenumerateIn any case, if the flag F is off, the probe item is sampled such that each item in the set where it is sampled from has the same probability to be selected. \endenumerateA subset of ensemble may be selected for probe item sampling by setting the variable probeoffset to a nonzero value. This variable specifies the start of the subset in ensemble that should be used for probe item sampling. The size of this subset is given by ensize. Note however, that probe item index values always are relative to the effective subset of ensemble that is used.

    Some experiments may want to use probe items that are translations from ensemble items. In this case the flag T should be set in order to select the probe items from the array trensemble of translated ensemble items. The array trensemble has to have the same number of elements as ensemble such that correspondence of items is via their index. If T is on then the index probeindex refers to the array trensemble.

    Probe item translation may also be achieved by using the mechanism of ensoffset, probeoffset, and ensize. This mechanism is more flexible than the flag T since it is possible to use different values for these variables in each trial, while the flag T is effective for the whole experiment.

    Cue Item Selection

    The flag U makes visual cueing possible. If U is set, then the item with index cueindex (referring to ensemble) will not be written in the same color as the other memory items, but will be written with cuecolx, cuecoly, and cuelum as its color and luminance. The cueindex is taken from the parameter file. However, if it is negative, then the cued item is selected at random from the memory set. The value of cueindex in the data file will reflect the cued item in this case.

    Timing Parameters

    A major part of the experimental variables in stm control the time course of a single trial. Here is an overview on the timing parameters within a single trial:

    An experimental session starts with a greeting message defined by bosmsg which is visible for bostm milliseconds. As usual the message is visible until a key is pressed if bostm is negative and the message is suppressed if bostm is zero. In a fixed-sets procedure the greeting message is followed by the presentation of the memory set provided the flag N is not set. The first trial starts immediately after the item presentation or after the greeting if no items are shown. The message eosmsg shown for eostm milliseconds finishes a session.

    Program Parameters

    aftermsg (int)
    In a varied-sets procedure there has to be a waiting time after the instruction message which is shown immediately before the new memory items are displayed. aftermsg gives the length of this waiting time.

    attduration (int)
    Duration of the attention signal. The probe item is shown immediately after the attention mark has been switched off.

    attwait (int)
    After the last memory item has been shown there is some time to wait for the attention signal. attwait ms after the last memory item has disappeared the attention signal starts.

    attmsg (string)
    The attention signal is an acoustic beep in case of optic signal presentatoins and a text string in case of acoustic test item presentation (flag Y).

    bglum (float)
    Background screen luminance.

    countmark (string)
    Symmetric count down marker. This marker indicates the subject how many items are in the list of memory items.

    countprefix (string)
    Prefix item for count down. This character is presented immediately before the memory item list starts.

    cuecolx , cuecoly , cuelum (float)
    Color and luminance coordinates of the optically cued item in the memory set. Cueing is activated by setting the flag U.

    cueindex (int)
    Index of the cued item in the memory set. The index refers to the position of the cued item in the ensemble array. If the index value cueindex is negative, then stm will randomly select one of the memory set items to be cued. Ithis item's index is then stored in cueindex. Cueing only makes sense in a varied-sets procedure.

    earlymsg (string)
    Warning message for early responses.

    ensemble (string)
    This is the set of possible stimuli. It has to be an array of strings. Using a string array here is highly flexible since one can set the strings to single characters or digits as done for most memory scanning experiments or use numerals or words for the analysis of categorization effects.

    ensize (int)
    Usually the ensemble size is inferred automatically from the actual size of the array ensemble. In some cases one may want to specify a different value by setting the variable ensize explicitly in the parameter file. In case ensoffset is used to define a subset of ensemble for item selection, then ensize must necessarily be set.

    ensoffset (int)
    This is an offset index value into the array ensemble which specifies the subset of ensemble that should actually be used for memory item selection. The subset size has to be given by ensize. The default value for ensoffset is zero. Note that the probe item subset of ensemble has its own offset value given by probeoffset.

    errorlimit (int)
    Stop the experimental session if there are more errors in a block than this limit. This parameter is used by experiments which determine memory span.

    flags (string)

    Show an attention signal immediately before the probe item.

    Get single character response instead of binary yes/no responses.

    Print strings centered. Otherwise they are printed flush left at the horizontal position defined by xpos.

    Use probe index values as they are defined in the parameter file. Otherwise the probe items are determined automatically.

    Get multiple character string response. Input is finished by the RETURN-key. The response time in rtime is the time until the response is finished.

    Controls rehearsing. Setting this flag will introduce a control task during the time interval between memory item presentation and probe presentation in order to prevent the subject from rehearsing the memory set items. The control task is to count backwards at a given rate starting from a 3-digit number presented at the beginning of the rehearsal interval.

    Do not give any response echo.

    If this flag is set then the program expects that the trials in the parameter file contain the memory set item indices. If the flag is off then the memory sets are selected automatically and at random from ensemble. Taking the memory set from the parameter file allows complete control of the memory set. The memory set item index values are given in the parameter file by setting the variable memoryset to a string that contains the index values separated by a minus sign: "3-7-0-15" is an example of such a string selecting the items that have index values 3, 7, 0, and 15 in the array ensemble as memory set items. Note that no ensemble item index may be used more than once in any memory set. If replications are needed then the ensemble may to contain multible copies of items.

    Do not display memory set items at all.

    Controls where the probe item comes from if it is not given in the parameter file as requested by the flag F. If the flag O is on then the probe item is selected according to the state of the experimental variable memprobe. If memprobe is 1, then the probe item is sampled from the memory set, otherwise from the non-memory set items. If the flag O is off then the probe item is sampled in a two stage random process. The first step is to decide whether the probe item is seleceted from the memory set. This happens with probability memprobechance. In all other cases the probe item is selected from the complement set in ensemble. The second step is to select an item from the set decided upon in the first step.

    Present probe items. No probe items are presented if the flag is off. This flag may be used to implement a recall procedure.

    Controls the response direction of the response keys. If the flag is set then the left key means "yes" and the right key means "no". Clearing the flag reverses this order.

    Use a response cue in order to enforce a certain trade off between time and precision in a subject's response.

    Activate probe item translation. If this flag is set then the probe item index values probeindex refer to the string array trensemble instead of the array ensemble where the memory items come from. This makes it possible to use "translated" probe items.

    Activates cueing for one of the memory set items. If this flag is on the memory set item whose index in ensemble is cueindex is drawn with the color defined by cuecolx, cuecoly, cuelum instead of the normal color white with luminance itemlum which is used for the other memory set items. A randomized cue item selection is done if cueindex is negative. The data file always contains the index of the actually cued item.

    Indicates the varied mapping procedure. If this flag is on then a new memory set is displayed on each trial. If the flag is off then the fixed mapping procedure is used and the memory set is selected and displayed only once at the start of a session.

    Use acoustic stimulus presentation. Stimulus items are names of audio wave files.

    maskstring (string)
    Set of mask characters. The mask ist a superposition of all characters in maskstring. Fonts that contain a special masking character may set maskstring to that single character.

    memoryset (string)
    This variable is used to record the memory set in a data file. The memory set items are selected at random from the ensemble array of strings. The variable memoryset contains a list of indices into the ensemble array indicating which of the items was a member of the memory set. The memory set, however, may also be given explicitly in the parameter file.

    memprobe (int)
    This variable will be set to 1 in the data file protocol if the probe item is selected from memory set. It indicates positive trials. The value zero indicates negative trials.

    memprobechance (float)
    Gives the probability for the probe item being selected from the memory set instead of its complement set. This is identical to the probability of a positive trial.

    memsetsize (int)
    The number of elements in the memory set.

    offtime , ontime (int)
    The memory set items are displayed sequentially. Each item is shown for ontime milliseconds and there is a blank intervall of offtime milliseconds between two item presentations. Also note that there is an offtime ms empty interval before the first item is shown. offtime has to be long enough for the hardware to put the item on the screen in case of optic presentations. In case of acoustic presentations ontime has to be long enough to present the item.

    probecolx , probecoly , probelum (float)
    Probe item character color and luminance.

    probeindex (int)
    The index of the probe stimulus in the array ensemble of possible items. This index is relative to probeoffset such that a zero probeindex points to the item at probeoffset.

    probeoffset (int)
    The index offset into the array ensemble that specifies where the probe item subset starts. The subset size is specified by ensize. The default value for probeoffset is zero such that the probe item set is equal to the ensemble. Probe item translation may be created by setting probeoffset different from ensoffset such that different item sets are used for memory sets and probe items. Note, however, that memory and probe item index values (memoryset, probeindex) are relative to the start of the effective ensemble in the array ensemble. Thus the true probe item index in ensemble is probeoffset + probeindex.

    probepos (int)
    Serial position of probe item in the memory list.

    probeypos (int)
    Vertical screen position of probe item.

    rcuedelay (int)
    Response cue delay time. This is the time between appearance of the probe item and the response cue.

    rcuetime (int)
    Response cue duration.

    rhtick (int)
    Rehearsal timer tick.

    trensemble (string)
    This is the set of possible probe items in an experiment where the probe should not be selected from the array
    ensemble (float)
    . The variable trensemble must be an array of the same size as ensemble and corresponding index positions must be item translation pairs. A response for a probe item from trensemble is defined to be correct if the item at the corresponding index in ensemble was a member of the memory set. Translation is activated by the flag T. Note that there is a second way to activate translation by using the offset parameters ensoffset and probeoffset.

    wavedir (string)
    Directory where to find the audio files for acoustic item presentations.

    xpos , ypos (int)
    Horizontal and vertical position of the memory and probe item presentations on the screen.

    Example Experiments

    Memory Scanning

    The first example is a simple varied-sets demonstration procedure for the Sternberg (1966) type of memory scanning experiments.

    Parameter file stern.x from directory \pxl\app\stm

    The Peterson & Peterson Paradigm

    The next file is a replication of the Brown (1958) and Peterson & Peterson\NPeterson, L.R. (1959) paradigm.

    Parameter file petpet.x from directory \pxl\app\stm

    Back to table of contents

    Author: Hans Irtel