ANNarchy 4.8.2
  • ANNarchy
  • Installation
  • Tutorial
  • Manual
  • Notebooks
  • Reference

  • Reference
  • Core components
    • Population
    • Projection
    • Neuron
    • Synapse
    • Monitor
    • PopulationView
    • Dendrite
    • Network
  • Configuration
    • setup
    • compile
    • clear
    • reset
    • set_seed
    • get_population
    • get_projection
    • populations
    • projections
    • monitors
  • Simulation
    • simulate
    • simulate_until
    • step
    • parallel_run
    • enable_learning
    • disable_learning
    • get_time
    • set_time
    • get_current_step
    • set_current_step
    • dt
  • Neuron models
    • LeakyIntegrator
    • Izhikevich
    • IF_curr_exp
    • IF_cond_exp
    • IF_curr_alpha
    • IF_cond_alpha
    • HH_cond_exp
    • EIF_cond_alpha_isfa_ista
    • EIF_cond_exp_isfa_ista
  • Synapse models
    • STP
    • STDP
    • Hebb
    • Oja
    • IBCM
  • Inputs
    • InputArray
    • TimedArray
    • PoissonPopulation
    • TimedPoissonPopulation
    • SpikeSourceArray
    • HomogeneousCorrelatedSpikeTrains
    • CurrentInjection
    • DecodingProjection
    • ImagePopulation
    • VideoPopulation
  • IO
    • save
    • load
    • save_parameters
    • load_parameters
  • Utilities
    • report
  • Random Distributions
    • Uniform
    • DiscreteUniform
    • Normal
    • LogNormal
    • Exponential
    • Gamma
    • Binomial
  • Functions and Constants
    • add_function
    • functions
    • Constant
    • get_constant
  • Plotting
    • raster_plot
    • histogram
    • inter_spike_interval
    • coefficient_of_variation
    • population_rate
    • smoothed_rate
  • Callbacks
    • every
    • callbacks_enabled
    • disable_callbacks
    • enable_callbacks
    • clear_all_callbacks
  • Convolution
    • Convolution
    • Pooling
    • Transpose
    • Copy
  • BOLD monitoring
    • BoldMonitor
    • BoldModel
    • balloon_RN
    • balloon_RL
    • balloon_CN
    • balloon_CL
    • balloon_maith2021
    • balloon_two_inputs
  • Tensorboard logging
    • Logger
  • ANN-to-SNN conversion
    • ANNtoSNNConverter

On this page

  • PoissonPopulation
    • Parameters

PoissonPopulation

inputs.PoissonPopulation.PoissonPopulation(
    self,
    geometry,
    name=None,
    rates=None,
    target=None,
    parameters=None,
    refractory=None,
    copied=False,
)

Population of spiking neurons following a Poisson distribution.

Case 1: Input population

Each neuron of the population will randomly emit spikes, with a mean firing rate defined by the rates argument.

The mean firing rate in Hz can be a fixed value for all neurons:

pop = ann.PoissonPopulation(geometry=100, rates=100.0)

but it can be modified later as a normal parameter:

pop.rates = np.linspace(10, 150, 100)

It is also possible to define a temporal equation for the rates, by passing a string to the argument:

pop = ann.PoissonPopulation(
    geometry=100, 
    rates="100.0 * (1.0 + sin(2*pi*t/1000.0) )/2.0"
)

The syntax of this equation follows the same structure as neural variables.

It is also possible to add parameters to the population which can be used in the equation of rates:

pop = ann.PoissonPopulation(
    geometry=100,
    parameters = '''
        amp = 100.0
        frequency = 1.0
    ''',
    rates="amp * (1.0 + sin(2*pi*frequency*t/1000.0) )/2.0"
)

Note: The preceding definition is fully equivalent to the definition of this neuron:

poisson = ann.Neuron(
    parameters = '''
        amp = 100.0
        frequency = 1.0
    ''',
    equations = '''
        rates = amp * (1.0 + sin(2*pi*frequency*t/1000.0) )/2.0
        p = Uniform(0.0, 1.0) * 1000.0 / dt
    ''',
    spike = '''
        p < rates
    '''
)

The refractory period can also be set, so that a neuron can not emit two spikes too close from each other.

Case 2: Hybrid population

If the rates argument is not set, the population can be used as an interface from a rate-coded population.

The target argument specifies which incoming projections will be summed to determine the instantaneous firing rate of each neuron.

Parameters

Name Type Description Default
geometry int | tuple[int] population geometry as tuple. required
name str unique name of the population (optional). None
rates float | str mean firing rate of each neuron. It can be a single value (e.g. 10.0) or an equation (as string). None
target str the mean firing rate will be the weighted sum of inputs having this target name (e.g. “exc”). None
parameters str additional parameters which can be used in the rates equation. None
refractory float refractory period in ms. None
TimedArray
TimedPoissonPopulation
 

Copyright Julien Vitay, Helge Ülo Dinkelbach, Fred Hamker