TarzaNN
TarzaNN neural network simulator
|
00001 #ifndef INPUTMULTIPLEFEATUREPLANE_H_INCLUDED 00002 #define INPUTMULTIPLEFEATUREPLANE_H_INCLUDED 00003 00004 #include <qimage.h> 00005 00006 #include "nowarn.h" 00007 #include "common.h" 00008 #include <stdlib.h> 00009 00010 #include "OutputImage.h" 00011 #include "InputFeaturePlaneAbstract.h" 00012 #include "FeaturePlaneInput.h" 00013 #include "NotifyStrategyASync.h" 00014 #include "NotifyStrategySync.h" 00015 00016 class ImageSequence{ 00017 friend class InputMultipleFeaturePlane; 00018 public: 00019 ImageSequence(int size, int window, bool input_scale, float input_min, float input_max); 00020 ~ImageSequence(); 00021 OutputImage* getCurrentOutput(int index); 00022 OutputImage** getCurrentOutputs(); 00024 void appendImage(OutputImage* tempOImage, QImage* image); 00026 void appendImage(QImage* image); 00027 void step(); 00028 void applyGatingControl(Matrix* theGatingControl); 00029 void applyIOR(Matrix* theGatingControl); 00031 int getSize(); 00032 OutputImage** theSequence; 00033 OutputImage** backupSequence; 00034 QImage** originalSequence; 00035 int size, last, current, window; 00036 bool input_scale; 00037 float input_min, input_max; 00038 }; 00039 00041 class InputMultipleFeaturePlane : public InputFeaturePlaneAbstract { 00042 friend class FeaturePlaneFactory; 00043 public: 00044 ~InputMultipleFeaturePlane(); 00046 OutputImage* getCurrentOutput(); 00047 OutputImage* getCurrentOutput(int index); 00049 OutputImage** getCurrentOutputs(); 00050 void inhibitReturn(); 00051 00052 protected: 00053 char* mask_filename; 00054 bool input_scale; 00055 float input_min, input_max; 00056 int window; 00057 00067 InputMultipleFeaturePlane( Network* net, int l, char* filename, int window, QString* name, bool isWTA, bool visible, bool scale, float min, float max, int occluder_freq, int occluder_width, const char* occulder_file, NotifyStrategyAbstract* notify); 00068 00069 private: 00070 void step(); 00071 void applyGatingControl(); 00072 00073 ImageSequence* theSequence; 00074 void load_sequence(char *fname, int occluder_freq, int occluder_width, const char* occluder_file); 00075 }; 00076 #endif //INPUTMULTIPLEFEATUREPLANE_H_INCLUDED