pynn_brainscales.brainscales2.morphology.McNeuronBase
-
class
pynn_brainscales.brainscales2.morphology.
McNeuronBase
(**parameters) Bases:
pynn_brainscales.brainscales2.standardmodels.cells_base.StandardCellType
,abc.ABC
Base class for multi-compartmental neuron models.
Contains the core functionality for multi-compartment neurons. It flattens the hierarchy of a lola.AtomicNeuron, for example lola.AtomicNeuron.multicompartment.i_bias_nmda is expressed as the parameter multicompartment_i_bias_nmda. Parameters related to the event routing, configuration of morphology and readout are not exposed since they are determined by other settings in PyNN.
- A subclass is expected to set the following member variables:
compartments: Dictionary of Compartment Ids and Compartments.
- logical_neuron: Configuration of the neuron in form of a logical
neuron.
logical_compartments: Shape of the morphology.
-
__init__
(**parameters) Initialize self. See help(type(self)) for accurate signature.
Methods
__init__
(**parameters)Initialize self.
add_to_chip
(cell_ids, config)Add configuration of each neuron in the parameter space to the give chip object.
add_to_input_generator
(population, builder, …)Add external events to input generator.
add_to_network_graph
(population, builder)Add population to network builder.
apply_config
(coords)Apply configuration initial configuration saved in the simulator state to the parameter space.
get_compartment_ids
(labels)Get compartment Ids of compartments with the specified labels.
get_label
(compartment_id)Retrieve label of a single compartment.
Retrieve list of all used labels.
get_logical_neuron
(cell_in_pop)Extract parameters from parameter space and apply it to a logical
Attributes
-
add_to_chip
(cell_ids: List, config: pylola_vx_v3.Chip) → None Add configuration of each neuron in the parameter space to the give chip object.
- Parameters
cell_ids – Cell IDs for each neuron in the parameter space of this celltype object.
chip – Lola chip object which is altered.
-
static
add_to_input_generator
(population: pyNN.common.populations.Population, builder: _pygrenade_vx_network.InputGenerator, snippet_begin_time, snippet_end_time) Add external events to input generator. :param population: Population to add featuring this cell’s celltype. :param builder: Input builder to add external events to.
-
static
add_to_network_graph
(population: pyNN.common.populations.Population, builder: _pygrenade_vx_network.NetworkBuilder) → _pygrenade_vx_network.PopulationOnNetwork Add population to network builder. :param population: Population to add featuring this cell’s celltype. :param builder: Network builder to add population to. :return: Descriptor of added population
-
apply_config
(coords: List[pyhalco_hicann_dls_vx_v3.LogicalNeuronOnDLS]) → None Apply configuration initial configuration saved in the simulator state to the parameter space.
- Parameters
coords – List of coordinates for which to look up the initial configuration. Needs same order and dimensions as parameter_space.
-
compartments
: Dict = {}
-
conductance_based
: Final[bool] = False
-
classmethod
get_compartment_ids
(labels: Sequence[str]) → List[pyhalco_hicann_dls_vx_v3.CompartmentOnLogicalNeuron] Get compartment Ids of compartments with the specified labels.
- Parameters
labels – Labels for which to extract the compartment IDs.
- Returns
IDs of compartments for which the given labels match. Note that a single label can match one or more compartment IDS.
- Raises
ValueError – If no compartment can be matched to one of the given labels.
-
classmethod
get_default_values
() → dict
-
classmethod
get_label
(compartment_id: pyhalco_hicann_dls_vx_v3.CompartmentOnLogicalNeuron) → str Retrieve label of a single compartment.
- Parameters
compartment_id – ID of compartment for which to retrieve the label.
- Returns
Label of selected compartment.
-
classmethod
get_labels
() → List[str] Retrieve list of all used labels.
- Returns
List of all used labels.
-
get_logical_neuron
(cell_in_pop: int) → pylola_vx_v3.LogicalNeuron - Extract parameters from parameter space and apply it to a logical
neuron.
- Parameters
cell_in_pop – Index of neuron in population for which to return the configuration as a logical neuron.
- Returns
Configuration of a single neuron in form of a logical neuron.
-
injectable
: Final[bool] = True
-
logical_compartments
: pyhalco_hicann_dls_vx_v3.LogicalNeuronCompartments = LogicalNeuronCompartments( )
-
logical_neuron
: pylola_vx_v3.LogicalNeuron
-
receptor_types
: Final[List[str]] = ['excitatory', 'inhibitory']
-
recordable
: Final[List[str]] = ['spikes', 'v', 'exc_synin', 'inh_synin', 'adaptation']
-
single_active_circuit
= True
-
translations
= {'adaptation_enable': {'forward_transform': 'adaptation_enable', 'reverse_transform': 'adaptation_enable', 'translated_name': 'adaptation_enable'}, 'adaptation_enable_pulse': {'forward_transform': 'adaptation_enable_pulse', 'reverse_transform': 'adaptation_enable_pulse', 'translated_name': 'adaptation_enable_pulse'}, 'adaptation_i_bias_a': {'forward_transform': 'adaptation_i_bias_a', 'reverse_transform': 'adaptation_i_bias_a', 'translated_name': 'adaptation_i_bias_a'}, 'adaptation_i_bias_b': {'forward_transform': 'adaptation_i_bias_b', 'reverse_transform': 'adaptation_i_bias_b', 'translated_name': 'adaptation_i_bias_b'}, 'adaptation_i_bias_tau': {'forward_transform': 'adaptation_i_bias_tau', 'reverse_transform': 'adaptation_i_bias_tau', 'translated_name': 'adaptation_i_bias_tau'}, 'adaptation_invert_a': {'forward_transform': 'adaptation_invert_a', 'reverse_transform': 'adaptation_invert_a', 'translated_name': 'adaptation_invert_a'}, 'adaptation_invert_b': {'forward_transform': 'adaptation_invert_b', 'reverse_transform': 'adaptation_invert_b', 'translated_name': 'adaptation_invert_b'}, 'adaptation_v_leak': {'forward_transform': 'adaptation_v_leak', 'reverse_transform': 'adaptation_v_leak', 'translated_name': 'adaptation_v_leak'}, 'adaptation_v_ref': {'forward_transform': 'adaptation_v_ref', 'reverse_transform': 'adaptation_v_ref', 'translated_name': 'adaptation_v_ref'}, 'bayesian_connect_fire_from_right': {'forward_transform': 'bayesian_connect_fire_from_right', 'reverse_transform': 'bayesian_connect_fire_from_right', 'translated_name': 'bayesian_connect_fire_from_right'}, 'bayesian_connect_fire_to_right': {'forward_transform': 'bayesian_connect_fire_to_right', 'reverse_transform': 'bayesian_connect_fire_to_right', 'translated_name': 'bayesian_connect_fire_to_right'}, 'bayesian_connect_fire_vertical': {'forward_transform': 'bayesian_connect_fire_vertical', 'reverse_transform': 'bayesian_connect_fire_vertical', 'translated_name': 'bayesian_connect_fire_vertical'}, 'bayesian_enable_master': {'forward_transform': 'bayesian_enable_master', 'reverse_transform': 'bayesian_enable_master', 'translated_name': 'bayesian_enable_master'}, 'bayesian_enable_slave': {'forward_transform': 'bayesian_enable_slave', 'reverse_transform': 'bayesian_enable_slave', 'translated_name': 'bayesian_enable_slave'}, 'bayesian_operation': {'forward_transform': 'bayesian_operation', 'reverse_transform': 'bayesian_operation', 'translated_name': 'bayesian_operation'}, 'bayesian_to_post_pulse': {'forward_transform': 'bayesian_to_post_pulse', 'reverse_transform': 'bayesian_to_post_pulse', 'translated_name': 'bayesian_to_post_pulse'}, 'constant_current_enable': {'forward_transform': 'constant_current_enable', 'reverse_transform': 'constant_current_enable', 'translated_name': 'constant_current_enable'}, 'constant_current_i_offset': {'forward_transform': 'constant_current_i_offset', 'reverse_transform': 'constant_current_i_offset', 'translated_name': 'constant_current_i_offset'}, 'constant_current_type': {'forward_transform': 'constant_current_type', 'reverse_transform': 'constant_current_type', 'translated_name': 'constant_current_type'}, 'event_routing_address': {'forward_transform': 'event_routing_address', 'reverse_transform': 'event_routing_address', 'translated_name': 'event_routing_address'}, 'event_routing_enable_bypass_excitatory': {'forward_transform': 'event_routing_enable_bypass_excitatory', 'reverse_transform': 'event_routing_enable_bypass_excitatory', 'translated_name': 'event_routing_enable_bypass_excitatory'}, 'event_routing_enable_bypass_inhibitory': {'forward_transform': 'event_routing_enable_bypass_inhibitory', 'reverse_transform': 'event_routing_enable_bypass_inhibitory', 'translated_name': 'event_routing_enable_bypass_inhibitory'}, 'event_routing_enable_post_overwrite': {'forward_transform': 'event_routing_enable_post_overwrite', 'reverse_transform': 'event_routing_enable_post_overwrite', 'translated_name': 'event_routing_enable_post_overwrite'}, 'excitatory_input_enable': {'forward_transform': 'excitatory_input_enable', 'reverse_transform': 'excitatory_input_enable', 'translated_name': 'excitatory_input_enable'}, 'excitatory_input_enable_coba_mode': {'forward_transform': 'excitatory_input_enable_coba_mode', 'reverse_transform': 'excitatory_input_enable_coba_mode', 'translated_name': 'excitatory_input_enable_coba_mode'}, 'excitatory_input_enable_high_resistance': {'forward_transform': 'excitatory_input_enable_high_resistance', 'reverse_transform': 'excitatory_input_enable_high_resistance', 'translated_name': 'excitatory_input_enable_high_resistance'}, 'excitatory_input_enable_small_capacitance': {'forward_transform': 'excitatory_input_enable_small_capacitance', 'reverse_transform': 'excitatory_input_enable_small_capacitance', 'translated_name': 'excitatory_input_enable_small_capacitance'}, 'excitatory_input_i_bias_coba': {'forward_transform': 'excitatory_input_i_bias_coba', 'reverse_transform': 'excitatory_input_i_bias_coba', 'translated_name': 'excitatory_input_i_bias_coba'}, 'excitatory_input_i_bias_gm': {'forward_transform': 'excitatory_input_i_bias_gm', 'reverse_transform': 'excitatory_input_i_bias_gm', 'translated_name': 'excitatory_input_i_bias_gm'}, 'excitatory_input_i_bias_tau': {'forward_transform': 'excitatory_input_i_bias_tau', 'reverse_transform': 'excitatory_input_i_bias_tau', 'translated_name': 'excitatory_input_i_bias_tau'}, 'excitatory_input_i_shift_reference': {'forward_transform': 'excitatory_input_i_shift_reference', 'reverse_transform': 'excitatory_input_i_shift_reference', 'translated_name': 'excitatory_input_i_shift_reference'}, 'excitatory_input_v_rev_coba': {'forward_transform': 'excitatory_input_v_rev_coba', 'reverse_transform': 'excitatory_input_v_rev_coba', 'translated_name': 'excitatory_input_v_rev_coba'}, 'exponential_enable': {'forward_transform': 'exponential_enable', 'reverse_transform': 'exponential_enable', 'translated_name': 'exponential_enable'}, 'exponential_i_bias': {'forward_transform': 'exponential_i_bias', 'reverse_transform': 'exponential_i_bias', 'translated_name': 'exponential_i_bias'}, 'exponential_v_exp': {'forward_transform': 'exponential_v_exp', 'reverse_transform': 'exponential_v_exp', 'translated_name': 'exponential_v_exp'}, 'inhibitory_input_enable': {'forward_transform': 'inhibitory_input_enable', 'reverse_transform': 'inhibitory_input_enable', 'translated_name': 'inhibitory_input_enable'}, 'inhibitory_input_enable_coba_mode': {'forward_transform': 'inhibitory_input_enable_coba_mode', 'reverse_transform': 'inhibitory_input_enable_coba_mode', 'translated_name': 'inhibitory_input_enable_coba_mode'}, 'inhibitory_input_enable_high_resistance': {'forward_transform': 'inhibitory_input_enable_high_resistance', 'reverse_transform': 'inhibitory_input_enable_high_resistance', 'translated_name': 'inhibitory_input_enable_high_resistance'}, 'inhibitory_input_enable_small_capacitance': {'forward_transform': 'inhibitory_input_enable_small_capacitance', 'reverse_transform': 'inhibitory_input_enable_small_capacitance', 'translated_name': 'inhibitory_input_enable_small_capacitance'}, 'inhibitory_input_i_bias_coba': {'forward_transform': 'inhibitory_input_i_bias_coba', 'reverse_transform': 'inhibitory_input_i_bias_coba', 'translated_name': 'inhibitory_input_i_bias_coba'}, 'inhibitory_input_i_bias_gm': {'forward_transform': 'inhibitory_input_i_bias_gm', 'reverse_transform': 'inhibitory_input_i_bias_gm', 'translated_name': 'inhibitory_input_i_bias_gm'}, 'inhibitory_input_i_bias_tau': {'forward_transform': 'inhibitory_input_i_bias_tau', 'reverse_transform': 'inhibitory_input_i_bias_tau', 'translated_name': 'inhibitory_input_i_bias_tau'}, 'inhibitory_input_i_shift_reference': {'forward_transform': 'inhibitory_input_i_shift_reference', 'reverse_transform': 'inhibitory_input_i_shift_reference', 'translated_name': 'inhibitory_input_i_shift_reference'}, 'inhibitory_input_v_rev_coba': {'forward_transform': 'inhibitory_input_v_rev_coba', 'reverse_transform': 'inhibitory_input_v_rev_coba', 'translated_name': 'inhibitory_input_v_rev_coba'}, 'leak_enable_degeneration': {'forward_transform': 'leak_enable_degeneration', 'reverse_transform': 'leak_enable_degeneration', 'translated_name': 'leak_enable_degeneration'}, 'leak_enable_division': {'forward_transform': 'leak_enable_division', 'reverse_transform': 'leak_enable_division', 'translated_name': 'leak_enable_division'}, 'leak_enable_multiplication': {'forward_transform': 'leak_enable_multiplication', 'reverse_transform': 'leak_enable_multiplication', 'translated_name': 'leak_enable_multiplication'}, 'leak_i_bias': {'forward_transform': 'leak_i_bias', 'reverse_transform': 'leak_i_bias', 'translated_name': 'leak_i_bias'}, 'leak_v_leak': {'forward_transform': 'leak_v_leak', 'reverse_transform': 'leak_v_leak', 'translated_name': 'leak_v_leak'}, 'membrane_capacitance_capacitance': {'forward_transform': 'membrane_capacitance_capacitance', 'reverse_transform': 'membrane_capacitance_capacitance', 'translated_name': 'membrane_capacitance_capacitance'}, 'multicompartment_enable_conductance_division': {'forward_transform': 'multicompartment_enable_conductance_division', 'reverse_transform': 'multicompartment_enable_conductance_division', 'translated_name': 'multicompartment_enable_conductance_division'}, 'multicompartment_enable_conductance_multiplication': {'forward_transform': 'multicompartment_enable_conductance_multiplication', 'reverse_transform': 'multicompartment_enable_conductance_multiplication', 'translated_name': 'multicompartment_enable_conductance_multiplication'}, 'multicompartment_i_bias_nmda': {'forward_transform': 'multicompartment_i_bias_nmda', 'reverse_transform': 'multicompartment_i_bias_nmda', 'translated_name': 'multicompartment_i_bias_nmda'}, 'readout_enable_unbuffered_access': {'forward_transform': 'readout_enable_unbuffered_access', 'reverse_transform': 'readout_enable_unbuffered_access', 'translated_name': 'readout_enable_unbuffered_access'}, 'refractory_period_enable_pause': {'forward_transform': 'refractory_period_enable_pause', 'reverse_transform': 'refractory_period_enable_pause', 'translated_name': 'refractory_period_enable_pause'}, 'refractory_period_input_clock': {'forward_transform': 'refractory_period_input_clock', 'reverse_transform': 'refractory_period_input_clock', 'translated_name': 'refractory_period_input_clock'}, 'refractory_period_refractory_time': {'forward_transform': 'refractory_period_refractory_time', 'reverse_transform': 'refractory_period_refractory_time', 'translated_name': 'refractory_period_refractory_time'}, 'refractory_period_reset_holdoff': {'forward_transform': 'refractory_period_reset_holdoff', 'reverse_transform': 'refractory_period_reset_holdoff', 'translated_name': 'refractory_period_reset_holdoff'}, 'reset_enable_degeneration': {'forward_transform': 'reset_enable_degeneration', 'reverse_transform': 'reset_enable_degeneration', 'translated_name': 'reset_enable_degeneration'}, 'reset_enable_division': {'forward_transform': 'reset_enable_division', 'reverse_transform': 'reset_enable_division', 'translated_name': 'reset_enable_division'}, 'reset_enable_multiplication': {'forward_transform': 'reset_enable_multiplication', 'reverse_transform': 'reset_enable_multiplication', 'translated_name': 'reset_enable_multiplication'}, 'reset_i_bias': {'forward_transform': 'reset_i_bias', 'reverse_transform': 'reset_i_bias', 'translated_name': 'reset_i_bias'}, 'reset_v_reset': {'forward_transform': 'reset_v_reset', 'reverse_transform': 'reset_v_reset', 'translated_name': 'reset_v_reset'}, 'threshold_enable': {'forward_transform': 'threshold_enable', 'reverse_transform': 'threshold_enable', 'translated_name': 'threshold_enable'}, 'threshold_v_threshold': {'forward_transform': 'threshold_v_threshold', 'reverse_transform': 'threshold_v_threshold', 'translated_name': 'threshold_v_threshold'}}
-
units
: Final[Dict[str, str]] = {'adaptation': 'dimensionless', 'exc_synin': 'dimensionless', 'inh_synin': 'dimensionless', 'v': 'dimensionless'}