ca.nengo.model.neuron.impl
Class ExpandableSpikingNeuron

java.lang.Object
  extended by ca.nengo.model.neuron.impl.SpikingNeuron
      extended by ca.nengo.model.neuron.impl.ExpandableSpikingNeuron
All Implemented Interfaces:
ExpandableNode, NEFNode, Neuron, Node, Probeable, Resettable, SimulationMode.ModeConfigurable, VisiblyMutable, java.io.Serializable, java.lang.Cloneable

public class ExpandableSpikingNeuron
extends SpikingNeuron
implements ExpandableNode

A SpikingNeuron with an ExpandableSynapticIntegrator.

Author:
Bryan Tripp
See Also:
Serialized Form

Nested Class Summary
 
Nested classes/interfaces inherited from interface ca.nengo.util.VisiblyMutable
VisiblyMutable.Event, VisiblyMutable.Listener, VisiblyMutable.NameChangeEvent, VisiblyMutable.NodeRemovedEvent
 
Field Summary
 
Fields inherited from class ca.nengo.model.neuron.impl.SpikingNeuron
CURRENT
 
Fields inherited from interface ca.nengo.model.neuron.Neuron
AXON
 
Constructor Summary
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.
 
Method Summary
 Termination addTermination(java.lang.String name, float[][] weights, float tauPSC, boolean modulatory)
          Adds a new Termination onto this Node.
 int getDimension()
           
 ExpandableSynapticIntegrator getSynapticIntegrator()
           
 void removeTermination(java.lang.String name)
           
 
Methods inherited from class ca.nengo.model.neuron.impl.SpikingNeuron
addChangeListener, clone, getBias, 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
 
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
clone, getDocumentation, getName, getOrigin, getOrigins, getTermination, getTerminations, run, setDocumentation, setName
 
Methods inherited from interface ca.nengo.model.Resettable
reset
 
Methods inherited from interface ca.nengo.model.SimulationMode.ModeConfigurable
getMode, setMode
 
Methods inherited from interface ca.nengo.util.VisiblyMutable
addChangeListener, removeChangeListener
 

Constructor Detail

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 Neuron
scale - A coefficient that scales summed input
bias - A bias current that models unaccounted-for inputs and/or intrinsic currents
name - A unique name for this neuron in the context of the Network or Ensemble to which it belongs
Method Detail

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 void removeTermination(java.lang.String name)
                       throws StructuralException
Specified by:
removeTermination in interface ExpandableNode
Parameters:
name - Name of Termination to remove.
Throws:
StructuralException
See Also:
ExpandableNode.removeTermination(java.lang.String)

getSynapticIntegrator

public ExpandableSynapticIntegrator getSynapticIntegrator()