00001 /*!@file Surprise/SurpriseOpts.C */ 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/Surprise/SurpriseOpts.C $ 00035 // $Id: SurpriseOpts.C 11562 2009-08-08 00:35:40Z dberg $ 00036 // 00037 00038 #ifndef SURPRISE_SURPRISEOPTS_C_DEFINED 00039 #define SURPRISE_SURPRISEOPTS_C_DEFINED 00040 00041 #include "Surprise/SurpriseOpts.H" 00042 00043 #include "Component/ModelOptionDef.H" 00044 #include "Image/Dims.H" 00045 #include "Image/Point2D.H" 00046 00047 const ModelOptionCateg MOC_SURPRISE = { 00048 MOC_SORTPRI_3, "Surprise-Related Options" }; 00049 00050 // Format here is: 00051 // 00052 // { MODOPT_TYPE, "name", &MOC_CATEG, OPTEXP_CORE, 00053 // "description of what option does", 00054 // "long option name", 'short option name', "valid values", "default value" } 00055 // 00056 00057 // alternatively, for MODOPT_ALIAS option types, format is: 00058 // 00059 // { MODOPT_ALIAS, "", &MOC_ALIAS, OPTEXP_CORE, 00060 // "description of what alias does", 00061 // "long option name", 'short option name', "", "list of options" } 00062 // 00063 00064 // NOTE: do not change the default value of any existing option unless 00065 // you really know what you are doing! Many components will determine 00066 // their default behavior from that default value, so you may break 00067 // lots of executables if you change it. 00068 00069 // Used by: SingleChannelSurprise 00070 const ModelOptionDef OPT_SingleChannelSurpriseSQlen = 00071 { MODOPT_ARG(unsigned int), "SingleChannelSurpriseSQlen", &MOC_SURPRISE, OPTEXP_CORE, 00072 "Number of feed-through surprise models", 00073 "surprise-qlen", '\0', "<uint>", "5" }; 00074 00075 // Used by: SingleChannelSurprise 00076 const ModelOptionDef OPT_SingleChannelSurpriseUpdFac = 00077 { MODOPT_ARG(double), "SingleChannelSurpriseUpdFac", &MOC_SURPRISE, OPTEXP_CORE, 00078 "Local surprise update factor", 00079 "surprise-updfac", '\0', "<double>", "0.7" }; 00080 00081 // Used by: SingleChannelSurprise 00082 const ModelOptionDef OPT_SingleChannelSurpriseNeighUpdFac = 00083 { MODOPT_ARG(double), "SingleChannelSurpriseNeighUpdFac", &MOC_SURPRISE, OPTEXP_CORE, 00084 "Neighborhood surprise update factor, or 0.0 to use the same value as " 00085 "the local surprise update factor", 00086 "surprise-neighupdfac", '\0', "<double>", "0.7" }; 00087 00088 // Used by: SingleChannelSurprise 00089 const ModelOptionDef OPT_SingleChannelSurpriseProbe = 00090 { MODOPT_ARG(Point2D<int>), "SingleChannelSurpriseProbe", &MOC_SURPRISE, OPTEXP_CORE, 00091 "Location of a virtual electrode probe; various model and surprise " 00092 "readings from this location will be printed out if not (-1, -1)", 00093 "surprise-probe", '\0', "<x>,<y>", "-1,-1" }; 00094 00095 // Used by: SingleChannelSurprise 00096 const ModelOptionDef OPT_SingleChannelSurpriseSLfac = 00097 { MODOPT_ARG(double), "SingleChannelSurpriseSLfac", &MOC_SURPRISE, OPTEXP_CORE, 00098 "Factor for contribution of local temporal surprise to total surprise", 00099 "surprise-slfac", '\0', "<double>", "1.0" }; 00100 00101 // Used by: SingleChannelSurprise 00102 const ModelOptionDef OPT_SingleChannelSurpriseSSfac = 00103 { MODOPT_ARG(double), "SingleChannelSurpriseSSfac", &MOC_SURPRISE, OPTEXP_CORE, 00104 "Factor for contribution of spatial surprise to total surprise", 00105 "surprise-ssfac", '\0', "<double>", "0.1" }; 00106 00107 // Used by: SingleChannelSurprise 00108 const ModelOptionDef OPT_SingleChannelSurpriseNeighSigma = 00109 { MODOPT_ARG(float), "SingleChannelSurpriseNeighSigma", &MOC_SURPRISE, OPTEXP_CORE, 00110 "Factor for neighborhoods surprise size", 00111 "surprise-neighsig", '\0', "<float>", "0.5" }; 00112 00113 // Used by: SingleChannelSurprise 00114 const ModelOptionDef OPT_SingleChannelSurpriseLocSigma = 00115 { MODOPT_ARG(float), "SingleChannelSurpriseLocSigma", &MOC_SURPRISE, OPTEXP_CORE, 00116 "Factor for the local surprise size", 00117 "surprise-locsig", '\0', "<float>", "3.0" }; 00118 00119 // Used by: SingleChannelSurprise 00120 const ModelOptionDef OPT_SingleChannelSurpriseLogged = 00121 { MODOPT_FLAG, "SingleChannelSurpriseLogged", &MOC_SURPRISE, OPTEXP_CORE, 00122 "Save each surprise map and log the parameters used in its creation", 00123 "surprise-logged", '\0', "", "false"}; 00124 00125 // Used by: SingleChannelSurprise 00126 const ModelOptionDef OPT_SingleChannelSurpriseKLBias = 00127 { MODOPT_ARG(std::string), "VisualCortexSurpriseKLBias", &MOC_SURPRISE, OPTEXP_CORE, 00128 "Bias to apply to KL is joint surprise model", 00129 "surprise-kl-bias", '\0', "<None|Static>", "None" }; 00130 00131 // Used by: SingleChannelSurprise 00132 const ModelOptionDef OPT_SingleChannelSurpriseTakeSTMax = 00133 { MODOPT_FLAG, "SingleChannelSurpriseTakeSTMax", &MOC_SURPRISE, OPTEXP_CORE, 00134 "Use a max operator to combine space-time rather than using the product", 00135 "surprise-take-st-max", '\0', "", "false"}; 00136 00137 // Used by: VisualCortexSurprise 00138 const ModelOptionDef OPT_VisualCortexSurpriseType = 00139 { MODOPT_ARG(std::string), "VisualCortexSurpriseType", &MOC_SURPRISE, OPTEXP_CORE, 00140 "Type of surprise models to use for the VisualCortex and Channels", 00141 "surprise-type", '\0', "<Gaussian|Poisson|Poisson1|PoissonConst|PoissonFloat|ChiSqaure|JointGG|Nathan|Outlier>", "Poisson" }; 00142 00143 00144 00145 // ###################################################################### 00146 /* So things look consistent in everyone's emacs... */ 00147 /* Local Variables: */ 00148 /* indent-tabs-mode: nil */ 00149 /* End: */ 00150 00151 #endif // SURPRISE_SURPRISEOPTS_C_DEFINED