import torch import numpy as np def to_raster(spikes: torch.Tensor) -> np.ndarray: """Convert spike tensor (T,B,N) to raster array (T,N).""" return spikes.detach().cpu().numpy().mean(axis=1) def firing_rate(spikes: torch.Tensor, dt=1.0): """Compute firing rate per neuron.""" return spikes.sum(dim=0) / (spikes.shape[0] * dt)