TarzaNN
TarzaNN neural network simulator
C:/Users/albertlr/projects/TarzaNN/TarzaNN/FeaturePlaneFHM.h
Go to the documentation of this file.
00001 /* The Fixation History Map (FHM) Feature Plane is a specialized feature plane 
00002 which is used to keep track of multiple fixation points incoming from a smaller 
00003 window, to update those points over spatial translation of the window such that
00004 the incoming window will always stay positioned in the centre of the FHM plane, 
00005 and to decay the stored fixation points through time.
00006 Author: Calden Wloka
00007 */
00008 
00009 #ifndef FEATUREPLANEFHM_H_INCLUDED
00010 #define FEATUREPLANEFHM_H_INCLUDED
00011 
00012 #include "FeaturePlane.h"
00013 
00014 class FeaturePlaneFHM : public FeaturePlane {
00015         friend class FeaturePlaneFactory;
00016 
00017 protected:
00018         //constructor that takes in the standard feature plane parameters. decayRate will be set to a default value
00019         FeaturePlaneFHM(Network* net, int l, QString* n, int w, int h, int angles, int speeds, int alpha, int speed, bool isWTA, bool visible, Neuron* neuron, NotifyStrategyAbstract* notify);
00020 
00021         //constructor which specifies the decayRate to a user-defined value, so long as that value is greater than 0 and less than or equal to 1.
00022         FeaturePlaneFHM(Network* net, int l, QString* n, int w, int h, int angles, int speeds, int alpha, int speed, bool isWTA, bool visible, Neuron* neuron, NotifyStrategyAbstract* notify, int decayRate);
00023 
00024         //constructor which takes in a value for the size of the memory field separate from the w and h values, but does not specify the decay rate
00025         FeaturePlaneFHM(Network* net, int l, QString* n, int w, int h, int memW, int memH, int angles, int speeds, int alpha, int speed, bool isWTA, bool visible, Neuron* neuron, NotifyStrategyAbstract* notify);
00026 
00027         //constructor which specifies the decayRate to a user-defined value, so long as that value is greater than 0 and less than or equal to 1. Also takes in a value for the size of the memory field separate from the w and h values
00028         FeaturePlaneFHM(Network* net, int l, QString* n, int w, int h, int memW, int memH, int angles, int speeds, int alpha, int speed, bool isWTA, bool visible, Neuron* neuron, NotifyStrategyAbstract* notify, int decayRate);
00029 
00030         // Fixation History Map Parameters
00031         int decayRate;          // the number of time steps it takes for a previous fixation to return to 0
00032         int xTrans;                     // translation in the x dimension
00033         int yTrans;                     // translation in the y dimension
00034         int memW;                       // width of the memory plane, default to the size of the the visual field
00035         int memH;                       // height of the memory plane, default to the size of the the visual field
00036         Matrix* memoryActivation;               // hidden storage of fixation history which can take a custom size
00037         int xMem;                       // x-offset between the top corner of the visual field and the edge of the memory map
00038         int yMem;                       // y-offset between the top corner of the visual field and the edge of the memory map
00039 
00040         // initialize the memory map, which stores fixations outside of the visual field
00041         void initMemory(int memW, int memH, int decayRate);
00042 
00043         // overload the sumActivations functions such that it does not replace previous values, but
00044         // rather translates and reduces the previous values to keep it centered with foveation.
00045         void sumActivations(MatrixVector regularActivations, MatrixVector nonFourierActivations, Matrix* totalActivation);      
00046         void _sumActivations(MatrixVector activations, Matrix* totalActivation);
00047 
00048         //destructor
00049         ~FeaturePlaneFHM();
00050 };
00051 #endif //FEATUREPLANEFHM_H_INCLUDED
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines