Main Page | Namespace List | Alphabetical List | Class List | Directories | File List | Class Members | File Members

STDP1Neuron Class Reference

#include <STDP1Neuron.h>

List of all members.

Public Member Functions

 STDP1Neuron ()
 ~STDP1Neuron ()
void calculateFinalState ()
void changePostSynapticPotential (double amount, unsigned int preSynapticNeuronID)
const string * getDescription ()
string getMonitoringInfo ()
MonitorData * getMonitoringData ()
void parametersChanged ()
bool setParameters (map< string, double > paramMap)

Private Member Functions

void calculateMembranePotential ()
void printParameters ()
void update ()

Private Attributes

double pspTotal
double membranePotential
double currentTime
double lastUpdateTime
double timeSinceLastFire
bool oldLearningMode
double calciumConc
double finalStateUpdateTime

Static Private Attributes

static double threshold = 0.0
static double membraneTimeConstant_millisec = 0.0
static double refractoryPeriod_millisec = 0.0
static double refractoryParam_m = 0.0
static double refractoryParam_n = 0.0
static bool learningMode = false
static double calciumIncreaseAmnt = 0.0
static double calciumDecayRate = 0.0
static double minPostsynapticPotential = 0.0


Detailed Description

Neuron based on J.M. Brader, W. Senn and S. Fusi (2006). Learning real world stimuli in a neural network with spike driven synaptic dynamics. Submitted to Neural Computation (2006). Available at: http://www.ini.unizh.ch/~fusi/papers/bsf05.pdf.

Definition at line 41 of file STDP1Neuron.h.


Constructor & Destructor Documentation

STDP1Neuron::STDP1Neuron  ) 
 

Constructor.

Definition at line 71 of file STDP1Neuron.cpp.

References calciumConc, currentTime, finalStateUpdateTime, lastUpdateTime, membranePotential, oldLearningMode, pspTotal, and timeSinceLastFire.

STDP1Neuron::~STDP1Neuron  ) 
 

Destructor.

Definition at line 97 of file STDP1Neuron.cpp.


Member Function Documentation

void STDP1Neuron::calculateFinalState  )  [inline]
 

Called to calculate the final membrane state and decide whether the neuron should fire or not. In event-based updating mode, this has to be called after all spikes have been received because a set of excitatory messages could be received from one layer and later a set of inhibitory messages from another layer. In full neuron update mode, this method is called at each timestep.

Definition at line 114 of file STDP1Neuron.cpp.

References calciumConc, calciumIncreaseAmnt, calculateMembranePotential(), finalStateUpdateTime, learningMode, membranePotential, pspTotal, threshold, and update().

Referenced by getMonitoringData().

void STDP1Neuron::calculateMembranePotential  )  [private]
 

Calculates the current state of the membrane potential, taking the refractory period into account. This is generally called just before calculating the final state of the neuron to evaluate whether it should fire, but in learning mode, need to calculate the membrane potential prior to processing the spike if it is a voltage dependent learning rule. NOTE this may create problems if a large number of positive synapses are always processed prior to a large number of negative synapses.

Definition at line 334 of file STDP1Neuron.cpp.

References currentTime, lastUpdateTime, membranePotential, pspTotal, refractoryParam_m, refractoryParam_n, refractoryPeriod_millisec, threshold, and timeSinceLastFire.

Referenced by calculateFinalState().

void STDP1Neuron::changePostSynapticPotential double  amount,
unsigned int  preSynapticNeuronID
[inline]
 

Called by a synapse when it receives a spike and decides to pass it on to the neuron Will be using dynamic synapses, so spikes may not always be passed on.

Definition at line 158 of file STDP1Neuron.cpp.

References minPostsynapticPotential, pspTotal, and update().

const string * STDP1Neuron::getDescription  )  [inline]
 

Returns a description of this class for debugging purposes. Invoking method has the responsibility of deleting the description string.

Definition at line 179 of file STDP1Neuron.cpp.

MonitorData * STDP1Neuron::getMonitoringData  ) 
 

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 187 of file STDP1Neuron.cpp.

References calciumConc, calculateFinalState(), finalStateUpdateTime, and membranePotential.

string STDP1Neuron::getMonitoringInfo  ) 
 

Returns a string containing the data that is output by this neuron in monitoring mode in XML format.

Definition at line 206 of file STDP1Neuron.cpp.

void STDP1Neuron::parametersChanged  )  [inline]
 

Called when the parameters have been statically changed. In this neuron implementation it resets the calcium to zero when it is turned on.

Definition at line 225 of file STDP1Neuron.cpp.

References calciumConc, learningMode, and oldLearningMode.

void STDP1Neuron::printParameters  )  [private]
 

Prints out the parameters for debugging.

Definition at line 367 of file STDP1Neuron.cpp.

References calciumDecayRate, calciumIncreaseAmnt, learningMode, membraneTimeConstant_millisec, refractoryParam_m, refractoryParam_n, refractoryPeriod_millisec, and threshold.

Referenced by setParameters().

bool STDP1Neuron::setParameters map< string, double >  paramMap  ) 
 

Sets the neuron parameters.

Definition at line 239 of file STDP1Neuron.cpp.

References calciumDecayRate, calciumIncreaseAmnt, learningMode, membraneTimeConstant_millisec, minPostsynapticPotential, printParameters(), refractoryParam_m, refractoryParam_n, refractoryPeriod_millisec, and threshold.

void STDP1Neuron::update  )  [private]
 

Called to retrospectively calculate how the neuron has changed since its last update. Should be called before carrying out any changes on the neuron's state and before reporting any parameters of the neuron.

Definition at line 384 of file STDP1Neuron.cpp.

References calciumConc, calciumDecayRate, currentTime, lastUpdateTime, membraneTimeConstant_millisec, pspTotal, and timeSinceLastFire.

Referenced by calculateFinalState(), and changePostSynapticPotential().


Member Data Documentation

double STDP1Neuron::calciumConc [private]
 

Calcium level in the cell Used during learning to measure the activity level of the neuron.

Definition at line 121 of file STDP1Neuron.h.

Referenced by calculateFinalState(), getMonitoringData(), parametersChanged(), STDP1Neuron(), and update().

double STDP1Neuron::calciumDecayRate = 0.0 [static, private]
 

Controls the behaviour of the calcuim concentration. This is used during learning as a measure of the firing rate of the neuron.

Definition at line 88 of file STDP1Neuron.h.

Referenced by printParameters(), setParameters(), and update().

double STDP1Neuron::calciumIncreaseAmnt = 0.0 [static, private]
 

Controls the behaviour of the calcuim concentration. This is used during learning as a measure of the firing rate of the neuron.

Definition at line 84 of file STDP1Neuron.h.

Referenced by calculateFinalState(), printParameters(), and setParameters().

double STDP1Neuron::currentTime [private]
 

The current time.

Definition at line 108 of file STDP1Neuron.h.

Referenced by calculateMembranePotential(), STDP1Neuron(), and update().

double STDP1Neuron::finalStateUpdateTime [private]
 

Record when the final state is calculated so that this method can be invoked prior to returning monitoring data without calling it twice.

Definition at line 125 of file STDP1Neuron.h.

Referenced by calculateFinalState(), getMonitoringData(), and STDP1Neuron().

double STDP1Neuron::lastUpdateTime [private]
 

The time since the neuron was last updated.

Definition at line 111 of file STDP1Neuron.h.

Referenced by calculateMembranePotential(), STDP1Neuron(), and update().

bool STDP1Neuron::learningMode = false [static, private]
 

Whether the neuron is in learning mode.

Definition at line 80 of file STDP1Neuron.h.

Referenced by calculateFinalState(), parametersChanged(), printParameters(), and setParameters().

double STDP1Neuron::membranePotential [private]
 

Used for the final calculation, taking account of refractory period etc.

Definition at line 105 of file STDP1Neuron.h.

Referenced by calculateFinalState(), calculateMembranePotential(), getMonitoringData(), and STDP1Neuron().

double STDP1Neuron::membraneTimeConstant_millisec = 0.0 [static, private]
 

Controls the decay rate of the post synaptic potential.

Definition at line 68 of file STDP1Neuron.h.

Referenced by printParameters(), setParameters(), and update().

double STDP1Neuron::minPostsynapticPotential = 0.0 [static, private]
 

Limits the degree to which the membrane potential can be hyperpolarized. Otherwise an inhibitory layer can increase the polarization without limit, which is not biologically realistic and affects the time that the neuron takes to recover from inhibition.

Definition at line 94 of file STDP1Neuron.h.

Referenced by changePostSynapticPotential(), and setParameters().

bool STDP1Neuron::oldLearningMode [private]
 

The previous learning mode. Used to check for learning mode changes.

Definition at line 117 of file STDP1Neuron.h.

Referenced by parametersChanged(), and STDP1Neuron().

double STDP1Neuron::pspTotal [private]
 

The total post synaptic potential caused by all previous spikes.

Definition at line 102 of file STDP1Neuron.h.

Referenced by calculateFinalState(), calculateMembranePotential(), changePostSynapticPotential(), STDP1Neuron(), and update().

double STDP1Neuron::refractoryParam_m = 0.0 [static, private]
 

Parameter controlling the relative refractory period.

Definition at line 74 of file STDP1Neuron.h.

Referenced by calculateMembranePotential(), printParameters(), and setParameters().

double STDP1Neuron::refractoryParam_n = 0.0 [static, private]
 

Parameter controlling the relative refractory period.

Definition at line 77 of file STDP1Neuron.h.

Referenced by calculateMembranePotential(), printParameters(), and setParameters().

double STDP1Neuron::refractoryPeriod_millisec = 0.0 [static, private]
 

Neuron cannot fire when it is in its refractory period.

Definition at line 71 of file STDP1Neuron.h.

Referenced by calculateMembranePotential(), printParameters(), and setParameters().

double STDP1Neuron::threshold = 0.0 [static, private]
 

Neuron fires when its post synaptic potential crosses this threshold.

Definition at line 65 of file STDP1Neuron.h.

Referenced by calculateFinalState(), calculateMembranePotential(), printParameters(), and setParameters().

double STDP1Neuron::timeSinceLastFire [private]
 

The time since the neuron last fired.

Definition at line 114 of file STDP1Neuron.h.

Referenced by calculateMembranePotential(), STDP1Neuron(), and update().


The documentation for this class was generated from the following files:
Generated on Mon Sep 3 22:33:18 2007 for STDP1 Neuron by  doxygen 1.4.4