public final class VSICLIFNeuronV2 extends Object implements Neuron
Modifier and Type | Class and Description |
---|---|
class |
VSICLIFNeuronV2.State |
Modifier and Type | Field and Description |
---|---|
double |
clamp_t
clamp the threshold during absolute refractory period
|
double |
clamp_v
clamp the membrane voltage during absolute refractory period
|
static double |
cost
total cost, the costs associated to putting an temporary spike time
in
|
static double |
cost_Schedule
the cost associated with queue schedule. see D'hane's paper
|
static double |
cost_Update
the cost associated with neuron update,see D'hane's paper
|
boolean |
fire
judge whether the neuron fires or not
|
double |
lastFireTime
last time the neuron fired, negative means no last spike
|
double |
lastInputTime
last time the neuron received a spike
|
static double |
maxWeight
initialization of the maxWeight which was used in a previous method
in doesfire
|
static double |
MINRISETIME
Deprecated.
|
VSICLIFNeuronParaV2 |
para
Neuron parameters
|
static double |
rEPS
the criteria 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
|
VSICLIFNeuronV2.State[] |
sta_p
pointer to the state variables; the first two states correspond to
the g and b terms respectively, followed by the spike-induced current
terms
|
TreeSet<VSICLIFNeuronV2.State> |
state
linked list for state variables
|
double |
tAvg
average time interval a neuron received spikes
|
static double |
tEPS
time accuracy
|
long |
tHost
long imposes a constraint on the maximum number of hosts to be 64
|
Constructor and Description |
---|
VSICLIFNeuronV2(VSICLIFNeuronParaV2 para) |
Modifier and Type | Method and Description |
---|---|
double[] |
getCurr()
get the current which is the last updated current
|
double[] |
getCurr(double currTime) |
double |
getCurr(int a,
double[] curr)
Nj terms:
|
double |
getMemV(double currTime) |
double |
getNB(double instantaneousThreshold,
double memV,
double[] curr)
return nb term;
|
double |
getNG(double memV,
double[] curr)
Get ng term ( membrane voltage - ABGLCAP*membranevoltageNg )
|
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 |
memStheta(double t)
Membrane voltage computate mem = S+\theta
|
double |
memVoltage(double t)
get the membrane voltage
|
boolean |
realFire() |
double |
safeD(double t)
Safe derivative, good for Newton method, see D'hane paper
|
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
|
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
|
@Deprecated public static double MINRISETIME
public static double tEPS
public static double rEPS
public static double maxWeight
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 clamp_v
public double clamp_t
public boolean fire
public long tHost
public VSICLIFNeuronParaV2 para
public TreeSet<VSICLIFNeuronV2.State> state
public VSICLIFNeuronV2.State[] sta_p
public VSICLIFNeuronV2(VSICLIFNeuronParaV2 para)
public double[] getCurr(double currTime)
public double getMemV(double currTime)
public long getTHost()
public double getTimeOfNextFire()
Neuron
getTimeOfNextFire
in interface Neuron
public boolean realFire()
public void setRecord(boolean record)
Neuron
public void setTHost(long id)
Neuron
public void setTimeOfNextFire(double timeOfNextFire)
Neuron
setTimeOfNextFire
in interface Neuron
timeOfNextFire
- the new value to be usedpublic void init(int expid, int trialid, Seed idum, Network net, int id)
Neuron
public double updateFire()
Neuron
updateFire
in interface Neuron
public double updateInput(double time, Synapse input)
Neuron
updateInput
in interface Neuron
input
- it is a InputEvent event in the input queuepublic double[] getCurr()
public double getCurr(int a, double[] curr)
public double getNB(double instantaneousThreshold, double memV, double[] curr)
public double getNG(double memV, double[] curr)
public double getSensoryWeight()
public double getTimeOfLastUpdate()
public double memVoltage(double t)
t
- absolute time tpublic void setMemV(double memV)
public void setTimeOfLastUpdate(double timeOfLastUpdate)
public double memStheta(double t)
t
- absolute time tpublic double safeD(double t)
t
- absolute time t