Tachistoscopic Character Displays
The icon program has been developed to run iconic memory experiments.
It has, however, evolved into a rather general program for tachistoscopic
character displays. The program shows a set of characters on the screen for
a short time, typically less than 200 milliseconds. With one exception the
displayed set of characters contains at least two subsets which are
specified by different characteristics of the display:
With a certain delay after the display has been switched off there is a cue
that tells the subject which one of the subsets in the display has to be
reported. The cue may either be an optical signal in the display or an
acoustic signal that has been assigned to one of the display subsets in the
instruction. Immediately after the cue the subject has to report the
requested subset by typing in the respective characters. In order to
control visible persistence of the character display there may also be an
optical mask immediately after the character display or with a certain delay.
- each row or each column is a subset;
- subsets are defined by
semantic properties like being a digit or a letter;
- characters of
the same color define a subset;
- each letter is a singleton subset;
- there is only one set: the complete display.
The original iconic memory experiment by Sperling (1960)
uses a 50 millisecond display of a matrix of at most 12 characters arranged
in up to 4 rows and up to 7 columns. With an ISI between 0 and 1000 ms
there is an acoustic cue whose pitch tells the subject which one of the rows
to report. This is called the partial report procedure. The baseline
of a subject's ability is provided by the whole report procedure,
where there is no acoustic signal and the subject has to report the complete
display. An important modification is used by Sperling (1963). In
this experiment there is a mask presented with a certain delay after the
character display is erased. The mask is a random pattern that immediately
destroys the visual image.
Several experiments have varied the type of partial report that is required.
Sperling (1960) used single rows as subsets to be reported.
Averbach (1960) used a single
character marked by an optical cue. Von Wright (1972)
used different properties of characters to define subsets for a partial
report. Besides Sperling's method to report single rows he used colors as a
visual cue and a letter vs digit classification as a semantic cue.
The icon program may be used to replicate any of the above mentioned
experiments. The special properties of each type of task are controlled by
experimental parameters. Here is an overview of icon's features and
the parameters that control them.
The Display Matrix
The character matrix has several parameters that control how it looks like.
targetset is a string that contains the character set to be used. The
actual character matrix is a random sample from the characters in
targetset. distractorset is the set of distractor characters that
may be used for a letter vs digit selection experiment. In this case letters
are drawn from targetset and digits from distractorset only. The
selection process from the given character sets is random such that for each
position each character in the set has the same probability to be drawn.
The font used to write the characters is textfont and the character
size is given by textsize. The number of rows in the display matrix is
rows, the number of columns is columns. The distance of the
baselines for different character lines in the display is rowdist and
the horizontal character distance is coldist. If the flag C is
set, then there may only be one row which is displayed at circular
positions. The radius of the circle is given by radius.
targetcolx, targetcoly, and targetlum define
the color and luminance of the target characters and distcolx,
distcoly, and distlum define the color and luminance of the
distractor set characters. bgcolx, bgcoly, and
bglum are the color and luminance of the background.
Fixation Marks and Message Text
There are two different types of fixation marks available. One is a cross at
each character position of the matrix, the other is a single mark at the
center of the matrix. The first type is requested by setting the flag
F, the second one by clearing the flag to f. The fixation mark
size is given by fixmarksize, its luminance is fixmarklum, and its
color is bgcolx and bgcoly. Message text is written in the same
font as the character display matrix. Message text size is msgsize and
the color is bgcolx and bgcoly. The message text luminance is
The Visual Mask
The visual mask that may be used to destroy the icon is displayed if the flag
M is set. If the flag is cleared to m no mask is used. The mask is
composed of all characters in the string maskset written to the same
position on the screen. Its color and luminance is given by maskcolx,
maskcoly, and masklum. The delay time between character display
offset and mask onset is maskdelay. The size and font of the masking
characters are equal to those of the target characters. The mask is shown
for masktime milliseconds.
The selection cue may either be an acoustic signal whose pitch in Hz is
given in the variable soundsigs or an optic spot that marks a single
character. Note that soundsigs has to be range valued since there has
to be at least one pitch value for each selection subset. The optical cue
consists of a solid circular spot with radius cuesize, color
cuecolx, cuecoly, and luminance cuelum. The distance of the
cue from the character which is marked is cuedist. This may be
negative in circular displays such that the mark is inside the character
circle. The optic mark is used if the flag V is on. It may only be
used with single character selection or with the whole report procedure. In
this case there is a optic mark for each character.
The delay between character display offset and cue onset is given by
cuedelay. This may also be a negative number if the cue should be
switched on before the display is switched off. The cue signal duration is
Each trial is started by the subject. This is done by first pressing and then
releasing one of the response keys. The time between the subject's release
of the response key and the appearance of the character matrix or the start
of the cue, whatever comes first, is sigwait. The characters are
visible for dsptime milliseconds. cuedelay is the time between the
character matrix offset and the cue onset. The cue duration is
cuetime. The time between the character matrix offset and the visual
mask onset is maskdelay. There is an empty pause intervall of
responsedelay milliseconds between the display and the response
collection, indicated by the appearance of the graphic cursor.
Note that there is one special thing to take care of in specifying the
timing parameters. All displays of icon have to be synchronized to the
video display system. This means that all times effectively are integer
multiples of the video frame time. The time for a single video frame is
measured by icon and stored in the variable frametime. Thus the
data file may be consulted to figure out the actual frame duration.
Critical time values like dsptime, cuedelay and maskdelay are
rounded by icon to the nearest available integer multiple of
After the display the subject has to type in the response into a response
matrix which has the same appearance as the display matrix. The cursor keys
may be used to move the cursor in the matrix and the space bar may be used
to clear a character position. For experiments that request the subject to
only report a single row or column of the display only a single row or
column is available. Cursor movements wrap around the end of the input matrix
horizontally and vertically.
The subject's response is returned in the string array answer and the
display matrix is put into the string matrix. In the case of single
line selection, colored stimulus subsets, and single character targets, the
non-target set is indicated in the data protocol by having its character
case inverted compared to the original case in the targetset and
distractorset string. The variable eval codes the number of
correct responses. A response is correct only if character andposition are correct.
Some experiments may want to use strange characters for target and
distractor sets such that it is too difficult to type them in on the
keyboard. For this reason the exists chartrans. This is a string of
translation character mappings. It makes it possible that the subject types
in some standard characters on the keyboard which then are translated and
echoed as different characters which are not available on the keyboard. It
also may be used to map lower case input to upper case echo.
What Type of Task
The type of experiment is defined by the variable task. Table
icontask contains the possible task type values.
Insert Table icontask here.
- answer (string)
- The response string of the subject. Its size is
equal to the display matrix but unrequested character positions contain
- bgcolx , bgcoly , bglum (float)
- Screen background color.
- textfont (string)
- Test character font name.
- textsize (int)
- Test character size.
- chartrans (string)
- Keyboard input character translation
string. The string contains a sequence of character pairs. During the
subject's keyboard input the first character of a pair represents a key
typed in by the subject and the second character in the pair is the
character echoed on the screen. Thus the assignment
chartrans = "aAbBcCdDeEfFgGhHiIjJ"
leads to a translation of lower to upper case for the first ten letters of
the alphabet (note that conversion to upper case is more easily handled by
the flag U).
- choiceposx , choiceposy (int)
- Position of the choice string in case there is a
choice string display.
- choiceset (string)
- This string is displayed as a choice set for the subject
to chose her response from.
- coldist (int)
- The horizontal distance of characters in the
- columns (int)
- The number of columns in the display matrix.
- cuecolx , cuecoly , cuelum (float)
- Optic cue color and
- cuedelay (int)
- Time between the display offset and the cue
- cuedist (int)
- Distance of cue spot from the marked character
position. May be negative in circular displays.
- cuesize (int)
- Radius of the dot that makes the visual cue.
- cuetime (int)
- Duration of the cue signal.
- distcolx , distcoly , distlum (float)
- The CIE
xyL-coordinates of the distractor character set.
- distractorset (string)
- The available digits.
- dsptime (int)
- Display duration of the character matrix.
- eval (int)
- Number of correct responses in the response string.
- feedbackmsg (string)
- Feedback format string. This string is
printed below the character matrix during feedback. If it contains the
substring %d the these two characters are replaced by the number of
correctly reported characters.
- feedbacktime (int)
- Duration of feedback of the character
- fixmarklum (float)
- Fixation mark luminance.
- fixmarksize (int)
- Length of the lines in fixation marks.
- flags (string)
- These flags are available.
- Give an acoustic cue.
- Indicates that the correct display is shown after the response as a
feedback in case of binary responses. Clearing the flag tells
icon to omit the feedback.
Use a circular display of characters instead of horizontal rows. Note that
rows has to be 1 in this case. columns gives the number of
characters in the circle.
Use F to
get a fixation mark at each character position and f to get a single
fixation mark at the display's center.
- (Hidden feature: each character may have its own color).
- Accept only completely filled character matrices as response. If
this flag is set then the subject must not leave empty positions in the
response matrix. If the flag is clear there may be blanks in the response
Use M to get a visual mask after the
character display and m to prevent the mask display.
- Only present stimuli, do not ask for a response.
- Get the display character string from the parameter file. If the
flag is set then the trials should contain the string matrix withe then
actual characters to be displayed. If the flag is clear than the display set
is sampled from targetset.
- Randomize character positions.
- Requests randomized values for target. If R is set then
icon selects target values at random and enters them into the data
file. If R is not set then the parameter file should contain the target
- Expect a single character response. If this flag is set then the
rsponse is expected to be a single character. In this case the subject does
not have to finish the response with the RETURN-key.
- (Hidden feature: double character response on single character
- Use upper case screen echo for the subject's response input even if
the target set contains lower case characters.
- Use an optical cue instead of an acoustic cue. This is only possible
in a single character report procedure or a whole report procedure. In the
latter case each character gets a mark.
- Character matrix persits until there is a response.
- (Hidden feature: no fixation marks, mask on page 0).
- frametime (float)
- Duration of a single video frame.
- keyboarddelay (int)
- A technical timing parameter which should
be set as small as possible but at least as long as the initial keyboard
repeat character delay interval. The standard value is 600 ms. Keyboards
with a long time interval between keyboard press and the start of the repeat
function may need a longer value. icon needs this time in order to
detect whether a key has been released or not.
- maskcolx , maskcoly , masklum (float)
- Luminance of the
- maskdelay (int)
- Delay time between character display offset
and visual mask onset.
- maskset (string)
- The set of characters that are printed on top
of each other for forming the mask.
- masktime (int)
- Duration of mask.
- matrix (string)
- Actual display matrix in a trial.
- msgfont (string)
- msgsize (int)
- Character font number and character
size of text messages between displays.
- msglum (float)
- Message text luminance.
- multiple (int)
- Present each character in matrix a multiple number
of times. This is useful for matrices which consist of repeated character
areas like they are used in texture diskrimination tasks. Note that the
actual number of character positions in each display is
rows*columns*multiple. The default value of multiple
- radius (int)
- Radius of circular character displays that are
created by setting the flag C.
- responsedelay (int)
- Time interval between the display and the
appearance of the cursor for response input.
- rowdist (int)
- Distance between the baselines of the character
- rows (int)
- Number of rows in the display. Must be 1 if
circular displays are used.
- selection (string)
- This string may be used to define the selection set on a
character by character basis. A 1-character indicates that the corresponding
character in matrix belongs to the selection set while 0-character
indicates the opposite. The length of the selection string must be
equal to rows*columns.
- sigwait (int)
- Waiting time between a the subject's release of
the initialization key and the display or cue onset, whatever comes first.
- soundsigs (float)
- Frequency values of the sound signals that make up
the acoustic cues.
- target (int)
- Target subset number. The target subsets are
numbered starting from 0.
- targetcolx , targetcoly , targetlum (float)
xyL-coordinates of the target character set.
- targetset (string)
- The target character set.
- task (int)
- Type of the task. Possible values for task
are given in Table icontask on page \pagereftab:icontask.
The first parameter file reproduces one of the experiments by
Sperling (1960). It uses a whole report procedure. See page
\pagerefsperlingExample for a partial report procedure example.
Parameter file tbzeile.x from directory \pxl\app\icon
The next example is a replication of the experiments by
Reicher (1969) and
Wheeler (1970) which demonstrate the word superiority effect.
Parameter file wort.x from directory \pxl\app\icon
Back to table of contents