GuidedSearch.H

Go to the documentation of this file.
00001 /*!@file Channels/GuidedSearch.H Guided Search aka biased saliency */
00002 
00003 // //////////////////////////////////////////////////////////////////// //
00004 // The iLab Neuromorphic Vision C++ Toolkit - Copyright (C) 2000-2005   //
00005 // by the University of Southern California (USC) and the iLab at USC.  //
00006 // See http://iLab.usc.edu for information about this project.          //
00007 // //////////////////////////////////////////////////////////////////// //
00008 // Major portions of the iLab Neuromorphic Vision Toolkit are protected //
00009 // under the U.S. patent ``Computation of Intrinsic Perceptual Saliency //
00010 // in Visual Environments, and Applications'' by Christof Koch and      //
00011 // Laurent Itti, California Institute of Technology, 2001 (patent       //
00012 // pending; application number 09/912,225 filed July 23, 2001; see      //
00013 // http://pair.uspto.gov/cgi-bin/final/home.pl for current status).     //
00014 // //////////////////////////////////////////////////////////////////// //
00015 // This file is part of the iLab Neuromorphic Vision C++ Toolkit.       //
00016 //                                                                      //
00017 // The iLab Neuromorphic Vision C++ Toolkit is free software; you can   //
00018 // redistribute it and/or modify it under the terms of the GNU General  //
00019 // Public License as published by the Free Software Foundation; either  //
00020 // version 2 of the License, or (at your option) any later version.     //
00021 //                                                                      //
00022 // The iLab Neuromorphic Vision C++ Toolkit is distributed in the hope  //
00023 // that it will be useful, but WITHOUT ANY WARRANTY; without even the   //
00024 // implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR      //
00025 // PURPOSE.  See the GNU General Public License for more details.       //
00026 //                                                                      //
00027 // You should have received a copy of the GNU General Public License    //
00028 // along with the iLab Neuromorphic Vision C++ Toolkit; if not, write   //
00029 // to the Free Software Foundation, Inc., 59 Temple Place, Suite 330,   //
00030 // Boston, MA 02111-1307 USA.                                           //
00031 // //////////////////////////////////////////////////////////////////// //
00032 //
00033 // Primary maintainer for this file: Laurent Itti <itti@usc.edu>
00034 // $HeadURL: svn://isvn.usc.edu/software/invt/trunk/saliency/src/Channels/GuidedSearch.H $
00035 // $Id: GuidedSearch.H 10794 2009-02-08 06:21:09Z itti $
00036 //
00037 
00038 #ifndef CHANNELS_GUIDEDSEARCH_H_DEFINED
00039 #define CHANNELS_GUIDEDSEARCH_H_DEFINED
00040 
00041 #include "Channels/ChannelVisitor.H"
00042 #include "rutz/shared_ptr.h"
00043 
00044 class ParamMap;
00045 class ChannelBase;
00046 class SingleChannel;
00047 class ComplexChannel;
00048 
00049 //! Implementation of Guided Search, aka biased saliency computation
00050 /*! A set of gains in a ParamMap is applied to the various submaps,
00051   subchannels, etc during saliency map computation. This allows to
00052   'guide search' (Wolfe, 1994) towards known targets (e.g., if the
00053   target is known to be red, crank up the gain on red-sensitive
00054   submaps or channels. */
00055 class GuidedSearchBiaser : public ChannelVisitor {
00056 public:
00057   /// Construct with settings for the algorithm
00058   GuidedSearchBiaser(rutz::shared_ptr<ParamMap> pmap);
00059 
00060   /// Virtual destructor
00061   virtual ~GuidedSearchBiaser();
00062 
00063   /// Visit the given ChannelBase node.
00064   virtual void visitChannelBase(ChannelBase& chan);
00065 
00066   /// Visit the given SingleChannel node.
00067   virtual void visitSingleChannel(SingleChannel& chan);
00068 
00069   /// Visit the given ComplexChannel node.
00070   virtual void visitComplexChannel(ComplexChannel& chan);
00071 
00072 private:
00073   rutz::shared_ptr<ParamMap> itsPmap;
00074 };
00075 
00076 
00077 // ######################################################################
00078 /* So things look consistent in everyone's emacs... */
00079 /* Local Variables: */
00080 /* mode: c++ */
00081 /* indent-tabs-mode: nil */
00082 /* End: */
00083 
00084 #endif // CHANNELS_GUIDEDSEARCH_H_DEFINED
Generated on Sun May 8 08:40:21 2011 for iLab Neuromorphic Vision Toolkit by  doxygen 1.6.3