Skip to content

Neuron Model Reference — 122 Python / 111 Rust

SC-NeuroCore provides 122 neuron models in Python (108 bio in models/ + 5 core + 9 AI-optimized) and 111 Rust implementations callable via PyO3 bindings. Both backends expose identical step() / reset() / get_state() interfaces.

Quick Start

# Python backend (default)
from sc_neurocore.neurons.models import HodgkinHuxleyNeuron
hh = HodgkinHuxleyNeuron()
spike = hh.step(current=10.0)

# Rust backend (faster, identical interface)
from sc_neurocore_engine.sc_neurocore_engine import HodgkinHuxleyNeuron
hh_rs = HodgkinHuxleyNeuron()
spike = hh_rs.step(current=10.0)

Backend Selection

Backend Import path Use case
Python sc_neurocore.neurons.models Prototyping, parameter tuning, debugging
Rust sc_neurocore_engine.sc_neurocore_engine Production, benchmarks, batch simulation

Both backends use identical class names (e.g., HodgkinHuxleyNeuron). The Rust engine exposes 111 of the 122 Python models (all bio models + ArcaneNeuron).

Model Catalogue

Trivial IF Variants (18 models)

Python Class Rust Class Reference
QuadraticIFNeuron QuadraticIFNeuron Latham et al. 2000
ThetaNeuron ThetaNeuron Ermentrout & Kopell 1986
PerfectIntegratorNeuron PerfectIntegratorNeuron
GatedLIFNeuron GatedLIFNeuron
NonlinearLIFNeuron NonlinearLIFNeuron Touboul & Brette 2008
SFANeuron SFANeuron Benda & Herz 2003
MATNeuron MATNeuron Kobayashi et al. 2009
EscapeRateNeuron EscapeRateNeuron Gerstner 2000
KLIFNeuron KLIFNeuron Eshraghian et al. 2021
InhibitoryLIFNeuron InhibitoryLIFNeuron
ComplementaryLIFNeuron ComplementaryLIFNeuron
ParametricLIFNeuron ParametricLIFNeuron Fang et al. 2021
NonResettingLIFNeuron NonResettingLIFNeuron Brette 2004
AdaptiveThresholdIFNeuron AdaptiveThresholdIFNeuron Platkiewicz & Brette 2010
SigmaDeltaNeuron SigmaDeltaNeuron
EnergyLIFNeuron EnergyLIFNeuron Sengupta et al. 2013
IntegerQIFNeuron IntegerQIFNeuron
ClosedFormContinuousNeuron ClosedFormContinuousNeuron Hasani et al. 2022

Simple Spiking (20 models)

Python Class Rust Class Reference
FitzHughNagumoNeuron FitzHughNagumoNeuron FitzHugh 1961
MorrisLecarNeuron MorrisLecarNeuron Morris & Lecar 1981
HindmarshRoseNeuron HindmarshRoseNeuron Hindmarsh & Rose 1984
ResonateAndFireNeuron ResonateAndFireNeuron Izhikevich 2001
FitzHughRinzelNeuron FitzHughRinzelNeuron Rinzel 1987
McKeanNeuron McKeanNeuron McKean 1970
TermanWangOscillator TermanWangOscillator Terman & Wang 1995
BendaHerzNeuron BendaHerzNeuron Benda & Herz 2003
AlphaNeuron AlphaNeuron
COBALIFNeuron COBALIFNeuron Brette et al. 2007
GutkinErmentroutNeuron GutkinErmentroutNeuron Gutkin & Ermentrout 1998
WilsonHRNeuron WilsonHRNeuron Wilson 1999
ChayNeuron ChayNeuron Chay 1985
ChayKeizerNeuron ChayKeizerNeuron Chay & Keizer 1983
ShermanRinzelKeizerNeuron ShermanRinzelKeizerNeuron Sherman et al. 1988
ButeraRespiratoryNeuron ButeraRespiratoryNeuron Butera et al. 1999
EPropALIFNeuron EPropALIFNeuron Bellec et al. 2020
SuperSpikeNeuron SuperSpikeNeuron Zenke & Ganguli 2018
LearnableNeuronModel LearnableNeuronModel
PernarowskiNeuron PernarowskiNeuron Pernarowski 1994

Discrete Maps (6 models)

Python Class Rust Class Reference
ChialvoMapNeuron ChialvoMapNeuron Chialvo 1995
RulkovMapNeuron RulkovMapNeuron Rulkov 2001
IbarzTanakaMapNeuron IbarzTanakaMapNeuron Ibarz et al. 2011
MedvedevMapNeuron MedvedevMapNeuron Medvedev 2005
CazellesMapNeuron CazellesMapNeuron Cazelles et al. 2001
CourageNekorkinMapNeuron CourageNekorkinMapNeuron Courbage & Nekorkin 2010

Biophysical / Conductance-Based (20 models)

Python Class Rust Class Reference
HodgkinHuxleyNeuron HodgkinHuxleyNeuron Hodgkin & Huxley 1952
TraubMilesNeuron TraubMilesNeuron Traub & Miles 1991
WangBuzsakiNeuron WangBuzsakiNeuron Wang & Buzsáki 1996
ConnorStevensNeuron ConnorStevensNeuron Connor et al. 1977
DestexheThalamicNeuron DestexheThalamicNeuron Destexhe et al. 1993
HuberBraunNeuron HuberBraunNeuron Braun et al. 1998
GolombFSNeuron GolombFSNeuron Golomb et al. 2007
PospischilNeuron PospischilNeuron Pospischil et al. 2008
MainenSejnowskiNeuron MainenSejnowskiNeuron Mainen & Sejnowski 1996
DeSchutterPurkinjeNeuron DeSchutterPurkinjeNeuron De Schutter & Bower 1994
PlantR15Neuron PlantR15Neuron Plant & Kim 1976
PrescottNeuron PrescottNeuron Prescott et al. 2008
MihalasNieburNeuron MihalasNieburNeuron Mihalas & Niebur 2009
GLIFNeuron GLIFNeuron Allen Institute GLIF5
GIFPopulationNeuron GIFPopulationNeuron Mensi et al. 2012
AvRonCardiacNeuron AvRonCardiacNeuron Av-Ron et al. 1991
DurstewitzDopamineNeuron DurstewitzDopamineNeuron Durstewitz et al. 2000
HillTononiNeuron HillTononiNeuron Hill & Tononi 2005
BertramPhantomBurster BertramPhantomBurster Bertram et al. 2000
YamadaNeuron YamadaNeuron Yamada et al. 1989

Multi-Compartment (7 models)

Python Class Rust Class Reference
PinskyRinzelNeuron PinskyRinzelNeuron Pinsky & Rinzel 1994
HayL5PyramidalNeuron HayL5PyramidalNeuron Hay et al. 2011
MarderSTGNeuron MarderSTGNeuron Marder & Calabrese 1996
RallCableNeuron RallCableNeuron Rall 1964
BoothRinzelNeuron BoothRinzelNeuron Booth et al. 1997
DendrifyNeuron DendrifyNeuron Beniaguev et al. 2022
TwoCompartmentLIFNeuron TwoCompartmentLIFNeuron

Stochastic / Population / Neural Mass (13 models)

Python Class Rust Class Reference
PoissonNeuron PoissonNeuron
InhomogeneousPoissonNeuron InhomogeneousPoissonNeuron
GammaRenewalNeuron GammaRenewalNeuron
StochasticIFNeuron StochasticIFNeuron
GalvesLocherbachNeuron GalvesLocherbachNeuron Galves & Löcherbach 2013
SpikeResponseNeuron SpikeResponseNeuron Gerstner 1995 (SRM0)
GLMNeuron GLMNeuron Pillow et al. 2008
WilsonCowanUnit WilsonCowanUnit Wilson & Cowan 1972
JansenRitUnit JansenRitUnit Jansen & Rit 1995
WongWangUnit WongWangUnit Wong & Wang 2006
ErmentroutKopellPopulation ErmentroutKopellPopulation Montbrió et al. 2015
WendlingNeuron WendlingNeuron Wendling et al. 2002
LarterBreakspearNeuron LarterBreakspearNeuron Breakspear et al. 2003

Hardware Chip Emulators (9 models)

Python Class Rust Class Reference
LoihiCUBANeuron LoihiCUBANeuron Davies et al. 2018 (Intel Loihi)
Loihi2Neuron Loihi2Neuron Intel Loihi 2
TrueNorthNeuron TrueNorthNeuron Merolla et al. 2014 (IBM)
BrainScaleSAdExNeuron BrainScaleSAdExNeuron Schemmel et al. 2010
SpiNNakerLIFNeuron SpiNNakerLIFNeuron Furber et al. 2014
SpiNNaker2Neuron SpiNNaker2Neuron TU Dresden 2024
DPINeuron DPINeuron Bartolozzi & Indiveri 2007
AkidaNeuron AkidaNeuron BrainChip
NeuroGridNeuron NeuroGridNeuron Boahen 2014

Rate / Plasticity / Other (12 models)

Python Class Rust Class Reference
McCullochPittsNeuron McCullochPittsNeuron McCulloch & Pitts 1943
SigmoidRateNeuron SigmoidRateNeuron Wilson & Cowan 1972
ThresholdLinearRateNeuron ThresholdLinearRateNeuron
AstrocyteModel AstrocyteModel Li & Rinzel 1994
TsodyksMarkramNeuron TsodyksMarkramNeuron Tsodyks & Markram 1997
LiquidTimeConstantNeuron LiquidTimeConstantNeuron Hasani et al. 2021
CompteWMNeuron CompteWMNeuron Compte et al. 2000
SiegertTransferFunction SiegertTransferFunction Siegert 1951
FractionalLIFNeuron FractionalLIFNeuron Teka et al. 2014
ParallelSpikingNeuron ParallelSpikingNeuron Fang et al. 2023
AmariNeuralField AmariNeuralField Amari 1977
LeakyCompeteFireNeuron LeakyCompeteFireNeuron

Core IF (Rust neuron.rs) (3 models)

Python Class Rust Class Reference
AdExNeuron AdExNeuron Brette & Gerstner 2005
ExpIFNeuron ExpIFNeuron Fourcaud-Trocmé et al. 2003
LapicqueNeuron LapicqueNeuron Lapicque 1907

Common Interface

All models share:

model.step(current)   # → int (spike: 1/0) or float (firing rate)
model.reset()         # → None (restore initial conditions)
model.get_state()     # → dict of current state variables

Multi-input models accept additional arguments: - AlphaNeuron.step(exc_current, inh_current) - COBALIFNeuron.step(current, delta_ge, delta_gi) - PinskyRinzelNeuron.step(current_soma, current_dend) - TsodyksMarkramNeuron.step(current, presynaptic_spike) - CompteWMNeuron.step(current, spike_in)

Neural mass models return float (firing rate or EEG potential): - WilsonCowanUnit, JansenRitUnit, WendlingNeuron - ErmentroutKopellPopulation, LarterBreakspearNeuron - SigmoidRateNeuron, SiegertTransferFunction

AI-Optimized (9 models)

Novel neuron models designed for AI workloads, not biological simulation. Located in neurons/models/ai_optimized.py and neurons/models/arcane_neuron.py.

Python Class Rust Class Key Feature
ArcaneNeuron ArcaneNeuron 5-compartment self-referential cognition: fast (5ms), working memory (200ms), deep context (10s), attention gate, forward self-model. Identity accumulates in the deep compartment. Confidence modulates threshold and meta-learning rate. Sotek & Arcane Sapience 2026.
MultiTimescaleNeuron Three-compartment (fast/medium/slow) with context-dependent threshold modulation
AttentionGatedNeuron Learned sigmoid gate (key/query weights) selectively filters input
PredictiveCodingNeuron Fires only on prediction errors (novel stimuli), silent on expected input
SelfReferentialNeuron Introspects own spike history to auto-regulate firing dynamics
CompositionalBindingNeuron Phase-coding for variable binding; in-phase = bound concepts
DifferentiableSurrogateNeuron Trainable surrogate gradient parameters (alpha, beta, theta)
ContinuousAttractorNeuron Ring attractor with Mexican-hat connectivity for continuous working memory
MetaPlasticNeuron Self-regulating meta-learning rate based on error trace