00001 #ifndef SEABEE_ATTENTIONATOR_DEFINED 00002 #define SEABEE_ATTENTIONATOR_DEFINED 00003 00004 #include "Component/ModelManager.H" 00005 #include "Image/Image.H" 00006 #include "Neuro/EnvVisualCortex.H" 00007 #include "Image/MathOps.H" 00008 #include "Image/Point2D.H" 00009 #include "Image/ShapeOps.H" 00010 #include "rutz/shared_ptr.h" 00011 #include "Component/ModelComponent.H" 00012 #include "Component/ModelOptionDef.H" 00013 #include "Component/ModelParam.H" 00014 #include "Component/OptionManager.H" 00015 00016 class Attentionator : public ModelComponent{ 00017 public: 00018 Attentionator(ModelManager& mgr, 00019 const std::string& descrName = "Attentionator", 00020 const std::string& tagName = "Attentionator"); 00021 ~Attentionator(); 00022 void updateImage(Image< PixRGB<byte> > image); 00023 Point2D<int> getSalientPoint(); 00024 Image<PixRGB<byte> > getSaliencyMap(); 00025 private: 00026 Image< PixRGB<byte> > itsImage; 00027 ModelManager itsModelManager; 00028 nub::soft_ref<EnvVisualCortex> itsEVC; 00029 }; 00030 00031 #endif