Dot motion coherence staircase

Hi all,

Im aware there are similar posts but after having followed the guidance given in this to no avail, I have created a new post. I am using builder (to create basic template), code components and coder to edit my current experiment on Mac OSX 10.12, PsychoPy 2.
The experiment is as previously posted - a simple staircase 1up 3 down for 80% coherence accuracy in dot motion. I want the coherence level to alter in response to participants perception, and the trial responses to be left, right, up or down at random (the direction does not matter to me, it is simply to randomise).

As previous, I am having difficulty linking the staircase loop to the coherence level (i have used $level and this simply gives me dot motion at 1.0 coherence - despite my loop start val being 0.5). I have also tried $thisStair, scoured the manual and demos to no avail. I have a code component to determine random directions as below which shouldn’t ( I hope) interfere:

randRot = random.randint(0,3)*90 # choose a random rotation

if (randRot) == 0:
correctResp = ‘right’
elif (randRot) == 90:
correctResp = ‘down’
elif (randRot) == 180:
correctResp = ‘left’
elif (randRot) == 270:
correctResp = ‘up’

In the dot component, I have $level (which i assume is incorrect or I have missed something) as the coherence, direction is ‘randRot’ as per my code component and my keyboard response is correctly linked. Im sure it is something minor that I have missed!
As I mentioned, my current experiment displays dots moving either left, right, up or down and responds to the correct keys, however there is no adaptive change in coherence - any help much appreciated if you can see where I may have gone wrong


Hi @reviel, I cannot tell what your issue is from your post, but I have attached a working example of dot coherence using the stairhandler, written in version 1.90.1. I have made it intentionally easy with onscreen markers to demonstrate the change in coherence depending on your choice. You use the arrow keys to respond with the direction of the coherent motion. dotCoherence.psyexp (9.2 KB)

Hi @dvbridges, many thanks for your helpful demo. Apologies if the issue is unclear - I currently have an experiment which presents dots moving in one of 4 directions (0,90,180, 270) per trial and a number of noise dots moving on top. The participant responds using the keyboard to the direction of dot movement (ignoring distractor dots), and moves to the next trial, which generates another set of dots and noise dots moving in one of 4 directions (determined randomly). What I have attempted is to set a simple staircase so that the coherence of dots to noise dots is altered each time (made more difficult) in response to correct keyboard responses. The direction of the dots is not important in this experiment (simply to avoid order effects), but determining a threshold for motion coherence is the aim. At present, the ‘level’ variable in coherence box in the builder does not allow for a correct response to ‘feed forward’ into a harder trial. Having scoured the script, ‘level’ in the stair handler is set to ‘level = thisStair=0.5’ - 0.5 being my startval !

hi I also have the same issue. if you have found the solution please do help me as well.