iSpike  2.1
Spike conversion library for robotics
D:/Home/Programs/iSpike/include/iSpike/Channel/InputChannel/VisualInputChannel.hpp
Go to the documentation of this file.
00001 #ifndef VISUALINPUTCHANNEL_HPP_
00002 #define VISUALINPUTCHANNEL_HPP_
00003 
00004 //iSpike includes
00005 #include <iSpike/Channel/InputChannel/InputChannel.hpp>
00006 #include <iSpike/Reader/VisualReader.hpp>
00007 #include <iSpike/VisualDataReducer/LogPolarVisualDataReducer.hpp>
00008 #include <iSpike/VisualFilter/DOGVisualFilter.hpp>
00009 #include <iSpike/NeuronSim/IzhikevichNeuronSim.hpp>
00010 
00011 //Other includes
00012 #include <string>
00013 #include <vector>
00014 using namespace std;
00015 
00016 namespace ispike {
00017 
00019         class VisualInputChannel : public InputChannel {
00020                 public:
00021                         VisualInputChannel();
00022                         virtual ~VisualInputChannel();
00023                         const vector<unsigned>& getFiring() { return neuronSim.getSpikes(); }
00024                         void initialize(Reader* reader, map<string, Property>& properties);
00025                         void setProperties(map<string, Property>& properties);
00026                         void step();
00027 
00028 
00029                 protected:
00030                         void updateProperties(map<string, Property>& properties);
00031 
00032 
00033                 private:
00035                         VisualReader* reader;
00036 
00038                         LogPolarVisualDataReducer* dataReducer;
00039 
00041                         DOGVisualFilter* dogFilter;
00042 
00044                         IzhikevichNeuronSim neuronSim;
00045 
00047                         double currentFactor;
00048 
00050                         double constantCurrent;
00051 
00053                         unsigned currentImageID;
00054 
00055         };
00056 }
00057 
00058 #endif /* VISUALINPUTCHANNEL_HPP_ */
 All Classes Namespaces Files Functions Variables Enumerations Enumerator Defines