User Manual: Inquisit Self-Ordered Pointing Task


___________________________________________________________________________________________________________________	

					*Self-Ordered Pointing Task (SOPT) - Representational Drawings Version*
___________________________________________________________________________________________________________________	

Script Author: David Nitz (dave@millisecond.com) for Millisecond Software, LLC
last updated:  10-12-2023 by K. Borchert (katjab@millisecond.com) for Millisecond Software, LLC

Script Copyright © 10-12-2023 Millisecond Software

___________________________________________________________________________________________________________________
BACKGROUND INFO 	
___________________________________________________________________________________________________________________	
	This script implements the 'Self-Ordered Pointing Task' (SOPT) originally described in:
	Petrides, M., & Milner, B. (1982). Deficits on subject-ordered tasks after frontal- and 
	temporal-lobe lesions in man. Neuropsychologia, 20, 249–262.

	Specifically, this script is modelled after the representational drawings version and item set
	described in "A compendium of neuropsychological tests", pages 471-477:
	Strauss, E., Sherman, E. M. S., & Spreen, O. (2006). A compendium of neuropsychological 
	tests: Administration, norms and commentary (3rd Edition). Oxford University Press.

___________________________________________________________________________________________________________________
TASK DESCRIPTION	
___________________________________________________________________________________________________________________	
Participants are presented matrix displays of 6-12 items. They are asked to click on each item without
repetition. After each selection, the objects gets re-arranged.
___________________________________________________________________________________________________________________	
DURATION 
___________________________________________________________________________________________________________________	
the default set-up of the script takes appr. 10 minutes to complete

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

(1) Raw data file: 'sopt_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.
									
listLength: 						the number of items in the current display
response:							the participant's response
currentItem:						Variable used to determine correct / incorrect responses at runtime.

acc:								Variable reflecting whether a given response was correct (i.e. the item
									was not chosen previously) or incorrect. '1' designates correct, '0' means incorrect.
									
latency: 							the response latency (in ms)									
									
positionRule:						A pseudo-boolean switch. Setting this to '1' will enable the tasks
									position rule: Subjects are given an error message when they pick
									items from the same position on multiple consecutive trials.
									Setting this value to '0' will effectively disable this rule.

positionThreshold:					Adjustable parameter for the task's position rule. This value defines
									how many consecutive picks from the same position will trigger the
									error message. For example, setting the threshold to '1' will prompt the 
									subject as soon as she/he picks from the same position on two
									consecutive trials (e.g. '3rd position' -> '3rd position'). Setting this value 
									to '2' will prompt the subject when she/he selects from the same
									position on three consecutive trials (e.g. '6th position' -> '6th position'
									-> '6th position').

positionCount:						Variable holding the number of consecutive picks from the same 
									position. Needed to evaluate the position rule.

alphabetRule:						A pseudo-boolean switch to en- or disable the tasks alphabet rule: 
									Subjects are given an error message when they try to select items in 
									alphabetical order (e.g. 'banana' -> 'car' -> 'desk'). Setting this value to
									'1' enables the rule, a value of '0' disables it.

alphabetThreshold:					Adjustable paramter for the task's alphabet rule. This value defines how
									many consecutive picks in alphabetical order will trigger the error 
									message. For example, setting the threshold to '1' will prompt the 
									subject as soon as she/he picks two items in alphabetical order on two
									consecutive trials (e.g. 'banana' -> 'car'). Setting this value to '2' will 
									prompt the subject when she/he picks three items in alphabetical order 
									on three consecutive trials (e.g. 'banana' -> 'car' -> 'desk').

alphabetCount:						Variable holding the number of consecutive picks in alphabetical order.
									Needed to evaluate the alphabet rule.

runsixItem:							A pseudo-boolean switch determining whether the Six-Item-SOPT should
									be run. '1' will enable the Six-Item-Block, '0' will disable it.

sixItemErrors01:					Number of errors during the first run of the Six-Item-SOPT.
sixItemErrors02:					Number of errors during the second run of the Six-Item-SOPT.
sixItemErrors03:					Number of errors during the third run of the Six-Item-SOPT.
sixItemTotalErrors:					Total number of errors for the Six-Item-SOPT.

runeightItem:						A pseudo-boolean switch determining whether the Eight-Item-SOPT 
									should be run. '1' will enable the Eight-Item-Block, '0' will disable it.

eightItemErrors01:					Number of errors during the first run of the Eight-Item-SOPT.
eightItemErrors02:					Number of errors during the second run of the Eight-Item-SOPT.
eightItemErrors03:					Number of errors during the third run of the Eight-Item-SOPT.
eightItemTotalErrors:				Total number of errors for the Eight-Item-SOPT.

runtenItem:							A pseudo-boolean switch determining whether the Ten-Item-SOPT should
									be run. '1' will enable the Ten-Item-Block, '0' will disable it.

tenItemErrors01:					Number of errors during the first run of the Ten-Item-SOPT.
tenItemErrors02:					Number of errors during the second run of the Ten-Item-SOPT.
tenItemErrors03:					Number of errors during the third run of the Ten-Item-SOPT.
tenItemTotalErrors:					Total number of errors for the Ten-Item-SOPT.

runtwelveItem:						A pseudo-boolean switch determining whether the Twelve-Item-SOPT 
									should be run. '1' will enable the Twelve-Item-Block, '0' will disable it.

twelveItemErrors01:				Number of errors during the first run of the Twelve-Item-SOPT.
twelveItemErrors02:				Number of errors during the second run of the Twelve-Item-SOPT.
twelveItemErrors03:				Number of errors during the third run of the Twelve-Item-SOPT.
twelveItemTotalErrors:				Total number of errors for the Twelve-Item-SOPT.

totalErrors:						Total number of errors across the whole task.


(2) Summary data file: 'sopt_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)

(parameter) runsixitem:				A pseudo-boolean switch determining whether the Six-Item-SOPT should
									be run. '1' will enable the Six-Item-Block, '0' will disable it.

sixItemErrors01:					Number of errors during the first run of the Six-Item-SOPT.
sixItemErrors02:					Number of errors during the second run of the Six-Item-SOPT.
sixItemErrors03:					Number of errors during the third run of the Six-Item-SOPT.
sixItemTotalErrors:					Total number of errors for the Six-Item-SOPT.

(parameter) runeightitem:			A pseudo-boolean switch determining whether the Eight-Item-SOPT 
									should be run. '1' will enable the Eight-Item-Block, '0' will disable it.

eightItemErrors01:					Number of errors during the first run of the Eight-Item-SOPT.
eightItemErrors02:					Number of errors during the second run of the Eight-Item-SOPT.
eightItemErrors03:					Number of errors during the third run of the Eight-Item-SOPT.
eightItemTotalErrors:				Total number of errors for the Eight-Item-SOPT.

(parameter) runtenitem:				A pseudo-boolean switch determining whether the Ten-Item-SOPT should
									be run. '1' will enable the Ten-Item-Block, '0' will disable it.

tenItemErrors01:					Number of errors during the first run of the Ten-Item-SOPT.
tenItemErrors02:					Number of errors during the second run of the Ten-Item-SOPT.
tenItemErrors03:					Number of errors during the third run of the Ten-Item-SOPT.
tenItemTotalErrors:					Total number of errors for the Ten-Item-SOPT.

(parameter) runtwelveitem:			A pseudo-boolean switch determining whether the Twelve-Item-SOPT 
									should be run. '1' will enable the Twelve-Item-Block, '0' will disable it.

twelveItemErrors01:				Number of errors during the first run of the Twelve-Item-SOPT.
twelveItemErrors02:				Number of errors during the second run of the Twelve-Item-SOPT.
twelveItemErrors03:				Number of errors during the third run of the Twelve-Item-SOPT.
twelveItemTotalErrors:				Total number of errors for the Twelve-Item-SOPT.

totalErrors:						Total number of errors across the whole task.

___________________________________________________________________________________________________________________	
EXPERIMENTAL SET-UP 
___________________________________________________________________________________________________________________	
* 4 levels (number of pics): 6, 8, 10, 12 - run in blocked format with 3 repititions each (ascending order)
* experimenter can enable/disable the position rule ('always click on the same matrix position') and alphabet rule
('select by alphabet position') - by default the script checks whether participant engages in any of those rules

___________________________________________________________________________________________________________________	
STIMULI
___________________________________________________________________________________________________________________	
The picture stimuli were taken from a set prepared by Bruno Rossion and Gilles Pourtois,
freely available at 'http://www.nefy.ucl.ac.be/facecatlab/stimuli.htm'.
	
If you use these pictures in any published research, please cite the following source:
Rossion, B., & Pourtois, G. (2004). Revisiting Snodgrass and Vanderwart's object pictorial set:
The role of surface detail in basic-level object recognition. Perception, 33, 217-236.

The original black and white line-drawings are depicted in:
Snodgrass, J. G., & Vanderwart, M. (1980). A standardized set of 260 pictures: Norms for
name agreement, image agreement, familiarity, and visual complexity. Journal of 
Experimental Psychology: Human Learning and Memory, 6, 174-215.
	
___________________________________________________________________________________________________________________	
INSTRUCTIONS 
___________________________________________________________________________________________________________________	
see section Editable Instructions

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

	trialDelay:			Adjustable pretrialpause in milliseconds. Change as needed.
	positionRule:			A pseudo-boolean switch. Setting this to '1' will enable the tasks
							position rule: Subjects are given an error message when they pick
							items from the same position on multiple consecutive trials.
							Setting this value to '0' will effectively disable this rule.
							
	positionThreshold:	Adjustable parameter for the task's position rule. This value defines
							how many consecutive picks from the same position will trigger the
							error message. For example, setting the threshold to '1' will prompt the 
							subject as soon as she/he picks from the same position on two
							consecutive trials (e.g. '3rd position' -> '3rd position'). Setting this value 
							to '2' will prompt the subject when she/he selects from the same
							position on three consecutive trials (e.g. '6th position' -> '6th position'
							-> '6th position').
							
	alphabetRule:			A pseudo-boolean switch to en- or disable the tasks alphabet rule: 
							Subjects are given an error message when they try to select items in 
							alphabetical order (e.g. 'banana' -> 'car' -> 'desk'). Setting this value to
							'1' enables the rule, a value of '0' disables it.
							
	alphabetThreshold:	Adjustable paramter for the task's alphabet rule. This value defines how
							many consecutive picks in alphabetical order will trigger the error 
							message. For example, setting the threshold to '1' will prompt the 
							subject as soon as she/he picks two items in alphabetical order on two
							consecutive trials (e.g. 'banana' -> 'car'). Setting this value to '2' will 
							prompt the subject when she/he picks three items in alphabetical order 
							on three consecutive trials (e.g. 'banana' -> 'car' -> 'desk').

	The following values can be used to easily en- or disable certain sections of the task.

	runsixitem:			A pseudo-boolean switch determining whether the Six-Item-SOPT should
							be run. '1' will enable the Six-Item-Block, '0' will disable it.
							
	runeightitem:			A pseudo-boolean switch determining whether the Eight-Item-SOPT 
							should be run. '1' will enable the Eight-Item-Block, '0' will disable it.
							
	runtenitem:			A pseudo-boolean switch determining whether the Ten-Item-SOPT should
							be run. '1' will enable the Ten-Item-Block, '0' will disable it.
							
	runtwelveitem:		A pseudo-boolean switch determining whether the Twelve-Item-SOPT 
							should be run. '1' will enable the Twelve-Item-Block, '0' will disable it.