MultiConvolveChannel.H

Go to the documentation of this file.
00001 /*!@file Channels/MultiConvolveChannel.H */
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:
00034 // $HeadURL: svn://isvn.usc.edu/software/invt/trunk/saliency/src/Channels/MultiConvolveChannel.H $
00035 // $Id: MultiConvolveChannel.H 7434 2006-11-11 02:15:19Z rjpeters $
00036 //
00037 
00038 #ifndef MULTICONVOLVECHANNEL_H_DEFINED
00039 #define MULTICONVOLVECHANNEL_H_DEFINED
00040 
00041 #include "Channels/ComplexChannel.H"
00042 
00043 // ######################################################################
00044 //! A generic multi-convolution channel
00045 /*! This channel reads a filter definition file from disk (text
00046   format) and builds a number of ConvolveChannel subchannels. In the
00047   current implementation, only 4 subchannels are supported, and their
00048   inputs will be the red, green, blue and yellow color components of
00049   the image as given by getRGBY(). Each subchannel will convolve its
00050   input using the convolution filter definition given in the text
00051   file. */
00052 class MultiConvolveChannel : public ComplexChannel
00053 {
00054 public:
00055   //! Construct with standard params
00056   MultiConvolveChannel(OptionManager& mgr);
00057 
00058   //! Destructor
00059   virtual ~MultiConvolveChannel();
00060 
00061 protected:
00062   NModelParam<std::string> itsFilterFname; //!< file name for the filters
00063   NModelParam<float> itsLumThresh; //!< Luminance threshold (see getRGBY())
00064 
00065   //! read filter definition and instantiate subchannels
00066   void start1();
00067 
00068   //! MultiConvolveChannel requires only color input
00069   virtual void doInput(const InputFrame& inframe);
00070 };
00071 
00072 // ######################################################################
00073 /* So things look consistent in everyone's emacs... */
00074 /* Local Variables: */
00075 /* indent-tabs-mode: nil */
00076 /* End: */
00077 
00078 #endif // MULTICONVOLVECHANNEL_H_DEFINED
Generated on Sun May 8 08:40:22 2011 for iLab Neuromorphic Vision Toolkit by  doxygen 1.6.3