sampling interval semantics
Hi all,
just looking into the recording interface for getting the spinnaker version of PyNN 0.8 one up and running, and saw what may be a semantic implication mismatch.
when you say record, your adding new atoms to be recorded (grand) but your also adding a new sampling interval. This sampling interval overrides all previous set sampling intervals, as its just a int. so the following calls results in what id believe end users would say is unexpected behavior
pop.record([1,2,3,4], 20) this sets 1,2,3,4 to a sampling interval of 20 pop.record([6,7,8,910], 10) this sets 1,2,3,4,6,7,8,9,10 to a sampling interval of 10 whereas as a end user, id expect 1,2,3,4 to be at an sampling interval of 20, and 6,7,8,9,10 to be at a sampling interval of 10
if the sampling interval is meant to be global over the pop, then can we separate out the calls so that its explicit to the end user?
pop.record([1,2,3,4]) pop.record([6,7,8,910]) pop.set_sampling_interval(20)
if its meant to be per atom, then the interface is sound, but the source code for everyone looks like it needs a bit of rewriting.
regards Alan
ok, been digging deeper and getting more lost, but finding a exception checker for sampling interval being consistent over all atoms of the pop.
This implies that we should break this call into 2 for clarity sake.
It should be possible to record different neurons at different sampling rates.