#include <STDP1Synapse.h>
Public Member Functions | |
| STDP1Synapse () | |
| ~STDP1Synapse () | |
| void | calculateFinalState () |
| const string * | getDescription () |
| string | getMonitoringInfo () |
| MonitorData * | getMonitoringData () |
| short | getShortWeight () |
| double | getWeight () |
| bool | parametersChanged () |
| void | processSpike () |
| void | updateWeight (double membranePotential, double calciumConc) |
| bool | testFunction () |
Private Member Functions | |
| void | calculateWeight (bool spikeReceived) |
| bool | checkParameters () |
| void | normaliseWeight () |
| void | printParameters () |
Private Attributes | |
| int | spikeTimeStep |
| double | currentTime |
| double | lastUpdateTime |
| bool | oldLearningMode |
Static Private Attributes | |
| static const string | calciumThreshUpLow |
| static const string | calciumThreshUpHigh |
| static const string | calciumThreshDownLow |
| static const string | calciumThreshDownHigh |
| static const string | weightChangeThreshold |
| static const string | weightIncreaseAmnt |
| static const string | weightDecreaseAmnt |
| static const string | driftThreshold |
| static const string | positiveDrift |
| static const string | negativeDrift |
| static const string | maximumDrift |
| static const string | minimumDrift |
| static const string | learning |
| static const string | disable |
Definition at line 44 of file STDP1Synapse.h.
|
|
Constructor. Definition at line 70 of file STDP1Synapse.cpp. References lastUpdateTime, oldLearningMode, and spikeTimeStep. |
|
|
Destructor. Definition at line 88 of file STDP1Synapse.cpp. |
|
|
Needs to be implemented by all classes inheriting from Synapse. Calls calculate weight, which updates the weight in learning mode. The weight will already have been updated if a spike has been received during this time step. Definition at line 105 of file STDP1Synapse.cpp. References calculateWeight(), and learning. |
|
|
Calculates the current state of the weight. Each time step the weight drifts by a certain amount but to save calculating this all the time, it is only calculated when a spike is received or when the weights are viewed or saved or when the synapse is in full update mode. When a spike is received by this synapse we do not want to drift the weight for the current time step since the weight will be updated elsewhere, so only calculate the weight change for the intervening time steps when a spike was not received and the synapse was not updated. NOTE: This method should only be called in learning mode. Definition at line 302 of file STDP1Synapse.cpp. References currentTime, driftThreshold, lastUpdateTime, maximumDrift, minimumDrift, negativeDrift, normaliseWeight(), and positiveDrift. Referenced by calculateFinalState(), getMonitoringData(), getShortWeight(), getWeight(), parametersChanged(), and processSpike(). |
|
|
Check that all the necessary parameters are in the map. Definition at line 339 of file STDP1Synapse.cpp. References calciumThreshDownHigh, calciumThreshDownLow, calciumThreshUpHigh, calciumThreshUpLow, disable, driftThreshold, learning, maximumDrift, minimumDrift, negativeDrift, positiveDrift, printParameters(), weightChangeThreshold, weightDecreaseAmnt, and weightIncreaseAmnt. Referenced by parametersChanged(). |
|
|
Returns a description of this class for debugging purposes. Invoking method has the responsibility of deleting the description string. Definition at line 113 of file STDP1Synapse.cpp. |
|
|
Returns a NeuronData structure containing a pointer to an array containing the current values of the monitored data items in the same order as they were listed in the XML file. Definition at line 121 of file STDP1Synapse.cpp. References calculateWeight(), and learning. |
|
|
Returns a string containing the data that is output by this neuron in monitoring mode in XML format. Definition at line 137 of file STDP1Synapse.cpp. |
|
|
Returns the weight as a short between -127 and 127. Definition at line 151 of file STDP1Synapse.cpp. References calculateWeight(), and learning. |
|
|
Returns the weight as a double. Definition at line 173 of file STDP1Synapse.cpp. References calculateWeight(), and learning. |
|
|
Prevent weight from going out of range. Note that this is flooring the weight at zero rather than MIN_DOUBLE_WEIGHT because it is assumed that only excitatory connections will be subject to learning and should not turn into inhibitory connections during the learning process. Definition at line 424 of file STDP1Synapse.cpp. Referenced by calculateWeight(), and updateWeight(). |
|
|
Called when the parameters have been changed. This method checks that the new parameters in the parameter map make sense. NOTE May need to check for learning mode being switched on and off. Definition at line 185 of file STDP1Synapse.cpp. References calculateWeight(), checkParameters(), lastUpdateTime, learning, and oldLearningMode. |
|
|
Prints out the parameters for debugging. Definition at line 433 of file STDP1Synapse.cpp. References calciumThreshDownHigh, calciumThreshDownLow, calciumThreshUpHigh, calciumThreshUpLow, disable, driftThreshold, learning, maximumDrift, minimumDrift, negativeDrift, positiveDrift, weightChangeThreshold, weightDecreaseAmnt, and weightIncreaseAmnt. Referenced by checkParameters(). |
|
|
Processes an incoming spike from the presynaptic neuron. Definition at line 204 of file STDP1Synapse.cpp. References calculateWeight(), disable, learning, and spikeTimeStep. |
|
|
Debugging method called by neuron to check that all the linking is working ok. Definition at line 226 of file STDP1Synapse.cpp. |
|
||||||||||||
|
Called by the neuron during learning mode when all spikes have been received. Alters the weight depending on the membrane potential and the calcium concentration. Definition at line 234 of file STDP1Synapse.cpp. References calciumThreshDownHigh, calciumThreshDownLow, calciumThreshUpHigh, calciumThreshUpLow, driftThreshold, learning, maximumDrift, minimumDrift, negativeDrift, normaliseWeight(), positiveDrift, spikeTimeStep, weightChangeThreshold, weightDecreaseAmnt, and weightIncreaseAmnt. |
|
|
Threshold of calcium concentration controlling weight change during learning. Definition at line 80 of file STDP1Synapse.h. Referenced by checkParameters(), printParameters(), and updateWeight(). |
|
|
Threshold of calcium concentration controlling weight change during learning. Definition at line 77 of file STDP1Synapse.h. Referenced by checkParameters(), printParameters(), and updateWeight(). |
|
|
Threshold of calcium concentration controlling weight change during learning. Definition at line 74 of file STDP1Synapse.h. Referenced by checkParameters(), printParameters(), and updateWeight(). |
|
|
Threshold of calcium concentration controlling weight change during learning. Definition at line 71 of file STDP1Synapse.h. Referenced by checkParameters(), printParameters(), and updateWeight(). |
|
|
The current time. Definition at line 125 of file STDP1Synapse.h. Referenced by calculateWeight(). |
|
|
Enables the synapse to be disabled so that it does not transmit spikes. Definition at line 117 of file STDP1Synapse.h. Referenced by checkParameters(), printParameters(), and processSpike(). |
|
|
In the absence of stimulation or weight change, the weight drifts towards the maximumDrift if it is above this threshold and towards the minimumDrift if it is below this threshold. Definition at line 95 of file STDP1Synapse.h. Referenced by calculateWeight(), checkParameters(), printParameters(), and updateWeight(). |
|
|
The time since the synapse was last updated. Definition at line 128 of file STDP1Synapse.h. Referenced by calculateWeight(), parametersChanged(), and STDP1Synapse(). |
|
|
Whether synapse is in learning mode or not. Definition at line 114 of file STDP1Synapse.h. Referenced by calculateFinalState(), checkParameters(), getMonitoringData(), getShortWeight(), getWeight(), parametersChanged(), printParameters(), processSpike(), and updateWeight(). |
|
|
The maximum value that the weight can drift to. This can be used to prevent an inhibitory connection drifting into an excitatory connection when it would be better for it to drift towards zero. Definition at line 106 of file STDP1Synapse.h. Referenced by calculateWeight(), checkParameters(), printParameters(), and updateWeight(). |
|
|
The minimum value that the weight can drift to. This can be used to prevent an excitatory connection drifting into an inhibitory connection when it would be better for it to drift towards zero. Definition at line 111 of file STDP1Synapse.h. Referenced by calculateWeight(), checkParameters(), printParameters(), and updateWeight(). |
|
|
The negative drift amount. Definition at line 101 of file STDP1Synapse.h. Referenced by calculateWeight(), checkParameters(), printParameters(), and updateWeight(). |
|
|
Need the previous learning mode to determine whether this has been switched on or off. Cannot make this static because there could be different learning modes present in the same neuron group. Definition at line 133 of file STDP1Synapse.h. Referenced by parametersChanged(), and STDP1Synapse(). |
|
|
The positive drift amount. Definition at line 98 of file STDP1Synapse.h. Referenced by calculateWeight(), checkParameters(), printParameters(), and updateWeight(). |
|
|
Records the timestep in which the last spike was received. This is so that the learning method only applies to synapses that have received a spike in the last time step. Definition at line 122 of file STDP1Synapse.h. Referenced by processSpike(), STDP1Synapse(), and updateWeight(). |
|
|
Weight change is voltage dependent and only takes place once the post synaptic neuron's membrane potential is over a given threshold. Definition at line 84 of file STDP1Synapse.h. Referenced by checkParameters(), printParameters(), and updateWeight(). |
|
|
Weight increase takes place in small jumps. Definition at line 90 of file STDP1Synapse.h. Referenced by checkParameters(), printParameters(), and updateWeight(). |
|
|
Weight increase takes place in small jumps. Definition at line 87 of file STDP1Synapse.h. Referenced by checkParameters(), printParameters(), and updateWeight(). |
1.4.4