I have a MultiStairHandler which stores two independent 3-up-1-down staircases with step sizes [8,8,8,4,4,4,2,2,2,1,1,1]. My experiment saves the staircase information to a TSV and re-loads it when the experiment is restarted after stopping. This is just accomplished by reading the tsv output line by line, excluding any passive trials, and re-populating the staircase from scratch based on the previously presented values.
The code to reload the staircase works perfectly, but for reasons that are extremely unclear to me, StairHandler.next() breaks the next value, exceeding the maximum step size. For instance, if run 1 has staircase values [40,32,24,32], then after reloading and using .next() to compute the next value, I might see something like [40,32,24,32,57]. This obviously breaks the staircase and makes it extremely difficulty to equate difficulty across the two versions of my task.
Happy to share my code if needed. Does anybody have any ideas why this might occur, or if there’s a better way I’m meant to be re-populating a staircase based on previous values? please help