File size: 699 Bytes
250836c
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
"""Raster visualization data preparation."""

from __future__ import annotations

from collections.abc import Mapping, Sequence


def raster_series(
    result: Mapping[str, object], limit: int = 10_000
) -> dict[str, list[int]]:
    monitors = result.get("monitors", {})
    spikes = monitors.get("spikes", []) if isinstance(monitors, Mapping) else []
    ticks: list[int] = []
    neuron_ids: list[int] = []
    if isinstance(spikes, Sequence):
        for item in spikes[:limit]:
            if isinstance(item, Mapping):
                ticks.append(int(item.get("tick", 0)))
                neuron_ids.append(int(item.get("neuron_id", 0)))
    return {"ticks": ticks, "neuron_ids": neuron_ids}