VisualCortexBeo.H

Go to the documentation of this file.
00001 /*!@file Neuro/VisualCortexBeo.H a VisualCortex with SingleChannelBeo channels */
00002 
00003 // //////////////////////////////////////////////////////////////////// //
00004 // The iLab Neuromorphic Vision C++ Toolkit - Copyright (C) 2000-2003   //
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/Neuro/VisualCortexBeo.H $
00035 // $Id: VisualCortexBeo.H 10845 2009-02-13 08:49:12Z itti $
00036 //
00037 
00038 #ifndef VISUALCORTEXBEO_H_DEFINED
00039 #define VISUALCORTEXBEO_H_DEFINED
00040 
00041 class Beowulf;
00042 class RawVisualCortex;
00043 namespace nub { template <class T> class ref; }
00044 
00045 /// Setup a VisualCortex for use with SingleChannelBeo channels
00046 /** This setup does two things. First, it ensures that all
00047     SingleChannel objects have their InputHandler set to
00048     SingleChannelBeo. Second, it directs the VisualCortex to sort its
00049     subchannels according to their number of submaps, so that the most
00050     CPU-intensive channels (e.g. motion, orientation) will be
00051     processed first. See SingleChannelBeo.H for info.
00052 
00053     The Beowulf object passed here must be configured as master.
00054 
00055     You may still add whatever channels you want to this VisualCortex;
00056     just if you want them to be Beo too, make sure you first get our
00057     Beowulf using getBeowulf(), the next available node using
00058     getNextAvailableNode() and then initilize your BeoChannels using
00059     this Beowulf and node number.
00060 
00061     If you are going to use a beowulf-enabled VisualCortex, you should
00062     be running a process that implements a SingleChannelBeoServer on
00063     each slave node of your Beowulf. Such process is in
00064     beochannel-server.C for example. First start all your servers on
00065     all your server nodes, then, on the master, start your program
00066     that uses the VisualCortexBeo. It will configure the Beowulf,
00067     spawn the channels, and rip through your frames!
00068 */
00069 void setupVisualCortexBeo(RawVisualCortex& vcx, nub::ref<Beowulf> beo);
00070 
00071 #endif
00072 
00073 // ######################################################################
00074 /* So things look consistent in everyone's emacs... */
00075 /* Local Variables: */
00076 /* indent-tabs-mode: nil */
00077 /* End: */
Generated on Sun May 8 08:41:05 2011 for iLab Neuromorphic Vision Toolkit by  doxygen 1.6.3