User Manual: Inquisit Spatial Delayed Response Task


___________________________________________________________________________________________________________________	

							*Spatial Delayed Response Task (sdRT)*
___________________________________________________________________________________________________________________	

Script Author: Dave Nitz (dave@millisecond.com) for Millisecond Software, LLC
last updated:  08-28-2024 by K. Borchert (katjab@millisecond.com) for Millisecond Software, LLC

Script Copyright © 08-28-2024 Millisecond Software

___________________________________________________________________________________________________________________
BACKGROUND INFO 	
___________________________________________________________________________________________________________________	
This script implements the Spatial Delayed Response Task (sdRT) using short
and long delays to test memory of spatial locations

The implemented procedure is based on:

	Lyons-Warren, A., Rema, L., & Hershey, T. (2004). Short- and long-term spatial delayed
	response performance across the lifespan. Developmental Neuropsychology, 26(3), 661–678.
	

Note: The Spatial Delayed Response Task (sdRT) requires stimulus sizes, positions as well as subjects'
pointing errors to be measured in millimeters. 
This script automatically 
a) checks that the current display is big enough to run this task 
b) calculates a 'pixel/mm' ratio for the current display and uses that
ratio to size the stimuli accordingly
	
___________________________________________________________________________________________________________________
TASK DESCRIPTION	
___________________________________________________________________________________________________________________	
A small dot briefly flashes on the screen in one of 32 screen locations.
The primary task is to recall the position of the dot after a delay period
that introduces a non-memory "distractor" task that interferes with rehearsal: 
for different delay periods a series of geometric shapes appear in the center of the screen for one
second each. Participant are asked to press the space bar whenever they see the 
diamond shape ("go trial").  
After the delay period is over, the mouse cursor appears as a dot and participants are asked move the dot to
the screen position where they remember the small dot to have appeared.	Once at the position,
participants are asked to click the mouse*.
In 1/3 of all trials the dot appears in the exact position that the cue appeared in (cue trial).	

* in Lyons-Warren et al (2004) participants pointed to the location and the experimenter placed the dot							  
											  

___________________________________________________________________________________________________________________	
DURATION 
___________________________________________________________________________________________________________________	
the default set-up of the script takes appr. 40 minutes to complete

___________________________________________________________________________________________________________________	
DATA OUTPUT DICTIONARY
___________________________________________________________________________________________________________________
The fields in the data files are:

(1) Raw data file: 'spatialdelayedresponsetask_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
session:						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.
									
//parameter settings for the delays for the cue and NoCue trials 								
parameters.delayCue, 
parameters.delayNoCue1, 
parameters.delayNoCue2, 
parameters.delayNoCue3,								

																			
trialCount:						Global trial count. Separate counts for practice and test blocks.
trialType:						Type of current trial. cue -> cue-present trial ; nocue -> uncued (experimental) trial
delayCondition:					Delay condition of current trial (5000, 60000 or 120000).

delayCountdown:					Remaining delay during CPT trials.
picture.cptstim.currentItem:

response:						the participant's response
								57 = spacebar press
									
correct:						the correctness of the response (1 = correct; 0 = incorrect)
latency: 						the response latency (in ms)

tStart:							Start time of pointing phase.
tend:							End time of pointing phase.
pointLatency:					Pointing latency (in ms) computed from difference between 'tend' and 'tstart'.

angle:							Current position of the cue stimulus in degrees around a circle.
								Angles proceed clockwise from the 12:00 position in 10 degree
								intervals. Exact horizontal and vertical positions are excluded 
								(0,90,180 and 270 degrees).
									
cuex:							x coordinate of cue.
cuey:							y coordinate of cue.
pointx:							x coordinate of pointing location.
pointy:							y coordinate of pointing location.

errorPX:						Returns the current pointing error in pixels.
errorMM:						Returns the current pointing error in millimeters.

valid:							Returns whether the current trial was marked 'invalid' or 'valid'
								0 -> invalid
								1 -> valid
									
nCueTotal:						Total count of cue-present trials.
nCueValid:						Number of cue-present trials marked as valid.
sumErrorCue:					Sum of pointing error (in mm) across all valid cue-present trials.
ssErrorCue:						Squared sum of error across all valid cue-present trials.
mErrorCue:						Mean pointing error (in mm) for cue-present trials.
sdErrorCue:						Standard deviation of pointing error for cue-present trials.

n5Total:						Total count of 5sec delay trials.
n5Valid:						Number of 5sec delay trials markes as valid.
sumError5:						Sum of pointing error (in mm) across all valid 5sec delay trials.
ssError5:						Squared sum of error across all valid 5sec delay trials.
mError5:						Mean pointing error (in mm) for 5sec delay trials.
sdError5:						Standard deviation of pointing error for 5sec delay trials.

n60Total:						Total count of 60sec delay trials.
n60Valid:						Number of 60sec delay trials markes as valid.
sumError60:						Sum of pointing error (in mm) across all valid 60sec delay trials.
ssError60:						Squared sum of error across all valid 60sec delay trials.
mError60:						Mean pointing error (in mm) for 60sec delay trials.
sdError60:						Standard deviation of pointing error for 60sec delay trials.

n120Total:						Total count of 120sec delay trials.
n120Valid:						Number of 120sec delay trials markes as valid.
sumError120:					Sum of pointing error (in mm) across all valid 120sec delay trials.
ssError120:						Squared sum of error across all valid 120sec delay trials.
mError120:						Mean pointing error (in mm) for 120sec delay trials.
sdError120:						Standard deviation of pointing error for 120sec delay trials.

nCptCurrent:					Number of CPT trials run in the current trial.
cptErrorsCurrent:				Number of CPT errors in the current trial.
nCptTotal:						Total number of CPT trials run. Separate counts for practice and test blocks.
cptErrorsTotal:					Total number CPT errors across the whole task. Separate counts for practice and test blocks.

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

inquisit.version:				Inquisit version run
computer.platform:				the platform the script was run on (win/mac/ios/android)
startDate:						date script was run
startTime:						time script was started
subjectId:						assigned subject id number
groupId:						assigned group id number
sessionId:						assigned session id number
elapsedTime:					time it took to run script (in ms); measured from onset to offset of script
completed:						0 = script was not completed (prematurely aborted); 
								1 = script was completed (all conditions run)

nCueTotal:						Total count of cue-present trials.
nCueValid:						Number of cue-present trials marked as valid.
sumErrorCue:					Sum of pointing error (in mm) across all valid cue-present trials.
ssErrorCue:						Squared sum of error across all valid cue-present trials.
mErrorCue:						Mean pointing error (in mm) for cue-present trials.
sdErrorCue:						Standard deviation of pointing error for cue-present trials.

n5Total:						Total count of 5sec delay trials.
n5Valid:						Number of 5sec delay trials markes as valid.
sumError5:						Sum of pointing error (in mm) across all valid 5sec delay trials.
ssError5:						Squared sum of error across all valid 5sec delay trials.
mError5:						Mean pointing error (in mm) for 5sec delay trials.
sdError5:						Standard deviation of pointing error for 5sec delay trials.

n60Total:						Total count of 60sec delay trials.
n60Valid:						Number of 60sec delay trials markes as valid.
sumError60:						Sum of pointing error (in mm) across all valid 60sec delay trials.
ssError60:						Squared sum of error across all valid 60sec delay trials.
mError60:						Mean pointing error (in mm) for 60sec delay trials.
sdError60:						Standard deviation of pointing error for 60sec delay trials.

n120Total:						Total count of 120sec delay trials.
n120Valid:						Number of 120sec delay trials markes as valid.
sumError120:					Sum of pointing error (in mm) across all valid 120sec delay trials.
ssError120:						Squared sum of error across all valid 120sec delay trials.
mError120:						Mean pointing error (in mm) for 120sec delay trials.
sdError120:						Standard deviation of pointing error for 120sec delay trials.

nCptCurrent:					Number of CPT trials run in the current trial.
cptErrorsCurrent:				Number of CPT errors in the current trial.
nCptTotal:						Total number of CPT trials run. Separate counts for practice and test blocks.
cptErrorsTotal:					Total number CPT errors across the whole task. Separate counts for practice and test blocks.

___________________________________________________________________________________________________________________	
EXPERIMENTAL SET-UP 
___________________________________________________________________________________________________________________	

3 blocks:
1. Screen calibration to size the stimuli for the current monitor
2. Practice: 4 practice trials (default)
3. Test: 
	* 24 nocue trials (cursor dot appears by itself)
		* 8 nocue trials present the memory test (pointing trial) after a delay (CPT task) of 5000ms
		* 8 nocue trials present the memory test (pointing trial) after a delay (CPT task) of 60000ms
		* 8 nocue trials present the memory test (pointing trial) after a delay (CPT task) of 120000ms
	* 8 cue trials (together with the cursor dot, the original dot appears in the exact position that it appeared in before)
		* all 8 cue trials present the memory test (pointing trial) after a delay (CPT task) of 5000ms
		
* CPT task: stimuli are selected randomly with replacement for the duration of the selected memory delay


Note: The Spatial Delayed Response Task (sdRT) requires stimulus sizes, positions as well as subjects'
pointing errors to be measured in millimeters. 
This script automatically 
a) checks that the current display is big enough to run this task 
b) calculates a 'pixel/mm' ratio for the current display and uses that
ratio to size the stimuli accordingly
	
___________________________________________________________________________________________________________________	
STIMULI
___________________________________________________________________________________________________________________	
see section Editable Stimuli

___________________________________________________________________________________________________________________	
INSTRUCTIONS 
___________________________________________________________________________________________________________________	

Instructions are not original to the task. They are provided by Millisecond Software
as htm/html pages and simple page elements and can be edited either by changing
the provided htm/html files or directly under Editable Instructions.
To edit htm/html-files: open the respective documents in simple Text Editors such as TextEdit (Mac)
or Notepad (Windows).

___________________________________________________________________________________________________________________	
EDITABLE CODE 
___________________________________________________________________________________________________________________	
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:

Absolute Stimulus Sizing:

	cuesizeMM			Size of the cue stimulus in millimeters. This value is converted to
							pixel dimensions.
							Default is 6.5mm.
							
							Note: Lyons-Warren et al (2004) used 10mm
							
	stimsizeMM			Size of the CPT stimuli in millimeters. This value is converted to
							pixel dimensions.
							Default is 20mm.
							
							
	radiusMM				Circle's radius (where cue can be located) in millimeters. 
							This value is converted to pixel dimensions
							Default is 60mm.
							
							Note: Lyons-Warren et al (2004) possibly used 95mm (the article states 950mm which looks like a printing error)						
							
							
Duration Parameters:							
							
	dur_precue_min			Minimum duration of precue delay.
	dur_precue_max			Maximum duration of precue delay.
	dur_cue					Cue presentation duration in milliseconds. Default is 150.
	dur_cpt					Duration of stimulus exposure in CPT trials. Default is 1000.
	dur_iti					Duration of the inter-trial-interval (ITI). Default is 1000.
	

Other Task Parameters:
							
	npracticetrials			Number of trials to absolve during practice. Default is 4.
	
	skippractice			Pseudo-boolean switch to en- or disable the practice block.
							0 -> run practice block
							1 -> skip practice block
							
	skiptest				Pseudo-boolean switch to en- or disable the test block.
							0 -> run test block
							1 -> skip test block