TarzaNN
TarzaNN neural network simulator
C:/Users/albertlr/projects/TarzaNN/TarzaNN/FeaturePlaneHistogram.h
Go to the documentation of this file.
00001 /* The Histogram Feature Plane is a specialized feature plane which calculates a set of local histograms over the activations being sent to the feature plane.
00002 These histograms are then used to calculate an estimate for the probability of a given filter response.  This value is assigned to the feature plane output.
00003 Author: Calden Wloka
00004 */
00005 
00006 #ifndef FEATUREPLANEHISTOGRAM_H_INCLUDED
00007 #define FEATUREPLANEHISTOGRAM_H_INCLUDED
00008 
00009 #include "FeaturePlane.h"
00010 #include "Histogram.h"
00011 #include <vector>
00012 
00013 class FeaturePlaneHistogram : public FeaturePlane {
00014         friend class FeaturePlaneFactory;
00015 
00016 protected:
00017         //constructor
00018         FeaturePlaneHistogram(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 numBins); //<?> FOR WHEN TILED HISTOGRAMS WORK, int numHistsX, int NumHistsY);
00019 
00020         // histogram parameters 
00021         int numBins; // the number of bins in each histogram.  All histograms have the same bins so they can be combined as appropriate
00022         int numHistsX; // the number of histograms to tile in horizontal direction
00023         int numHistsY; // the number of histograms to tile in the vertical direction
00024         //vector<Histogram> histSet; // the set of local histograms which contribute to the feature plane probabilities
00025         Histogram* histSet; // <?> FOR NOW JUST USE ONE BIG HISTOGRAM, TILED HISTOGRAMS NOT YET IMPLEMENTED
00026 
00027         // overload the compute activations function in order to set the minVal and maxVal values
00028         // this in turn sets the binWidth
00029         void computeActivations();
00030         void computeActivations(PlaneInputs inputPlane, MatrixVector activations);
00031 
00032         // this takes all the activations from the filters (if it is a histogram filter, this is simply
00033         // the identity filter), produces histograms from the output, and then calculates an estimate of the probability
00034         // from the histograms
00035         void sumActivations(MatrixVector regularActivations, MatrixVector nonFourierActivations, Matrix* totalActivation);      
00036         void _sumActivations(MatrixVector activations, Matrix* totalActivation);
00037 
00038         //destructor
00039         ~FeaturePlaneHistogram();
00040 
00041 };
00042 #endif //FEATUREPLANEHISTOGRAM_H_INCLUDED
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines