Return to the Poffenberger Paradigm page

Script Author: Katja Borchert, Ph.D. ( for Millisecond Software, LLC
Date: 4-03-2013
last updated: 03-30-2016 by K.Borchert ( for Millisecond Software LLC

Copyright © 03-30-2016 Millisecond Software


This script implements the Poffenberger Paradigm Task as described in:

Berlucchi, G., Heron, W., Hyman, R., Rizzolatti, G., & Umilta, C. (1971). Simple reaction times of ipsilateral 
and contralateral hand to a lateralized visual stimulus. Brain, 94, 419–430.

Participants sit in front of a monitor screen (in Berlucchi et al, 1971: a domelike screen was used),
and are asked to press one key with either left or right hand when they detect a flash of light on the screen.
The flashes of light either appear on the left or right side of monitor. Depending on which hand is used
to respond, the reaction times are taken to reflect reaction times from uncrossed (e.g. left side & left hand) or
crossed pathways (e.g. left side & right hand).
In Berlucchi et al (1971), participants' left eyes were covered.

The default data stored in the data files are:

(1) Raw data file: 'PoffenbergerParadigm_raw*.iqdat' (a separate file for each participant)

build:							Inquisit build
computer.platform:				the platform the script was run on
date, time, subject, group:		date and time script was run with the current subject/groupnumber 
/session_nr:					stores the session number 
/LatinSquareOrder:				stores the LatinSquareOrder used for this participant
/part:							stores which part of the session is currently run (3 parts altogether)
blockcode, blocknum:			the name and number of the current block
trialcode, trialnum: 			the name and number of the currently recorded trial
									(Note: not all trials that are run might record data) 
/rightleftorder:				1 = left ("nasal" for right eye) side first in a block; 
								0 = right side ("temporal" for right side) first in a block
/responsehand:					helper variable to decide what the response hand should be
/responsehand_label:			corresponding label (right or left)
/crossed:						0 = not crossed; 1 = crossed (position and response hand crossed)
/responsekey:					scancode of current response key
/responsekey_label:				label of current response key
/stim_x  -/stim_y:				contains x/y coordinates of the current square
response:						the participant's response
correct:						the correctness of the response (1 = correct; 0 = incorrect)
latency: 						the response latency (in ms)
/validtrial:					1 = response latencies within boundaries (valid); 
								0 = response latencies outside boundaries (invalid -> trial will be repeated)
/count_position1_left- 			tracks how often position 1(2, 3) left and right blocks have been run
/count_position1 -				tracks how often position 1 to position 3 blocks have been run

(2) Summary data file: 'PoffenbergerParadigm_summary*.iqdat' (a separate file for each participant)

script.startdate:				date script was run
script.starttime:				time script was started
script.subjectid:				subject id number
script.groupid:					group id number
script.elapsedtime:				time it took to run script (in ms)
computer.platform:				the platform the script was run on
/completed:						0 = script was not completed (prematurely aborted); 1 = script was completed (all conditions run)
/session_nr:					stores the session number 
/LatinSquareOrder:				stores the LatinSquareOrder used for this participant

/meanrt_pos1right_crossed :			mean reaction time for all position 1 combinations (position 1 = light flash closes to center)
(same for position 2 and 3)

/meanrt_pos1_crossed :				mean reaction for position 1 uncrossed and crossed trials
(same for position 2 and 3)

/meanrt_crossed:					mean reaction time for uncrossed and crossed trials 

/Diff:								Difference between mean reaction time for crossed and uncrossed trials 
									(Note: Diff should be positive if crossed pathways take longer)

(a) Design: 2 hands (right, left) x 2 stimulation sides (right, left side of screen) x 3 horizontal distances from the fixation point
(b) This script is set up to run this experiment over 3 different sessions (see Berlucchi et al, 1971)
see below (8) for more detailed information 
(c) 3 sessions with 3 parts
(d) Each part: 4 blocks (position 1, 2, or 3 on one side), 4 blocks (same position on the other side)
=> it's randomly decided which part in a session presents which position with the constraint that over
the 3 experimental sessions, the presentation follows a Latin Square, so that each position occurs in each
part exactly once over the course of 3 sessions.
session 1: part 1 (presents position 1) - part 2 (presents position 2) - part 3 (presents position 3)
session 2: part 1 (presents position 2) - part 2 (presents position 3) - part 3 (presents position 1)
session 3: part 1 (presents position 3) - part 2 (presents position 1) - part 3 (presents position 2)

(e) block 1 & 4: same hand; block 2 & 3: opposite hand (randomly decided which hand goes first)
block.position1_left: L R R L ---- block.position1_right: R L L R
(it's randomly decided whether the left positions or the right positions are presented first)

uncrossed: hand and screen location the same (e.g. flash of light appears on left side, left hand responds)
crossed: hand and screen location are opposite (e.g. flash of light appears on the right side, left hand responds)

* Each block runs 15 trials 
* if latencies are outside the boundaries of acceptable responses (Berlucchi et al (1971), p.421, set your own boundaries 
under  EDITABLE CODE -> Editable Values), the trial is declared invalid and will get repeated.

a) Participants are presented a white fixation cross 
b) after a set time, a sound is played (1000hz, 100ms duration, 0.2 Amplitude, created in Audacity), 
signaling that the flash of light is soon to appear
c) flash of light appears and participants are asked to press the response key with the assigned hand.

can be edited under EDITABLE Instructions

To fine-tune the stimulus size of the flashing light square and its 6 locations to your monitors, 
go to section EDITABLE PARAMETERS and edit the following:

=> Coordinates of Light Square for three positions: EDITABLE CODE -> Editable Values
=> Size of Light Square: EDITABLE CODE -> Editable Values -> parameters.square_height
=> Contrast of Light Square to Background: adjust color under EDITABLE CODE -> Editable Stimuli -> shape.square

Berlucchi et al (1971) ran the experiment in three sessions. The distribution of stimulus location (3 different locations)
across the three parts in one session were randomly assigned with the constraint that the assignments 
add up to a Latin Square across three sessions (= each location would appear in each part across all three sessions).

* If this script is run only once, the 3 stimulus locations are randomly assigned to one of the three parts.
Nothing needs to be changed.
* If the script is run for a 2nd and 3rd time: go to EDITABLE CODE -> Editable Values and set
/session_nr = 2         (or 3)
/LatinSquareOrder = the value found in the participant's data file from the first session (e.g. 6)

these values together ensure the Latin Square assignment of locations to parts across 3 sessions. 

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.

The parameters you can change are:

/session_nr:							stores the session number (default is 1; if session number changes update below)
/LatinSquareOrder:						stores the LatinSquareOrder
										!!! NOTE: gets automatically assigned for first session; for subsequent sessions
										fill in the LatinSquareOrder manually below

Physical Dimensions:
/square_height:							sets the square height (default: 1% of the screen height)
/fixation_height:						sets the height of the fixation cross (default: 5%)

Presentation Durations:
/squareduration:						sets the duration of the square of light presentation (default: 32ms)
/fixationduration:						sets the duration of the WHITE fixation cross (default: = 1000ms)
/posttrialpause							adds a posttrialpause to the response trials for trial clean-up (default: 50ms)

/Pos1_leftx:							sets the x-coordinate of position 1 stimuli on the left (position 1 = closest to fixation)
/Pos2_leftx:							sets the x-coordinate of position 2 stimuli on the left (position 2 = second closest to fixation)
/Pos3_leftx: 							sets the x-coordinate of position 3 stimuli on the left (position 3 = furthest from fixation)
/Pos1_rightx:							same for stimuli on the right

/left_responsekey:						scancode of left responsekey (default: 30)
/left_responsekey_label:				label of left responsekey (default: "A")
/right_responsekey:                 	scancode of right responsekey (default: 38)
/right_responsekey_label:				label of righ responsekey (default: "L")

Trial Details:
/initialtrialnumber:					number of trials to run per block (if no repeats) (default: 15)
/practicetrialnumber:					number of trials to run per practice block (if no repeats) (default: 5)
/anticipatoryresponse_position1:		lower boundary for position 1 response latencies (default: 180ms)
/anticipatoryresponse_position2:		lower boundary for position 2 response latencies (default: 190ms)
/anticipatoryresponse_position3:		lower boundary for position 3 response latencies (default: 200ms)
/delayedresponse_position1: 			upper boundary for position 1 response latencies (default: 320ms)
/delayedresponse_position2:				upper boundary for position 2 response latencies (default: 350ms)
/delayedresponse_position3: 			upper boundary for position 3 response latencies (default: 380ms)

Copyright © Millisecond Software. All rights reserved.
Contact | Terms of Service | Security Statement | Employment