StdBrain.C

Go to the documentation of this file.
00001 /*!@file Neuro/StdBrain.C A canonical brain, which a standard set of 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/StdBrain.C $
00035 // $Id: StdBrain.C 13657 2010-07-12 22:43:55Z beobot $
00036 //
00037 
00038 #include "Neuro/StdBrain.H"
00039 #include "Channels/ChannelBase.H"
00040 #include "Component/OptionManager.H"
00041 #include "Neuro/AttentionGate.H"
00042 #include "Neuro/AttentionGuidanceMap.H"
00043 #include "Neuro/GistEstimator.H"
00044 #include "Neuro/GistEstimatorConfigurator.H"
00045 #include "Neuro/InferoTemporal.H"
00046 #include "Neuro/InferoTemporalConfigurator.H"
00047 #include "Neuro/PrefrontalCortex.H"
00048 #include "Neuro/Retina.H"
00049 #include "Neuro/EyeHeadControllerConfigurator.H"
00050 #include "Neuro/HandControllerConfigurator.H"
00051 #include "Neuro/SaliencyMap.H"
00052 #include "Neuro/SaliencyMapConfigurator.H"
00053 #include "Neuro/ShapeEstimator.H"
00054 #include "Neuro/SimulationViewer.H"
00055 #include "Neuro/SimulationViewerConfigurator.H"
00056 #include "Neuro/TargetChecker.H"
00057 #include "Neuro/TaskRelevanceMap.H"
00058 #include "Neuro/VisualBuffer.H"
00059 #include "Neuro/VisualCortex.H"
00060 #include "Neuro/VisualCortexConfigurator.H"
00061 #include "Neuro/WinnerTakeAll.H"
00062 #include "Neuro/WinnerTakeAllConfigurator.H"
00063 
00064 // ######################################################################
00065 StdBrain::StdBrain(OptionManager& mgr, const std::string& descrName,
00066                    const std::string& tagName) :
00067   Brain(mgr, descrName, tagName),
00068   pfc(new PrefrontalCortexConfigurator(mgr)),
00069   rec(new RetinaConfigurator(mgr)),
00070   vcc(new VisualCortexConfigurator(mgr)),
00071   gec(new GistEstimatorConfigurator(mgr)),
00072   smc(new SaliencyMapConfigurator(mgr)),
00073   trmc(new TaskRelevanceMapConfigurator(mgr)),
00074   agmc(new AttentionGuidanceMapConfigurator(mgr)),
00075   agc(new AttentionGateConfigurator(mgr)),
00076   wtac(new WinnerTakeAllConfigurator(mgr)),
00077   tc(new TargetChecker(mgr)),
00078   se(new ShapeEstimator(mgr)),
00079   scc(new EyeHeadControllerConfigurator(mgr)),
00080   hand(new HandControllerConfigurator(mgr)),
00081   it(new InferoTemporalConfigurator(mgr)),
00082   vbc(new VisualBufferConfigurator(mgr)),
00083   svc(new SimulationViewerConfigurator(mgr))
00084 {
00085   // NOTE: if callback priorities are all zero, the order here defines
00086   // the order in which the callbacks will be called when several
00087   // modules are catching a given event:
00088   addSubComponent(tc);
00089   addSubComponent(se);
00090   addSubComponent(pfc);  // make sure it can get configured
00091   addSubComponent(rec);  // make sure it can get configured
00092   addSubComponent(scc);  // make sure it can get configured
00093   addSubComponent(hand);  // make sure it can get configured
00094   addSubComponent(vcc);  // make sure it can get configured
00095   addSubComponent(smc);  // make sure it can get configured
00096   addSubComponent(gec);  // make sure it can get configured
00097   addSubComponent(trmc); // make sure it can get configured
00098   addSubComponent(agmc); // make sure it can get configured
00099   addSubComponent(agc);  // make sure it can get configured
00100   addSubComponent(wtac); // make sure it can get configured
00101   addSubComponent(it);   // make sure it can get configured
00102   addSubComponent(vbc);  // make sure it can get configured
00103   addSubComponent(svc);  // make sure it can get configured
00104 }
00105 
00106 // ######################################################################
00107 StdBrain::~StdBrain()
00108 {  }
00109 
00110 // ######################################################################
00111 /* So things look consistent in everyone's emacs... */
00112 /* Local Variables: */
00113 /* indent-tabs-mode: nil */
00114 /* End: */
Generated on Sun May 8 08:41:04 2011 for iLab Neuromorphic Vision Toolkit by  doxygen 1.6.3