arbor-sim/arbor

Signature of spike structure is lacking some explanation

Closed this issue · 3 comments

Helveg commented

https://docs.arbor-sim.org/en/latest/python/simulation.html#arbor.simulation.spikes is missing the closing parenthesis, and it's not clearly explained what 'source', 'gid', 'index', or 'time' are.

Edit: not actually missing a parenthesis

Helveg commented

And when I unpack it as (source, (gid, index), time) I get not enough values to unpack (expected 3, got 2), so I suppose the signature is trying to say "source (composed of (gid, index)) and time", but that's also not clear with ('source', [('gid', '<u4'), ('index', '<u4')]), ('time', '<f8'). I'm sure this is probably a very correct numpy style array description, but it doesn't really land immediately 😅

Granted, it's kind of arcane and only rings true with numpy veterans, but it's also quite precise.
How about:

  • Source
    • gid: integer; global id of the source cell
    • lid: integer; index of the spike source on the source cell, eg the lidth detector on a cable cell.
  • Time: float; time of the spike.

Do you want to fix this or shall I give it a go?

PS: We can then deliver the correct data type specifier as a footnote.

Helveg commented

I see I'm too late! Quick work. I love the proposed changed in #2229 :)