Main Page   Namespace List   Class Hierarchy   Alphabetical List   Compound List   File List   Namespace Members   Compound Members  

BasicNeuron Class Reference

BasicNeuron implements a simple integrate-and-fire neuron model based on the model presented in chapter 1 of Pulsed Neural Networks, but with the membrane time constant set to 0. More...

#include <amygdala/basicneuron.h>

Inheritance diagram for BasicNeuron:

Neuron List of all members.

Public Methods

 BasicNeuron (AmIdInt neuronId)
virtual ~BasicNeuron ()
virtual float * InitializeLookupTable (int index)
virtual float * GetTableParams (int index, int &numParams)
virtual const char * ClassId ()

Protected Methods

virtual void InputSpike (SynapseItr &inSynapse, AmTimeInt inTime, unsigned int numSyn=0)
virtual int SetLookupTables (FunctionLookup *funcRef)
virtual int FillLookupTables (int index)
virtual void SetMaxScaledWeight ()

Friends

class Network

Detailed Description

BasicNeuron implements a simple integrate-and-fire neuron model based on the model presented in chapter 1 of Pulsed Neural Networks, but with the membrane time constant set to 0.

The BasicNeuron PSP is modeled as

See also:
Neuron, AlphaNeuron, FastNeuron
Author:
Matt Grover


Member Function Documentation

virtual const char* BasicNeuron::ClassId   [inline, virtual]
 

return "BasicNeuron". this is needed for xml tags.

Implements Neuron.

virtual int BasicNeuron::FillLookupTables int    index [protected, virtual]
 

Fill the lookup table corresponding to index. Two tables are used in this class -- a PostSynaptic potential table and a table holding values for the derivative of the potential.

Parameters:
index  Index number of table to be populated.

virtual float* BasicNeuron::GetTableParams int    index,
int &    numParams
[virtual]
 

This is an internal function and should only be called by FunctionLookup. This function will be either removed or made private for Amygdala 0.4.

Returns:
An array containing any values used to generate the lookup tables that were set at runtime.
Parameters:
index 
numParams  Number of unique parameters (variables) needed to generate the lookup table associated with index.

Implements Neuron.

virtual float* BasicNeuron::InitializeLookupTable int    index [virtual]
 

Fill a lookup table and return a pointer to the first element. Neuron::SetTableDimensions() should be called first. This is an internal function and should only be called by FunctionLookup. This function will be made private or removed completely for Amygdala 0.4.

Parameters:
index  The index of the table to be initialized.
Returns:
A pointer to the lookup table (an array of floats).

Implements Neuron.

virtual void BasicNeuron::InputSpike SynapseItr &    inSynapse,
AmTimeInt    inTime,
unsigned int    numSyn = 0
[protected, virtual]
 

Send a spike to this Neuron. When spikes are grouped, this function will only be called once per step, but it can be called multiple times otherwise. This should only be called from other Neurons or the Network.

Parameters:
inSynapse  The synapses that the incoming spikes are crossing. (locations of the weights).
inTime  Time of input (microseconds).
numSyn  Number of synapses that are receiving input during the current time step. The default value of 0 indicates that spikes are not being grouped together and only a single spike is being passed.
See also:
Neuron::SendSpike(), Network::SendDelayedSpikes().

Implements Neuron.

virtual int BasicNeuron::SetLookupTables FunctionLookup   funcRef [protected, virtual]
 

Query funcRef to see if a lookup table has already been generated for an identical neuron and retrieve a pointer to the table if it has. This is an internal function and should not be called by library users.

Parameters:
funcRef  Pointer to a FunctionLookup object.

Implements Neuron.

virtual void BasicNeuron::SetMaxScaledWeight   [protected, virtual]
 

Determine the maximum value of a weight for this neuron and set maxScaledWeight to this value. This will be used as the multiplication factor to convert to and from the normalized weight values that are used in the public interface.

NOTE: This function will be deprecated in version 0.4 if favor of normalizing PSP curves rather than recalculating normalized weights.

Reimplemented from Neuron.


The documentation for this class was generated from the following file:
Generated on Wed Sep 4 02:30:35 2002 for Amygdala by doxygen1.2.14 written by Dimitri van Heesch, © 1997-2002