TarzaNN
TarzaNN neural network simulator
|
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