User Manual: Inquisit Random Dot Kinematogram (RDK) Demo


___________________________________________________________________________________________________________________	

									*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