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

AlphaNeuron Class Reference

A neuron based on the area W neurons described in the Hopfield-Brody Mus Silicium papers. More...

#include <amygdala/alphaneuron.h>

Inheritance diagram for AlphaNeuron:

Neuron List of all members.

Public Methods

 AlphaNeuron (AmIdInt neuronId)
virtual ~AlphaNeuron ()
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 void SetMaxScaledWeight ()

Protected Attributes

float * epspLookup
float * edPspLookup
float * ipspLookup
float * idPspLookup

Detailed Description

A neuron based on the area W neurons described in the Hopfield-Brody Mus Silicium papers.

The neuron model derives the post-synaptic potential based on the pre-synaptic currents. The excitatory current is modeled as

and the inhibitory current is modeled as the alpha function

The synaptic time constant, is set to be 4 ms longer in inhibitory synapses than in excitatory . The value set through the API is the excitatory time constant. This was done because the longer inhibitory constant is needed for the correct functioning of our Mus Silicium implementation. Amygdala 0.4 will allow excitatory and inhibitory synaptic time constants to be set separately, elliminating the need for this kludge. The contribution of each current to the membrane potential can be found by integrating the currents over time. The integration is done for AlphaNeuron by the Euler class using Euler's method with a 10us time step.

See also:
Neuron, BasicNeuron, FastNeuron, Euler.
Author:
Matt Grover


Constructor & Destructor Documentation

AlphaNeuron::AlphaNeuron AmIdInt    neuronId
 

Parameters:
neuronId  A unique, positive integer that is used to identify the neuron.


Member Function Documentation

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

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

Implements Neuron.

virtual float* AlphaNeuron::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* AlphaNeuron::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 AlphaNeuron::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 AlphaNeuron::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 AlphaNeuron::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