SimLayer Class Reference

#include <ModelNeuron/SimLayer.H>

Inheritance diagram for SimLayer:
Inheritance graph
[legend]
Collaboration diagram for SimLayer:
Collaboration graph
[legend]

List of all members.

Public Member Functions

 SimLayer (const SimTime &timestep, const uint width, const uint height, const std::string name="", const std::string units="")
 constructor
virtual ~SimLayer ()
 destructor
void input (const Image< double > &in, const int pos=-1)
 set the input
void inputExc (const Image< double > &in, const int pos=-1)
 set the excitatory input
void inputInh (const Image< double > &in, const int pos=-1)
 set the inhibitory input
Image< double > getOutput (const int pos=-1) const
 get the current output
void evolve (const SimTime &simtime)
 evolve up to specified time
virtual void setModule (const SimUnit &mod)=0
 set the type of neural simulation module to use
virtual void setModule (const SimUnit &mod, const Location &pos)=0
void initialize ()
void setTime (const SimTime &time, const bool recurse=true)
 set simulation time step
const SimTime getTime () const
 get current time
const SimTime getTimeStep () const
 get simulation time step
virtual SimLayerclone () const =0
 clone the module

Protected Member Functions

 SimLayer (const SimLayer &nlc)
SimLayeroperator= (const SimLayer &nlc)

Protected Attributes

Image< double > itsOutput

Detailed Description

This partial implementation of SimStructure represents a container for SimUnits (See SimUnit.H) that takes 2D input, gives 2D output, and evolves the internal states of its SimUnits. This class may have sub structures, but this implementation only allows 1 input and output (ie, trying to input or get output to a layer > 0 will fail). See Structure.H for a class which implements sub structures such that they can be input to our output from.

After a call to evolve(time), the modules internal time will be simulated up to 'time' and a call to getOutput() will represent the output of the system at 'time'. The logic is the same as SimUnit (see SimUnit.H). Sub structures are not required to be simulated at the same time step.

Definition at line 59 of file SimLayer.H.


Constructor & Destructor Documentation

SimLayer::SimLayer ( const SimTime timestep,
const uint  width,
const uint  height,
const std::string  name = "",
const std::string  units = "" 
) [inline]

constructor

Definition at line 179 of file SimLayer.H.

virtual SimLayer::~SimLayer (  )  [inline, virtual]

destructor

Definition at line 67 of file SimLayer.H.


Member Function Documentation

virtual SimLayer* SimLayer::clone (  )  const [pure virtual]
void SimLayer::evolve ( const SimTime simtime  )  [inline, virtual]

evolve up to specified time

Implements SimStructure.

Definition at line 250 of file SimLayer.H.

References Image< T >::clear(), SimTime::NSECS(), and SimTime::nsecs().

Image< double > SimLayer::getOutput ( const int  pos = -1  )  const [inline, virtual]

get the current output

Implements SimStructure.

Definition at line 242 of file SimLayer.H.

References ASSERT.

const SimTime SimLayer::getTime (  )  const [inline, virtual]

get current time

Implements SimStructure.

Definition at line 306 of file SimLayer.H.

const SimTime SimLayer::getTimeStep (  )  const [inline, virtual]

get simulation time step

Implements SimStructure.

Definition at line 323 of file SimLayer.H.

void SimLayer::input ( const Image< double > &  in,
const int  pos = -1 
) [inline, virtual]

set the input

Implements SimStructure.

Definition at line 218 of file SimLayer.H.

References ASSERT, and Image< T >::getDims().

void SimLayer::inputExc ( const Image< double > &  in,
const int  pos = -1 
) [inline, virtual]

set the excitatory input

Implements SimStructure.

Definition at line 226 of file SimLayer.H.

References ASSERT, and Image< T >::getDims().

void SimLayer::inputInh ( const Image< double > &  in,
const int  pos = -1 
) [inline, virtual]

set the inhibitory input

Implements SimStructure.

Definition at line 234 of file SimLayer.H.

References ASSERT, and Image< T >::getDims().

virtual void SimLayer::setModule ( const SimUnit mod,
const Location pos 
) [pure virtual]

set the type of neural simulation module to use, at a specific position

Implemented in Layer< T, W >, Layer< LowPassSigmoid, WeightsCS >, Layer< LowPassSigmoid, WeightsDoG >, and Layer< LowPassSigmoid, WeightsBinomial >.

virtual void SimLayer::setModule ( const SimUnit mod  )  [pure virtual]
void SimLayer::setTime ( const SimTime time,
const bool  recursive = true 
) [inline, virtual]

The documentation for this class was generated from the following file:
Generated on Sun May 8 08:43:48 2011 for iLab Neuromorphic Vision Toolkit by  doxygen 1.6.3