Return to the Sperling's Classic Partial Report Procedure page
*Class Sperling Task*
Script Author: Katja Borchert, Ph.D. (email@example.com) for Millisecond Software, LLC
last updated: 03-10-2020 by K. Borchert (firstname.lastname@example.org) for Millisecond Software, LLC
Script Copyright © 03-10-2020 Millisecond Software
This script implements an approximation of the classic Sperling task to investigate iconic memory as described in:
Sperling, G. (1960). The information available in brief visual presentations.
Psychological Monographs, 74(11), 1-29.
IMPORTANT NOTE: Sperling (1960) used a tachistoscope for his 7 studies.
This script adapts his procedures to the computer screen.
Participants focus on a fixation cross in the middle of the screen. When they feel ready, they can press
the Spacebar. One of 4 types of consonant letter matrices (2x3 = 33, 2x4 = 44, 3x3 = 333, 3x4= 444) appears in the
center for a short duration. For partial reports, a tone indicates which row of the matrix to
concentrate on and participants are asked (in this script) to enter their recalled letter in provided textboxes.
The default set-up of this script only runs: 3x3 matrices.
To add different matrices to the default procedure, please go to the end of the script for more information.
The default set-up of the entire script takes appr. 40 minutes to complete
Whole Report: 30 test trials of trial.w333 (3x3 matrices) ~ 15 minutes
Partial Report: 30 test trials of trial.p333 (3x3 matrics) ~ 10 minutes
DATA FILE INFORMATION
The default data stored in the data files are:
(1) Raw data file: 'classicsperlingtask_raw*.iqdat' (a separate file for each participant)*
build: The specific Inquisit version used (the 'build') that was run
computer.platform: the platform the script was run on (win/mac/ios/android)
date, time, date and time script was run
subject, group, with the current subject/groupnumber
script.sessionid: with the current session id
blockcode, blocknum: the name and number of the current block (built-in Inquisit variable)
trialcode, trialnum: the name and number of the currently recorded trial (built-in Inquisit variable)
Note: trialnum is a built-in Inquisit variable; it counts all trials run; even those
that do not store data to the data file such as feedback trials. Thus, trialnum
may not reflect the number of main trials run per block.
values.reporttype: 1 = partial report;
2 = whole report (tested in blocked design in this script)
values.exposureduration: current exposure duration
values.signaldelay: current signal delay
values.nr_rows: number of rows of the current matrix
values.nr_columns: number of columns of the current matrix
values.training: 0 = actual test trials; 1 = training trials
values.row3string: stores the presented string of letters by matrix row
values.targetrow: the row that should be recalled in partial reports (1-3)
values.soundfile: stores the current sound file (relevant only for partial reports)
values.row3string_r: stores the recall response by row
(the string of letters of each matrix row as entered during recall)
values.countcorrect_pos: counts the correctly recalled letters (correct letter in correct position)
for the current matrix/row
values.countcorrect: counts the correctly recalled letters (independent of position)
values.repeat: 0 = no letter is repeated in the recalled matrix ;
1 = there was at least one repeated letter in the recalled matrix
=> if values.repeat = 1 the response is considered invalid
(is NOT included into the descriptive summary statistics)
(2) Summary data file: 'classicsperlingtask_summary*.iqdat' (a separate file for each participant)*
computer.platform: the platform the script was run on (win/mac/ios/android)
script.startdate: date script was run
script.starttime: time script was started
script.subjectid: assigned subject id number
script.groupid: assigned group id number
script.sessionid: assigned session id number
script.elapsedtime: time it took to run script (in ms); measured from onset to offset of script
script.completed: 0 = script was not completed (prematurely aborted);
1 = script was completed (all conditions run)
Note: The default set-up of this script only runs: 3x3 matrices.
expressions.mean_w444: mean number of actually recalled letters of the whole matrix by matrix size
for Whole Reports
expressions.mean_p444: mean number of correctly recalled letters in partial (p) reports by matrix size
expressions.estw_p444: estimated mean number of correctly recalled letters of the entire matrix
based on partial reports by matrix size
=> mean number of correctly recalled letters in partial (p) reports * number of rows of the whole matrix
expressions.mean_p444_row3: mean number of correctly recalled letters of a specific targetrow in partial (p) reports by matrix size
(e.g. Mean Recall p33 Row1 => mean number of correctly recalled letters for
targetrow 1 for partial report for matrix 33 (2 rows, 3 columns)
* separate data files: to change to one data file for all participants (on Inquisit Lab only), go to section
"DATA" and follow further instructions
By default, participants are asked to work throught the Whole Report (WR) procedure and the Partial Report (PR)
procedure (counterbalanced by groupnumber). Go to section(s) EXPERIMENT/BLOCKS to learn more about how to change
the default settings.
Default procedure for ClassicSperlingTask.iqx:
1 = generalinstructions (presents general instructions for the task)
2 = instructions_WR (presents instructions for the WP procedure)
3 = demo_WR (runs 1 33-matrix sequence)
4 = start (runs the start instructions)
5 = w333 (runs 30 trials with 3x3 matrices for whole reports)
6 = instructions_PR (presents instructions for the PP procedure)
7 = tonetraining (add a tone training; see more info below)
8 = demo_PR (runs 1 33-matrix sequence)
9 = start (runs the start instructions)
10 = p333 (runs 30 trials with 3x3 matrices for partial reports)
Tone Training for PR procedure:
There are 3 tones used for the PR procedure in this script (-> item.signals).
The highest tone signals row 1 (= top); the intermediate tone signals row 2
(regardless of whether there are 2 or 3 rows);
the deepest tone signals row 3 (only used in matrices with 3 rows).
Block.tonetraining introduces these tones to the participants and adds a brief tone training
(a tone is played and participants
have to press 1, 2, 3 to indicate which row was signaled) with 15 trials (5 trials per tone).
The tone training can be repeated as many times as participants want it to.
Before the actual test, participants are given one Demo trial for either the WR or the PR procedure.
Only 2x3 matrices are used for the demos. No feedback is given to participants.
- By default, participants are asked to work throught the WR procedure and the PR procedure (counterbalanced
by groupnumber). Go to section EXPERIMENT to learn more about how to change this default setting.
- The first 10 trials in each test block are considered training trials and responses don't count
towards summary variables.
- The default background of the screen for all trial sequences is black with a gray center field in which the
matrices appear in black on white (size/screen location of matrices as well as color/size of
exposure field can be edited
via EDITABLE CODE -> Editable Parameters)
The matrices are removed by covering them up with the gray center field for 500ms.
- Participants are asked to enter their responses in provided textboxes.
fixation cross (waits for spacebar response)
->delay of 500ms: letter matrix for 500ms (default)
->mask for 500ms (+signal)
-> response screen
The following changes can be implemented:
(1) Type of report (partial vs. whole): tested in blocked design => go to section EXPERIMENT
and change the type of blocks run by the script.
By default: whole and partial procedure are both run (order counterbalanced by groupnumber).
(2) Number of rows and columns (sizes of matrices):
the script provides code to run 2 x 3 ('33'), 2 x 4 ('44'), 3 x 3 ('333'), 3 x 4 ('444') matrices.
Go to section EXPERIMENT/BLOCKS to customize which matrices to run.
By default: only 3x3 matrices are run
(3) Matrix exposure duration: change under EDITABLE CODE -> Editable Lists
Default: 500ms only
(4) Response delay duration (relevant for partial reporting): change under EDITABLE CODE -> Editable Lists
Default: 0ms only
(5) Number of trials: change under EDITABLE CODE -> Editable Parameters !AND! under section BLOCKS
Default: 30 per matrix
(6) Pre and Post-Exposure field size and color -> EDITABLE CODE -> Editable PARAMETERS
The matrices select randomly from 21 consonants (-> list.consonant) with no repeated letters.
The appearance of the matrices (size and location) can be fine-tuned via EDITABLE CODE -> Editable Parameters
Instructions are not original to the task. They are provided by Millisecond Software
as htm pages and simple page elements and can be edited either by changing
the provided html files or directly under Editable Instructions.
To edit html-files: open the respective documents in simple Text Editors such as TextEdit (Mac)
or Notepad (Windows).
check below for (relatively) easily editable parameters, stimuli, instructions etc.
Keep in mind that you can use this script as a template and therefore always "mess" with the entire code to
further customize your experiment.
/nr_criticaltrialspermatrix: number of critical (aka count towards descriptive summary statistics) trials
per matrix (default: 30)
!!!If this number is changed, go to section BLOCK and follow instructions
change the number of trials run during test blocks accordingly
Note: Number should be divisible by 2 and 3.
/fixationcrossposttrialpause: pause (in ms) after fixation cross disappears and matrix is presented
Appearance of Matrices:
/boxheight: the height of the individual matrix boxes that contain the letters in percentage
of canvas height (default: 15%)
fixationcrossheight: the height of the fixation cross in percentage of canvas height (default: 5%)
/y_matrix_444: the coordinates for the different matrices (33 -> 444)
Size/Color of the Pre and Post Exposure Fields:
/exposurefield_width: width (in percentage of canvas width) of the exposure field (default: 70%)
/exposurefield_height: height (in percentage of canvas height) of the exposure field (default: 70%)
/preexposurefield_r: the red component of the preexposure field (default: 100)
/preexposurefield_g: the green component of the preexposure field (default: 100)
/preexposurefield_b: the blue component of the preexposure field (default: 100)
/postexposurefield_r: the red component of the postexposure field (default: 100)
/postexposurefield_g: the green component of the postexposure field (default: 100)
/postexposurefield_b: the blue component of the postexposure field (default: 100)
/fixationcolor: the color of the fixation cross (default: black)