_Pool#

class _Pool(
cells: list,
initial_voltage__mV: float | list[float] | None = None,
spike_threshold__mV: float = -10.0,
)[source]#

Bases: object

Base class for neuron cell populations.

Provides common functionality for managing groups of neurons including voltage initialization for populations with real NEURON sections and configurable spike detection thresholds.

Parameters:
  • cells (list) – List of neuron cells in the population.

  • initial_voltage__mV (Union[float, list[float]], optional) – Initial membrane voltage(s) in millivolts for populations with real NEURON sections. Can be a single value applied to all cells or a list of per-cell values. If None (default), no voltage initialization is performed, which is appropriate for dummy cell populations.

  • spike_threshold__mV (float, optional) – Spike detection threshold in millivolts for recording spikes from this population. Motor neurons typically need higher thresholds (e.g., 50.0 mV) while interneurons use lower thresholds (-10.0 mV). By default -10.0.

Notes

Populations with dummy cells (e.g., DescendingDrive, AffIa, AffIb) should not provide initial_voltage__mV as they have no real soma or dendrite sections to initialize. Populations with real NEURON sections (e.g., AlphaMN, AffII, GII, GIb) should provide appropriate voltage values.

Different neuron types have different action potential amplitudes: - Motor neurons: typically reach 80-100 mV, need threshold ~50 mV - Interneurons: typically reach 30-50 mV, can use default -10 mV

Methods

__init__

get_initialization_data

Return sections and their initial voltages for NEURON simulation setup.

get_initialization_data() tuple[list, list][source]#

Return sections and their initial voltages for NEURON simulation setup.

Collects all soma and dendrite sections from the neuron population along with their corresponding initial voltage values for proper NEURON simulation initialization. Returns empty lists if this population doesn’t have voltage initialization (e.g., dummy cells).

Returns:

First list contains NEURON section objects (soma and dendrites). Second list contains corresponding initial voltages in mV. Both lists will be empty if population has no voltage initialization.

Return type:

tuple[list, list]