Скажем, я создал файл dots = psychopy.visual.DotStim
. Можно ли изменить количество точек позже? dots.nDots = 5
приводит к ошибке на следующем dots.draw()
, потому что базовые матрицы не совпадают:
Traceback (most recent call last):
File "/home/jonas/Documents/projects/work pggcs/experiment/dots.py", line 32, in <module>
dots_right.draw()
File "/usr/lib/python2.7/dist-packages/psychopy/visual/dot.py", line 279, in draw
self._update_dotsXY()
File "/usr/lib/python2.7/dist-packages/psychopy/visual/dot.py", line 362, in _update_dotsXY
self._verticesBase[:,0] += self.speed*numpy.reshape(numpy.cos(self._dotsDir),(self.nDots,))
File "/usr/lib/python2.7/dist-packages/numpy/core/fromnumeric.py", line 218, in reshape
return reshape(newshape, order=order)
ValueError: total size of new array must be unchanged
То же самое относится и к psychopy.visual.ElementArrayStim
, для которого установка stim.nElements = 5
аналогичным образом приводит к ошибке при следующем розыгрыше.
Решение, конечно, состоит в том, чтобы создавать новый экземпляр DotStim
или ElementArrayStim
каждый раз, когда количество точек/элементов должно измениться, но это кажется слишком тяжелым.