User Manual: Inquisit Method of Limits


___________________________________________________________________________________________________________________	

						DIFFERENCE THRESHOLD: METHOD OF LIMITS (Example: determine difference threshold for a red)
___________________________________________________________________________________________________________________

Script Author: Katja Borchert, Ph.D. (katjab@millisecond.com) for Millisecond Software, LLC
Date: 01-20-2014
last updated:  06-06-2023 by K. Borchert (katjab@millisecond.com) for Millisecond Software, LLC

Script Copyright © 06-06-2023 Millisecond Softwareoftware

___________________________________________________________________________________________________________________
BACKGROUND INFO 	
___________________________________________________________________________________________________________________
This script implements the METHOD OF LIMITS to estimate the difference threshold for a particular color red

Reference: 
Ehrenstein, W.H. & and Addie Ehrenstein, A. (1999). Psychophysical Methods. In U. Windhorst & H. Johansson, Hakan (Eds.), 
Modern Techniques in Neuroscience Research (pp.1211-1241). Heidelberg: Springer.
(->http://uni-leipzig.de/~isp/isp/history/texts/PSYPHY-M.PDF)

___________________________________________________________________________________________________________________
TASK DESCRIPTION	
___________________________________________________________________________________________________________________
Participants are asked repeatedly whether a red Target color is lighter or darker than a red base color. 
For example: the red component of the target color is lighter. As long as participants say the target 
red is lighter than the base red, the target red gets adjusted by a preestablished step size (editable
value). Once participants reverse their answer (and say it's darker), the trial is over and the threshold is
calculated as the mean between the last two red color components for the target (aka the last "lighter" and 
the first "darker" red component).

By default this scripts estimates the Difference Thresholds for 1 red colors (-> editable parameters), 
with 2 trials each, one for a lighter and one for a darker start target. The order is determined randomly
for each participant (-> list.baseline_values)

1 cycle = 1 "up" sequence + 1 "down" sequence

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

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

(1) Raw data file: 'limitsmethod_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. 
										
cycles:								stores the number of "limits" cycles run (one cycle runs an up and a down sequence)

baselineValue:						stores the color of the current base
targetValue:						stores the color of the current 

direction:							1 = Down (sequence starts with targetvalue > baseline value)
									2 = Up (sequence starts with targetvalue < baseline value)

sequenceCount:						counts how many limits sequences have been run in a cycle
	
response:							the participant's response
latency: 							the response latency in ms
						
diffThresholdUp:					the estimated Difference threshold for the current UP sequence (= starting with
									target value < baseline value)
								
diffThresholdDown:					the estimated Difference threshold for the current DOWN sequence (= starting with
									target value > baseline value)
								
totaldiffThreshold:					mean difference threshold for one adjustment cycle (up and down)


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

cycles:								stores the number of "limit" cycles run
step:								the stepsize with which the target color increases/decreases (default: 2)

parameters.initialdifference:		initial difference in the red component of target and base (default: 50+1 = 51)
									Note: in this script the initial difference is selected in such a way that the
									adjusted targetvalues are always either above or below baseline.
										
parameters.baselineValue1:			the baseline_value of the first "limits" cycle

diffThreshold1:						stores the Difference Threshold of the first cycle
										Note: by design, this script only runs one cycle
								

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

/responseKeyLighter: -
/responseKeyDarker:				the response key assignments (scancodes and labels)
									
/baselineValue1:					the baseline value (0 -> black, 255 -> brightest red) for cycle 1
									Note: to add further cycles with different basevalues
									add a value for each new baseline value you want to test and go to
									BLOCKS for further instructions.

/step:								the stepsize with which the target color increases/decreases (default: 2)

/initialdifference:					initial difference in the red component of target and base (default: 50+1 = 51)
									Note: in this script the initial difference is selected in such a way that the
									adjusted targetvalues are always either above or below baseline.

/interAdjustmentPause:				pause after an adjustment sequence in ms (default: 500ms)