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

InternalNeuralRegion Class Reference

#include <neuralregion.h>

Inheritance diagram for InternalNeuralRegion:

Inheritance graph
[legend]
Collaboration diagram for InternalNeuralRegion:

Collaboration graph
[legend]
List of all members.

Detailed Description

Abstract base class for any NeuralRegion which accepts input from other NeuralRegions (unlike e.g.

a Retina).

Definition at line 203 of file neuralregion.h.

Public Types

typedef ActivityMatrix WeightMatrix
 Matrix for weights; this does not have to be the actual type of the weights (if any) as they are actually stored internally, but it is the type used in interfaces that e.g.

typedef Generic::unary_virtual_function<
double, WeightMatrix
WeightFunction
 Function which computes a starting or fixed set of weights.

typedef Boundary::BoundingBox<
int, int > 
WeightBounds
 BoundingBox enclosing a weight matrix.

typedef WeightSet< WeightMatrix,
WeightBounds, MapBaseType,
mat::MatrixInterfaceAdapter<
WeightMatrix, Magnitude > > 
Weights
 A set of weights from a unit to or from a NeuralRegion.


Public Methods

virtual Dimensions input_dimensions (WeightFunction &fn, Length size_scale=1.0)=0
 Computes input dimensions that would be required to avoid border effects.

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

virtual void add_input (const string &name, NeuralRegion &upstream_region, WeightFunction &fn, Length size_scale)=0
 Declare that the given region gives input to this region, and define any connections needed.

virtual void backproject ()=0
 Backproject current activity.

virtual void backproject (const string &name, const double gammaaff=1.0)
 Backproject core routine: to be called by implementation classes' backproject().

Constructors and destructors
 InternalNeuralRegion (string name_i, Dimensions dims)
Weight access functions
virtual const Weights weights (const string &name, int ui=0, int uj=0) const
 Returns the specified weights for a unit.

virtual const WeightMatrix get_weights (const string &name, int ui=0, int uj=0) const=0
 Returns weights from the given unit from the group of weights with the given name.

virtual WeightBoundsget_weights_bounds (const string &name, int ui=0, int uj=0) const=0
 Allocates and returns a BoundingBox on the map for the weights of the given unit; all active weights must lie within.

Input access functions
virtual NeuralRegionget_input (const string &name)=0
 Returns the specified input region for a unit.


Member Typedef Documentation

typedef ActivityMatrix InternalNeuralRegion::WeightMatrix
 

Matrix for weights; this does not have to be the actual type of the weights (if any) as they are actually stored internally, but it is the type used in interfaces that e.g.

provide preset weights or plot a set of weights.

Definition at line 219 of file neuralregion.h.

Referenced by LissomMap::add_input(), FixedWtRegion::add_input(), LissomMap::get_weights(), FixedWtRegion::get_weights(), FixedWtRegion::get_weights_bounds(), FixedWtRegion::input_dimensions(), and weights().


Member Function Documentation

virtual void InternalNeuralRegion::add_input const string &    name,
NeuralRegion   upstream_region,
WeightFunction   fn,
Length    size_scale
[pure virtual]
 

Declare that the given region gives input to this region, and define any connections needed.

The connections will have the given name. Accepts fn (a unary function of size_scale) to initialize the weights.

Implemented in FixedWtRegion, and LissomMap.

Referenced by NeuralRegionManager::add_input().

virtual void InternalNeuralRegion::backproject const string &    name,
const double    gammaaff = 1.0
[inline, virtual]
 

Backproject core routine: to be called by implementation classes' backproject().

This code is too detailed for such an abstract class, and should be moved elsewhere if possible.

Reimplemented in LissomMap.

Definition at line 248 of file neuralregion.h.

References Boundary::BoundingBox< T, Boolean, Float >::aarectangle(), NeuralRegion::bp, get_input(), get_weights(), get_weights_bounds(), and NeuralRegion::output.

virtual void InternalNeuralRegion::backproject   [pure virtual]
 

Backproject current activity.

Must be implemented by derived classes. yschoe

Implemented in FixedWtRegion, and LissomMap.

Referenced by FixedWtRegion::backproject().

virtual const WeightMatrix InternalNeuralRegion::get_weights const string &    name,
int    ui = 0,
int    uj = 0
const [pure virtual]
 

Returns weights from the given unit from the group of weights with the given name.

The weights returned may e.g. be a constant set of weights for all units regardless, or they may be generated on the fly, so bear that in mind. If a region does not have any weights with the specified name, it should return an empty (0x0) matrix.

Implemented in FixedWtRegion, and LissomMap.

Referenced by backproject(), and weights().

virtual WeightBounds* InternalNeuralRegion::get_weights_bounds const string &    name,
int    ui = 0,
int    uj = 0
const [pure virtual]
 

Allocates and returns a BoundingBox on the map for the weights of the given unit; all active weights must lie within.

This box is not guaranteed to be the minimum such box; it generally stays the same even if units are pruned, and some types may only implement a rectangular box even if weights are internally constrained to e.g. a circular region.

Implemented in FixedWtRegion, and LissomMap.

Referenced by backproject(), and weights().

virtual bool InternalNeuralRegion::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 from NeuralRegion.

Definition at line 234 of file neuralregion.h.


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