public interface DecodableEnsemble extends PlasticEnsemble, Probeable
An Ensemble that produces output signals that mean something when taken together. This meaning can be decoded, as a scalar or vector, through linear combination of the outputs.
Note that NEFEnsemble is a paricularly powerful and efficient special case of DecodableEnsemble. However NEFEnsemble makes some assumptions that can be relaxed by using DecodableEnsemble instead:
VisiblyMutable.Event, VisiblyMutable.Listener, VisiblyMutable.NameChangeEvent, VisiblyMutable.NodeRemovedEvent
Modifier and Type | Method and Description |
---|---|
Origin |
addDecodedOrigin(java.lang.String name,
Function[] functions,
java.lang.String nodeOrigin,
Network environment,
Probe probe,
float startTime,
float endTime)
Adds an Origin that corresponds to a decoding of the activities of Nodes in this Ensemble.
|
Origin |
addDecodedOrigin(java.lang.String name,
Function[] functions,
java.lang.String nodeOrigin,
Network environment,
Probe probe,
Termination termination,
float[][] evalPoints,
float transientTime)
Adds an Origin that corresponds to a decoding of the activities of Nodes in this Ensemble.
|
void |
doneOrigins()
This method can optionally be called after all decoded Origins have been added, in order to free
resources that are needed for adding new decodings.
|
DecodedOrigin |
removeDecodedOrigin(java.lang.String name) |
DecodedTermination |
removeDecodedTermination(java.lang.String name) |
getPlasticityInterval, setPlasticityInterval
collectSpikes, getNodes, getSpikePattern, isCollectingSpikes, redefineNodes, stopProbing
clone, getChildren, getDocumentation, getName, getOrigin, getOrigins, getTermination, getTerminations, notifyAboutDeletion, run, setDocumentation, setName, toScript
reset
getMode, setMode
addChangeListener, removeChangeListener
getHistory, listStates
Origin addDecodedOrigin(java.lang.String name, Function[] functions, java.lang.String nodeOrigin, Network environment, Probe probe, float startTime, float endTime) throws StructuralException, SimulationException
name
- Name of decodingfunctions
- 1D Functions of time which represent the meaning of the Ensemble output when it runs
in the Network provided (see environment arg)nodeOrigin
- The name of the Node-level Origin to decodeenvironment
- A Network in which the Ensemble runs (may include inputs, feedback, etc)probe
- A Probe that is connected to the named Node-level OriginstartTime
- Simulation time at which to startendTime
- Simulation time at which to finishStructuralException
- May arise in instantiating the OriginSimulationException
- If there is a problem running the simulationOrigin addDecodedOrigin(java.lang.String name, Function[] functions, java.lang.String nodeOrigin, Network environment, Probe probe, Termination termination, float[][] evalPoints, float transientTime) throws StructuralException, SimulationException
name
- Name of decodingfunctions
- Functions of input that represent the meaning of Ensemble output when it runs in the
Network provided (see environment arg)nodeOrigin
- The name of the Node-level Origin to decodeenvironment
- A Network in which the Ensemble runs (may include inputs, feedback, etc)probe
- A Probe that is connected to the named Node-level Origintermination
- The Termination through which input is to be applied to the EnsembleevalPoints
- The set of vector inputs that are to be applied at the above TerminationtransientTime
- The amount of time the Network is to run with each input, so that transients die away
(output is averaged over the last 10% of each simulation)StructuralException
- May arise in instantiating the OriginSimulationException
- If there is a problem running the simulationsvoid doneOrigins()
DecodedOrigin removeDecodedOrigin(java.lang.String name) throws StructuralException
name
- Name of an existing decoding to removeStructuralException
- if DecodedOrigin doesn't existDecodedTermination removeDecodedTermination(java.lang.String name) throws StructuralException
name
- Name of an existing termination to removeStructuralException
- if DecodedTermination doesn't exist