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

NeuralRegion Class Reference

#include <neuralregion.h>

Inheritance diagram for NeuralRegion:

Inheritance graph
[legend]
Collaboration diagram for NeuralRegion:

Collaboration graph
[legend]
List of all members.

Detailed Description

Base class encompassing both sensory and cortical regions (input and hidden layers, in NN terminology) organized as a 2D matrix.

Definition at line 28 of file neuralregion.h.

Public Types

Types
typedef Bounded::Magnitude Magnitude
 Generic type for a real-valued magnitude on the scale 0 to 1.0.

typedef Magnitude Activity
 Type to use for an activity level.

typedef double Length
 Type to use for distances across the surface of the matrix in any direction.

typedef MatrixType< Activity
>::rectangular 
ActivityMatrix
 Matrix for activity.

typedef ActivityMatrix::size_type Subscript
 A single index for a matrix.

typedef std::pair< Subscript,
Subscript
SubscriptPair
 Coordinate of a specific unit in a matrix or the size of a matrix.

typedef mat::MatrixInterface<
Magnitude
MapBaseType
 A map of a quantity from 0..1.0 for each neuron.

typedef mat::MatrixInterfaceAdapter<
ActivityMatrix, Magnitude
ActivityAdapter
 An adapter from an ActivityMatrix to a MapBaseType; this is only one example of many such adapters accepted by MapBaseType.

typedef Boundary::AARBoundingBox<
int, int > 
Bounds
 BoundingBox on the surface of the NeuralRegion.

typedef SequenceTransform::OneD<
ActivityMatrix, ActivityMatrix
ActivationFunction
 Activation function.


Public Methods

virtual void activate (bool learn=false, bool settle=true, bool activatefn=true)=0
 Activate the map given the current inputs.

const string & name () const
 Returns the declared name of this region.

const int nrows () const
const int ncols () const
virtual bool is_internal () const
 Returns true if this region is an internal region, i.e.

virtual bool is_plastic () const
 Returns true if this region might contain modifiable weights.

virtual void save_state (const string &)
 Save the region's state to the given file.

virtual bool restore_state (const int, const string &)
 Load state from the given file.

virtual void prune ()
 If applicable, prune connections.

virtual double size_connection_bytes () const=0
 Returns the size of this region, in terms of the number of bytes taken to store its connections.

virtual double size_unique_connections () const=0
 Returns the size of this region, in terms of the number of connections which might hold unique values.

Constructors and destructors
 NeuralRegion (string name_i, Dimensions dims)
 NeuralRegion (const NeuralRegion &other)
Low-level interface -- avoid if possible
virtual Activity activity (Subscript i, Subscript j) const
 Returns the current activity for the specified unit.

virtual const ActivityMatrixconst_activity () const
 Returns a const matrix of the current activity values.

virtual const ActivityMatrixbackprojection () const
virtual const ActivityMatrixresidual_activity () const
Quasi-protected members -- should be used only by subtypes, but not necessarily on self.
Bounds bounds () const
 Returns a BoundingBox enclosing the entire region.


Public Attributes

ActivityMatrix output
 Matrix of current activity values to be propagated to other layers.

ActivityMatrix bp
ActivityMatrix residual


Member Typedef Documentation

typedef MatrixType<Activity>::rectangular NeuralRegion::ActivityMatrix
 

Matrix for activity.

Currently this is only available read-only so that a derived class can use some other representation internally as long as this representation is available for other regions to see.

Definition at line 51 of file neuralregion.h.

Referenced by LissomMap::backproject(), and LissomMap::response_to_input().

typedef Bounded::Magnitude NeuralRegion::Magnitude
 

Generic type for a real-valued magnitude on the scale 0 to 1.0.

Larger or smaller values are acceptable (boundaries are not enforced) but are not always meaningful.

Definition at line 37 of file neuralregion.h.


Constructor & Destructor Documentation

NeuralRegion::NeuralRegion const NeuralRegion &    other [inline]
 

Parameters:
other  Copy constructor

Definition at line 94 of file neuralregion.h.

References Bounded::Magnitude, and output.


Member Function Documentation

virtual void NeuralRegion::activate bool    learn = false,
bool    settle = true,
bool    activatefn = true
[pure virtual]
 

Activate the map given the current inputs.

Must be implemented by derived classes.

Implemented in FixedWtRegion, LissomMap, and Retina.

virtual bool NeuralRegion::is_internal   const [inline, virtual]
 

Returns true if this region is an internal region, i.e.

if it accepts input directly from other regions. Regions are assumed not to accept such input unless they declare otherwise.

Reimplemented in InternalNeuralRegion.

Definition at line 134 of file neuralregion.h.

Referenced by NeuralRegionManager::NeuralRegionManager().

virtual bool NeuralRegion::is_plastic   const [inline, virtual]
 

Returns true if this region might contain modifiable weights.

Regions are assumed to be modifiable unless they declare otherwise.

Reimplemented in FixedWtRegion, and Retina.

Definition at line 139 of file neuralregion.h.

Referenced by NeuralRegionManager::NeuralRegionManager().

virtual void NeuralRegion::prune   [inline, virtual]
 

If applicable, prune connections.

There may be some more general way to implement such functionality than having an explicit interface for routines as specific as this.

Reimplemented in LissomMap.

Definition at line 162 of file neuralregion.h.

virtual bool NeuralRegion::restore_state const    int,
const string &   
[inline, virtual]
 

Load state from the given file.

The default implementation is a stub, for networks with no saveable state; others should implement some other form of saving. Returns true if the load was successful. This interface might need to be modified at some point; it might be possible to eliminate the iteration (first argument).

Reimplemented in LissomMap.

Definition at line 157 of file neuralregion.h.

virtual void NeuralRegion::save_state const string &    [inline, virtual]
 

Save the region's state to the given file.

The default implementation is a stub, for networks with no saveable state; others should implement some other form of saving. This interface might need to be modified at some point. It would be made const except that some saving methods use an automatic verify that relies on write access to the region.

Reimplemented in LissomMap.

Definition at line 149 of file neuralregion.h.

virtual double NeuralRegion::size_connection_bytes   const [pure virtual]
 

Returns the size of this region, in terms of the number of bytes taken to store its connections.

Required to be implemented by each type of region.

Implemented in FixedWtRegion, LissomMap, and Retina.

virtual double NeuralRegion::size_unique_connections   const [pure virtual]
 

Returns the size of this region, in terms of the number of connections which might hold unique values.

(This might be different from the total number of connections if e.g. some connections are shared between different units.)

Implemented in FixedWtRegion, LissomMap, and Retina.


The documentation for this class was generated from the following file:
Generated on Mon Jan 20 02:37:06 2003 for RF-LISSOM by doxygen1.3-rc2