00001
00008 #ifndef __KERNELWRAPPER_H__
00009 #define __KERNELWRAPPER_H__
00010
00011 #include "neuralregion.h"
00012
00014 class InputVectorWrapper : public InternalNeuralRegion {
00015 public:
00016 InputVectorWrapper(string name_i, int e);
00017
00018 virtual void activate(bool = false, bool = true);
00019
00022 virtual Activity activity(Subscript i, Subscript j) const { return (*input)[i][j]; }
00023 virtual const ActivityMatrix& const_activity() const { return *input; }
00024
00025 virtual void add_input(const string& name, const ActivityMatrix& input_region,
00026 WeightFunction& fn, Length size_scale=1.0);
00027 virtual Dimensions input_dimensions(WeightFunction& fn, Length size_scale=1.0);
00028 virtual const WeightMatrix get_weights(const string& name="", int i=0, int j=0) const;
00029
00030 private:
00031 int eye;
00032 const ActivityMatrix* input;
00033 };
00034
00035
00036
00038 class CortexMapWrapper : public InternalNeuralRegion {
00039 public:
00040 CortexMapWrapper(string name_i);
00041 virtual void activate(bool learn=false, bool=true);
00042
00043 virtual void add_input(const string & name, const ActivityMatrix& input_region,
00044 WeightFunction& fn, Length size_scale=1.0);
00045 virtual Dimensions input_dimensions(WeightFunction& fn, Length size_scale=1.0);
00046 virtual const WeightMatrix get_weights(const string& name="", int i=0, int j=0) const;
00047 };
00048
00049 #endif
00050