psychopy.org | Reference | Downloads | Github

Problem with DotStim noiseDots='direction'?

Hi there -

I am trying to use DotStim, but I think I’ve discovered a bug.

I’m trying to create a condition with noise dots only (coherence =0) and where noiseDots = ‘direction’ (each noise dot takes a random but constant direction).

I’ve tried playing with a number of parameters, but as far as I can tell, the direction is updating every frame, which means that noiseDots=‘direction’ is actually producing the same output as noiseDots=‘walk’

Could someone take a look to see if this is the case?

Here is my initial instantiation:

imgDots = visual.DotStim(
win, units=‘deg’,fieldShape=‘circle’,
nDots=nDots,dotSize=dotSize,dotLife=dotLife,speed=dotVel[0],
signalDots=‘different’,noiseDots=‘direction’,
fieldPos=(0,0),fieldSize=patchRad*2
)

… and then in my display loop, I update

imgDots.coherence = dotCoh[thisBlock]
imgDots.speed = dotVel[thisBlock]
imgDots.draw()

For the block in question,
dotCoh = 0
dotVel = 0.05

For my actual experiment, I will use a dotLife of 3 to 6 frames (50 - 100ms), but for testing I’ve been trying out much longer lifetimes so I can track the dots (e.g. 60 frames = 1000ms).

Thanks,
Ed

Ok, I found the problem:

when signalDots=‘different’, the direction is being updated every frame (because the signal/noise dot identity is shuffled), so noiseDots=‘direction’ is not possible when signalDots=‘different’.

I have now set signalDots=‘same’ and its doing what I want.