ca.nengo.model.neuron.impl
Class ExpandableSpikingNeuron
java.lang.Object
ca.nengo.model.neuron.impl.SpikingNeuron
ca.nengo.model.neuron.impl.ExpandableSpikingNeuron
- All Implemented Interfaces:
- ExpandableNode, NEFNode, Neuron, Node, Probeable, Resettable, SimulationMode.ModeConfigurable, VisiblyMutable, java.io.Serializable, java.lang.Cloneable
- Direct Known Subclasses:
- GruberNeuronFactory.GruberNeuron
public class ExpandableSpikingNeuron
- extends SpikingNeuron
- implements ExpandableNode
A SpikingNeuron with an ExpandableSynapticIntegrator.
- See Also:
- Serialized Form
Fields inherited from interface ca.nengo.model.neuron.Neuron |
AXON |
Methods inherited from class ca.nengo.model.neuron.impl.SpikingNeuron |
addChangeListener, fireVisibleChangeEvent, getBias, getChildren, getDocumentation, getGenerator, getHistory, getIntegrator, getMode, getName, getNoise, getOrigin, getOrigins, getScale, getTermination, getTerminations, listStates, removeChangeListener, reset, run, setBias, setDocumentation, setGenerator, setIntegrator, setMode, setName, setNoise, setRadialInput, setScale, toScript |
Methods inherited from class java.lang.Object |
equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Methods inherited from interface ca.nengo.model.Node |
getChildren, getDocumentation, getName, getOrigin, getOrigins, getTermination, getTerminations, run, setDocumentation, setName, toScript |
ExpandableSpikingNeuron
public ExpandableSpikingNeuron(SynapticIntegrator integrator,
SpikeGenerator generator,
float scale,
float bias,
java.lang.String name)
- Note: current = scale * (weighted sum of inputs at each termination) * (radial input) + bias.
- Parameters:
integrator
- SynapticIntegrator used to model dendritic/somatic integration of inputs
to this Neuron (must be Plastic)generator
- SpikeGenerator used to model spike generation at the axon hillock of this
Neuronscale
- A coefficient that scales summed inputbias
- A bias current that models unaccounted-for inputs and/or intrinsic currentsname
- A unique name for this neuron in the context of the Network or Ensemble to which
it belongs
addTermination
public Termination addTermination(java.lang.String name,
float[][] weights,
float tauPSC,
boolean modulatory)
throws StructuralException
- Description copied from interface:
ExpandableNode
- Adds a new Termination onto this Node.
- Specified by:
addTermination
in interface ExpandableNode
- Parameters:
name
- Unique name for the Termination (in the scope of this Node)weights
- Connection weights. Length must equal getDimension(). Each component
must have length equal to the dimension of the Origin that will connect to this Termination.tauPSC
- Time constant with which incoming signals are filtered. (All Terminations have
this property, but it may have slightly different interpretations per implementation.)modulatory
- If true, inputs to the Termination are not summed with other inputs (they
only have modulatory effects, eg on plasticity, which must be defined elsewhere).
- Returns:
- resulting Termination
- Throws:
StructuralException
- if length of weights doesn't equal getDimension(),
or if there are different numbers of weights given in different rows.- See Also:
ExpandableNode.addTermination(java.lang.String, float[][], float, boolean)
getDimension
public int getDimension()
- Specified by:
getDimension
in interface ExpandableNode
- Returns:
- Output dimension of Terminations onto this Node
- See Also:
ExpandableNode.getDimension()
removeTermination
public Termination removeTermination(java.lang.String name)
throws StructuralException
- Specified by:
removeTermination
in interface ExpandableNode
- Parameters:
name
- Name of Termination to remove.
- Returns:
- The removed Termination
- Throws:
StructuralException
- if the Termination doesn't exist- See Also:
ExpandableNode.removeTermination(java.lang.String)
getSynapticIntegrator
public ExpandableSynapticIntegrator getSynapticIntegrator()
- Returns:
- SynapticIntegrator for this neuron
clone
public ExpandableSpikingNeuron clone()
throws java.lang.CloneNotSupportedException
- Specified by:
clone
in interface ExpandableNode
- Specified by:
clone
in interface Node
- Overrides:
clone
in class SpikingNeuron
- Returns:
- An independent copy of the Node
- Throws:
java.lang.CloneNotSupportedException
- if clone can't be made