User Manual: Inquisit Method of Constant Stimuli


___________________________________________________________________________________________________________________	

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

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

Script Copyright © 02-21-2022 Millisecond Software

___________________________________________________________________________________________________________________
BACKGROUND INFO 	
___________________________________________________________________________________________________________________	
This script implements the METHOD OF CONSTANT STIMULI to estimates 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. 
By default, 7 targetvalues (3 lighter, 3 darker, 1 the same) are presented 10 times each in a random
order.

At the end a difference threshold is estimated = hypothetical targetvalue at which point participant
says the red is lighter 50% of the times.
=> Underlying idea: Difference threshold is at the point where participant says "lighter" 50% of the times.
The algorithm estimates the targetvalue at "50% lighter responses" by linear interpolation.

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

___________________________________________________________________________________________________________________	
DATA FILE INFORMATION 
___________________________________________________________________________________________________________________
The default data stored in the data files are:

(1) Raw data file: 'constantstimulimethod_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.
										
taskcount:							counts how many adjustment tasks have been run	
baseline_value:						stores the color of the current base 
target_value:						stores the color of the current target Color
response:							the participant's response
latency: 							the response latency


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

parameters.step:					the stepsize used to calculate the target red color values

baseline_value:						the default baseline_value

targetvalue1-
targetvalue7:						calculates the targetvalues (here: the red color components of the target stimuli) depending on parameters.step

percentup_targetvalue1-
percentup_targetvalue7:				calculates the percentage of "lighter" responses for each targetvalue

NoNegativeSlope:					determines whether the percentage of "lighter" response for a given targetvalue are greater or the same
									as the percentage of "lighter" responses for the preceding targetvalue
									Note: the number of lighter reponses should NOT DEcrease for lighter targetvalues (they can, however,
									stay the same)
									!!!If expressions.nonegativeslope is evaluated to being false, the threshold is not determined
										by the script algorithm. The raw data might need to be re-evaluated manually.
									0 = a negative slope was detected
									1 = no negative slope was detected
										
Diffthreshold:						determines the Difference Threshold (if for some reason the implemented algorithm cannot calculate
									a threshold, the data will read "not determined". The raw data might need to be re-evaluated manually).
									Implemented Algorithm: 
									Underlying idea: Difference threshold is at the point where participant says "lighter" 50% of the times.
									The algorithm estimates the targetvalue at "50% lighter responses" by linear interpolation.
								
									
___________________________________________________________________________________________________________________	
EXPERIMENTAL SET-UP 
___________________________________________________________________________________________________________________	

By default, 7 targetvalues (3 lighter, 3 darker, 1 the same) are presented 10 times each in a random
order.

At the end a difference threshold is estimated = hypothetical targetvalue at which point participant
says the red is lighter 50% of the times.
=> Underlying idea: Difference threshold is at the point where participant says "lighter" 50% of the times.
The algorithm estimates the targetvalue at "50% lighter responses" by linear interpolation.

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

/responsekey_up-
/responsekey_down:			Response Key assignments
								up -> 'lighter'
								down -> 'darker'

/baselinevalue:				the baselinevalue (0 -> black, 255 -> brightest red)

/step:						the stepsize used to calculate the target red color values

/debug_displaytargetvalue:	false: debug information is not displayed on screen (default)
							true: debug information is displayed on screen