___________________________________________________________________________________________________________________ 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