public final class MiNiNeuron extends Object implements Neuron
| Modifier and Type | Class and Description |
|---|---|
class |
MiNiNeuron.State |
| Modifier and Type | Field and Description |
|---|---|
double |
clampThreshold
clamp the threshold during absolute refractory period
|
double |
clampVoltage
clamp the membrane voltage during absolute refractory period
|
static double |
cost
the expected cost of inserting a preliminary fire estimate into the
event queue (as opposed to performing another NR iteration)
|
static double |
cost_Schedule
the cost associated with one queue schedule (see D'Haene, 2009)
|
static double |
cost_Update
the cost associated with one neuron update (see D’Haene, 2009)
|
boolean |
fire
whether the next fire event is a final calculation,
as opposed to a preliminary estimate (see D'Haene, 2009)
|
double |
lastFireTime
last time the neuron fired; negative means no last spike
|
double |
lastInputTime
last time the neuron received a spike
|
MiNiNeuronPara |
para
neuron parameters
|
static double |
rEPS
the criterion for removing synapses: if a synaptic channel does not
get an input for a long time such that its current decays below rEPS,
it is removed from computations of the voltage and future updates up
until it gets an input
|
MiNiNeuron.State[][] |
sta_p
two-dimensional array pointing to the state variables.
|
TreeSet<MiNiNeuron.State> |
state
linked list for state variables
|
double |
tAvg
running average of the time interval between input spikes
|
static double |
tEPS
the epsilon of a final firing time calculation
|
long |
tHost
long imposes a constraint on the maximum number of hosts to be 64
|
| Constructor and Description |
|---|
MiNiNeuron(MiNiNeuronPara para) |
| Modifier and Type | Method and Description |
|---|---|
double[] |
getCurr(double currTime)
Used mainly for intracellular recording.
|
double |
getMemV(double currTime)
Used mainly for intracellular recording.
|
boolean |
getRecord()
record the neuron
|
double |
getSensoryWeight() |
long |
getTHost() |
double |
getTimeOfLastUpdate() |
double |
getTimeOfNextFire()
get the value of timeOfNextFire
|
void |
init(int expid,
int trialid,
Seed idum,
Network net,
int id)
initialize the neuron
|
boolean |
isSensory()
sensory report
|
double |
membraneVoltage(double t)
Compute the membrane voltage.
|
boolean |
realFire() |
double |
safeDerivative(double t)
Computes the "safe derivative" (see D'Haene, 2009) of the
thresholdDiff function.
|
void |
setMemV(double memV)
set the membrane voltage
|
void |
setRecord(boolean record)
set the neuron record or not.
|
void |
setTHost(long id)
set the target host id, 0 means none, 1 means yes
|
void |
setTimeOfLastUpdate(double timeOfLastUpdate) |
void |
setTimeOfNextFire(double timeOfNextFire)
set a new value to timeOfNextFire
|
double |
thresholdDiff(double t)
Compute the difference between the membrane voltage and the membrane
voltage threshold.
|
String |
toString() |
double |
updateFire()
update of the neuron after firing
the current time is TimeOfNextFire
|
double |
updateInput(double time,
Synapse input)
update of the neuron after receiving a spike
the current time is time
|
public static double tEPS
public static double rEPS
public static double cost_Update
public static double cost_Schedule
public static double cost
public double tAvg
public double lastInputTime
public double lastFireTime
public double clampVoltage
public double clampThreshold
public boolean fire
public long tHost
public MiNiNeuronPara para
public TreeSet<MiNiNeuron.State> state
public MiNiNeuron.State[][] sta_p
public MiNiNeuron(MiNiNeuronPara para)
public double[] getCurr(double currTime)
public double getMemV(double currTime)
public long getTHost()
public double getTimeOfNextFire()
NeurongetTimeOfNextFire in interface Neuronpublic boolean realFire()
public void setRecord(boolean record)
Neuronpublic void setTHost(long id)
Neuronpublic void setTimeOfNextFire(double timeOfNextFire)
NeuronsetTimeOfNextFire in interface NeurontimeOfNextFire - the new value to be usedpublic void init(int expid, int trialid, Seed idum, Network net, int id)
Neuronpublic double updateFire()
NeuronupdateFire in interface Neuronpublic double updateInput(double time, Synapse input)
NeuronupdateInput in interface Neuroninput - it is a InputEvent event in the input queuepublic double getSensoryWeight()
public double getTimeOfLastUpdate()
public void setMemV(double memV)
public void setTimeOfLastUpdate(double timeOfLastUpdate)
public double membraneVoltage(double t)
t - absolute time tpublic double thresholdDiff(double t)
MNNeuron class is optimized to
perform this function quickly, at the expense of
membraneVoltage().
This method is based on Equation 3.5 in Mihalas and Niebur, 2009.t - absolute time tpublic double safeDerivative(double t)
t - absolute time t