PoissonStimulus

class spikeometric.stimulus.PoissonStimulus(strength: float, mean_interval: int, duration: int, stimulus_masks: torch.Tensor, batch_size: int = 1, tau: int = 1, dt: float = 1, start: float = 0, rng=None)[source]

Bases: spikeometric.stimulus.base_stimulus.BaseStimulus

Poisson stimulus of neurons.

The stimulus times are modeled as a Poisson process with mean interval \(\lambda\) and total duration \(T\). The stimulus events are of duration \(\tau\) and strength \(s\).

Parameters
  • strength (float) – Strength of the stimulus \(s\)

  • mean_interval (int) – Mean interval \(\lambda\) between stimulus events

  • duration (int) – Total duration \(T\) of the stimulus.

  • stimulus_mask (torch.Tensor[bool]) – A mask of shape (n_neurons,) indicating which neurons to stimulate.

  • batch_size (int) – Number of networks to stimulate in parallel.

  • tau (int) – Duration of stimulus events

  • dt (float) – Time step of the simulation in ms.

  • start (float) – Start time of the first stimulus event. (ms)

  • rng (torch.Generator) – Random number generator.

__call__(t: Union[torch.Tensor, float]) torch.Tensor[source]

Computes stimulus at time t. The stimulus is 0 if t is not in the interval of a stimulus event and \(s\) if t is.

Parameters
  • t (torch.Tensor) – Time at which to compute the stimulus.

  • returns (torch.Tensor) – Stimulus at time t.