___________________________________________________________________________________________________________________ *Random Dot Motion Displays: Demo* ___________________________________________________________________________________________________________________ Script Author: Katja Borchert, Ph.D. (katjab@millisecond.com) for Millisecond Software, LLC Date: 04-23-2021 last updated: 09-30-2024 by K. Borchert (katjab@millisecond.com) for Millisecond Software, LLC Script Copyright © 09-30-2024 Millisecond Software Millisecond Software thanks Dr. Aaron Seitz for his generous help with Random Dot Motion Displays! ___________________________________________________________________________________________________________________ BACKGROUND INFO ___________________________________________________________________________________________________________________ This script runs a demonstration of random dot motion displays that use dots whose positions are dynamically updated. The main idea for the dynamic dots is that each dot (example: 100 dots) moves through 121 positions* and for each position a certain number of these 100 dots are randomly selected to be signal dots (move coherently) and the remaining dots are assigned to be noise dots (are randomly placed). Signal Dots always move with the same 'speed' (=spatial offset from one position to the next), whereas the 'speed' of noise dots is random. Thus a dot that moves as a signal dot from position2 to position3 might randomly be selected to be a random noise dot for position4 (see Pilly & Seitz, 2009, figure1, p.3: "signal dots are recruited afresh from each frame to the next"). However, for each position, the same number of dots are recruited to be signal dots. *121 dot positions = based on the excel sheets originally provided by Dr. Aaron Seitz where he codes 121 frames for 105 dots This script is simply the shell to run a demo: it includes the following scripts / file = "rdkt_demo_dynamicdots_inc.iqjs" //the main demo script / file = "rdkt_dotPositions_dynamicdots_inc.iqjs" //a script that contains some helper function to set each dot / file = "rdkt_dynamicdots_100dots_inc.iqjs" //the scripts that contain the code for dynamic dot 1-10 Reference Pilly, P.K. & Aaron R. Seitz, A.R (2009) What a difference a parameter makes: A psychophysical comparison of random dot motion algorithms, Vision Research, 49, 1599-1612, https://doi.org/10.1016/j.visres.2009.03.019. __________________________________________________________________________________________________________________ TASK ___________________________________________________________________________________________________________________ This script runs as many demo trials as needed. For each trial: - the size of the background circle can be adjusted - select number of dots on the screen (from 1 to 100) - size of dots (in canvas height percentages) - movement coherence (1% to 100%) - 'speed' of coherent dots - movement angle (direction of movement) ___________________________________________________________________________________________________________________ DURATION ___________________________________________________________________________________________________________________ the default set-up of the script takes appr. 1 minutes to complete __________________________________________________________________________________________________________________ DATA OUTPUT DICTIONARY ___________________________________________________________________________________________________________________ The fields in the data files are: (1) Raw data file: 'xxxx_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. stimulusItem: the presented stimuli in order of trial presentation response: the participant's response latency: the response latency (in ms) numberOfDots: the number of dots currently on display coherence: the selected coherence value numberCoherentDots: the number of coherent dots (signal dots) numberRandomDots: the number of randomly placed dots (noise dots) radius: the radius of the selected background circle speed: the selected 'speed' of signal dots angle: the selected motion angle * separate data files: to change to one data file for all participants (on Inquisit Lab only), go to section "DATA" and follow further instructions