pub struct HomeostaticNeuron {
pub membrane_potential: f64,
pub threshold: f64,
pub target_firing_rate: f64,
pub actual_firing_rate: f64,
pub intrinsic_excitability: f64,
pub homeostatic_tau: f64,
pub spike_history: VecDeque<f64>,
pub synaptic_scaling: f64,
pub membrane_tau: f64,
pub last_spike_time: f64,
}Expand description
Homeostatic neuron with intrinsic plasticity
This neuron implements multiple homeostatic mechanisms to maintain stable activity levels including intrinsic excitability adaptation and synaptic scaling.
Fields§
§membrane_potential: f64Current membrane potential
threshold: f64Spike threshold (adaptive)
target_firing_rate: f64Target firing rate
actual_firing_rate: f64Actual firing rate (exponential moving average)
intrinsic_excitability: f64Intrinsic excitability
homeostatic_tau: f64Homeostatic time constant
spike_history: VecDeque<f64>Spike history for rate computation
synaptic_scaling: f64Synaptic scaling factor
membrane_tau: f64Membrane time constant
last_spike_time: f64Last spike time
Implementations§
Source§impl HomeostaticNeuron
impl HomeostaticNeuron
Sourcepub fn update_membrane_potential(&mut self, input: f64, current_time: f64)
pub fn update_membrane_potential(&mut self, input: f64, current_time: f64)
Update membrane potential
Sourcepub fn record_spike(&mut self, current_time: f64)
pub fn record_spike(&mut self, current_time: f64)
Record spike and update firing rate
Sourcepub fn update_homeostatic_mechanisms(&mut self, dt: f64)
pub fn update_homeostatic_mechanisms(&mut self, dt: f64)
Update homeostatic mechanisms
Sourcepub fn get_homeostatic_factor(&self) -> f64
pub fn get_homeostatic_factor(&self) -> f64
Get homeostatic factor for learning modulation
Trait Implementations§
Source§impl Clone for HomeostaticNeuron
impl Clone for HomeostaticNeuron
Source§fn clone(&self) -> HomeostaticNeuron
fn clone(&self) -> HomeostaticNeuron
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for HomeostaticNeuron
impl Debug for HomeostaticNeuron
Auto Trait Implementations§
impl Freeze for HomeostaticNeuron
impl RefUnwindSafe for HomeostaticNeuron
impl Send for HomeostaticNeuron
impl Sync for HomeostaticNeuron
impl Unpin for HomeostaticNeuron
impl UnwindSafe for HomeostaticNeuron
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§impl<T> Pointable for T
impl<T> Pointable for T
Source§impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
Source§fn to_subset(&self) -> Option<SS>
fn to_subset(&self) -> Option<SS>
The inverse inclusion map: attempts to construct
self from the equivalent element of its
superset. Read moreSource§fn is_in_subset(&self) -> bool
fn is_in_subset(&self) -> bool
Checks if
self is actually part of its subset T (and can be converted to it).Source§fn to_subset_unchecked(&self) -> SS
fn to_subset_unchecked(&self) -> SS
Use with care! Same as
self.to_subset but without any property checks. Always succeeds.Source§fn from_subset(element: &SS) -> SP
fn from_subset(element: &SS) -> SP
The inclusion map: converts
self to the equivalent element of its superset.