ThomasHeisig's picture
Sync GitHub main e8a04aea24121d15707238534e635cf0ceee8eaf (part 8)
250836c verified
Raw History Blame Contribute Delete
699 Bytes
"""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}