Right now, in a task where the rotation changes gradually, it does so by making sure the first trial actually has the specified initial rotation, while the last trial has the final rotation. This was not intended, and there are 2 problems with it:
if we specify to go from 0 to 30 degrees in 6 trials, we expect the change per trial to be: 30 / 6 = 5 degrees per trial... but it will actually be 30 / (6 - 1) = 6 degrees per trial
if we're interested in all the trial at 30 degrees, we can add another task with a constant 30 degrees rotation... but we still can't do a block-based analyses, as the first 30 degree trial is the last one of the task where it steadily inrceased
Right now, in a task where the rotation changes gradually, it does so by making sure the first trial actually has the specified initial rotation, while the last trial has the final rotation. This was not intended, and there are 2 problems with it:
Solution, the rotation on the trials should be:
start = 30 final = -30 trials = 12
In [20]: (((final - start) / trials) * numpy.arange(trials)) + start Out[20]: array([ 30, 25, 20, 15, 10, 5, 0, -5, -10, -15, -20, -25])
That is... if trials are zero-indexed internally...