00001 /*!@file SpaceVariant/SpaceVariantOpts.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/SpaceVariant/SpaceVariantOpts.C $ 00035 // $Id: SpaceVariantOpts.C 14513 2011-02-16 05:02:38Z dberg $ 00036 // 00037 00038 #ifndef NEURO_NEUROOPTS_C_DEFINED 00039 #define NEURO_NEUROOPTS_C_DEFINED 00040 00041 #include "SpaceVariant/SpaceVariantOpts.H" 00042 #include "SpaceVariant/SVChanLevels.H" 00043 #include "Component/ModelOptionDef.H" 00044 #include "Image/Dims.H" 00045 00046 // #################### SpaceVariant options: 00047 const ModelOptionCateg MOC_SPACEVARIANT = { 00048 MOC_SORTPRI_3, "Space Variant Processing - Related Options" }; 00049 00050 // Used by: SpaceVariantModule 00051 const ModelOptionDef OPT_SpaceVariantScale = 00052 { MODOPT_ARG_STRING, "SpaceVariantScale", &MOC_SPACEVARIANT, OPTEXP_CORE, 00053 "Decide the scale of the transform. 'FULL' to scale along the longest " 00054 "input dimension (will leave some of the transform unfilled. 'CROP' to " 00055 "scale along the shortest input dimension (will not transform all of " 00056 "the input image). 'OPTIM' to scale each orientation seperately (full " 00057 "coverage, but not isotropic anymore). Or 'NONE' to supply a user " 00058 "defined scaling factor", "retinasv-scale", '\0', "", "FULL" }; 00059 00060 // Used by: SpaceVariantModule 00061 const ModelOptionDef OPT_SpaceVariantFoveaSize = 00062 { MODOPT_ARG(float), "SpaceVariantFoveaSize", &MOC_SPACEVARIANT, OPTEXP_CORE, 00063 "factor to use in scaling fovea", "retinasv-fovea-size", 00064 '\0', "<float>", "0.01" }; 00065 00066 // Used by: SpaceVariantModule 00067 const ModelOptionDef OPT_SpaceVariantSfac = 00068 { MODOPT_ARG(float), "SpaceVariantSfac", &MOC_SPACEVARIANT, OPTEXP_CORE, 00069 "If the retina's scale type is NONE we will use this scaling factor", 00070 "retinasv-sfac", '\0', "<float>", "24.75"}; 00071 00072 // Used by: SpaceVariantModule 00073 const ModelOptionDef OPT_SpaceVariantBeta = 00074 { MODOPT_ARG(float), "SpaceVariantBeta", &MOC_SPACEVARIANT, OPTEXP_CORE, 00075 "Choose the beta parameter of the transform equation " 00076 "'u=s*ln(r/alpha) + beta' where u is the space variant point and r " 00077 "is the radius. s is the scaling factor and alpha is the fovea size. " 00078 "This parameter shifts the fovea left (<1) or right (>1) of the " 00079 "midline.", "retinasv-beta",'\0', "<float>", "1.0" }; 00080 00081 // Used by: SpaceVariantModule 00082 const ModelOptionDef OPT_SpaceVariantGain = 00083 { MODOPT_ARG(float), "SpaceVariantGain", &MOC_SPACEVARIANT, OPTEXP_CORE, 00084 "The receptive field of each pixel in the space variant image is modeled " 00085 "as a guassian parameterized by the standard deviation in pixels. For a given eccentricty " 00086 "r in degrees of visual space, the standard deviation 's', can be modeled as " 00087 "'s=g*r^e+b' where 'g','e', 'b' are the gain, exponent and offset which describe the shape of " 00088 "of the ralationship. The default parameters are estimated from the data of " 00089 "Croner & Kaplan (1995) for parvocellular ganglion cells.", "retinasv-gain", '\0', "<float>", "0.0002" }; 00090 00091 // Used by: SpaceVariantModule 00092 const ModelOptionDef OPT_SpaceVariantExponent = 00093 { MODOPT_ARG(float), "SpaceVariantExponent", &MOC_SPACEVARIANT, OPTEXP_CORE, 00094 "The receptive field of each pixel in the space variant image is modeled " 00095 "as a guassian parameterized by the standard deviation in pixels. For a given eccentricty " 00096 "r in degrees of visual space, the standard deviation 's', can be modeled as " 00097 "'s=g*r^e+b' where 'g','e', 'b' are the gain, exponent and offset which describe the shape of " 00098 "of the ralationship. The default parameters are estimated from the data of " 00099 "Croner & Kaplan (1995) for parvocellular ganglion cells.", "retinasv-exponent", '\0', "<float>", "1.7689" }; 00100 00101 // Used by: SpaceVariantModule 00102 const ModelOptionDef OPT_SpaceVariantOffset = 00103 { MODOPT_ARG(float), "SpaceVariantOffset", &MOC_SPACEVARIANT, OPTEXP_CORE, 00104 "The receptive field of each pixel in the space variant image is modeled " 00105 "as a guassian parameterized by the standard deviation in pixels. For a given eccentricty " 00106 "r in degrees of visual space, the standard deviation 's', can be modeled as " 00107 "'s=g*r^e+b' where 'g','e', 'b' are the gain, exponent and offset which describe the shape of " 00108 "of the ralationship. The default parameters are estimated from the data of " 00109 "Croner & Kaplan (1995) for parvocellular ganglion cells.", "retinasv-offset", '\0', "<float>", "0.0252" }; 00110 00111 // Used by: SpaceVariantModule 00112 const ModelOptionDef OPT_SpaceVariantFovCut = 00113 { MODOPT_ARG(float), "SpaceVariantFovCut", &MOC_SPACEVARIANT, OPTEXP_CORE, 00114 "Normally, the fovea is considered the area of expansion, where the " 00115 "first derivitive of the transform function is > 1. However, if " 00116 "the paramters are adjusted so no oversampling occurs then this " 00117 "will never be the case. Use this parameter to adjust the value " 00118 "(between 0 and 1) of the first derivitive that is considered the " 00119 "fovea. ", "retinasv-fovea-cutoff", '\0', "<float>", "2.0" }; 00120 00121 // Used by: SpaceVariantModule 00122 const ModelOptionDef OPT_SpaceVariantDims = 00123 { MODOPT_ARG(Dims), "SpaceVariantDims", &MOC_SPACEVARIANT, OPTEXP_CORE, 00124 "The dimensions of the space variant transform in rings x wedges. " 00125 "The Number of wedges (rays) in the log-polar map will have " 00126 "horizontal dimensions 1/2 this value as the wedges are split between " 00127 "hemifields. The number of rings in the log-polar map will have " 00128 "horizontal dimensions twice this value (for each hemifield).", 00129 "retinasv-dims", '\0', "<Dims>", "160x480" }; 00130 00131 extern const ModelOptionDef OPT_SpaceVariantDogCenter = 00132 { MODOPT_FLAG, "SpaceVariantDogCenter", &MOC_SPACEVARIANT, OPTEXP_CORE, 00133 "Sets center-surround, or surround-center when performing a difference " 00134 "of gaussians space variant transform.", 00135 "use-channelasv-oncenter", '\0', "", "true" }; 00136 00137 extern const ModelOptionDef OPT_SpaceVariantDogSize = 00138 { MODOPT_ARG(float), "SpaceVariantDogSize", &MOC_SPACEVARIANT, OPTEXP_CORE, 00139 "Sets the size of the surround when performing a difference " 00140 "of gaussians space variant transform. The surround will be the " 00141 "center standard deviation multiplied by this factor. A factor of 6 approximates " 00142 "retinal ganglion cell responses estimated from Croner & Kaplan (1993), and " 00143 "a factor of 1.6 the approximates laplacian transform.", 00144 "channelasv-surround-factor", '\0', "<float>", "6.0" }; 00145 00146 extern const ModelOptionDef OPT_SpaceVariantEdgeOrient = 00147 { MODOPT_ARG(float), "SpaceVariantEdgeOrient", &MOC_SPACEVARIANT, OPTEXP_CORE, 00148 "The edge orientation for the space variant retina", 00149 "channelsv-edge-orientation", '\0', "<uint>", "0.0" }; 00150 00151 extern const ModelOptionDef OPT_SpaceVariantEdgeLength = 00152 { MODOPT_ARG(uint), "SpaceVariantEdgeLenth", &MOC_SPACEVARIANT, OPTEXP_CORE, 00153 "The edge length in pixels for the space variant retina", 00154 "channelsv-edge-length", '\0', "<uint>", "3" }; 00155 00156 extern const ModelOptionDef OPT_SpaceVariantEdgeDensity = 00157 { MODOPT_ARG(uint), "SpaceVariantEdgeDensity", &MOC_SPACEVARIANT, OPTEXP_CORE, 00158 "the number of pixels used to create the edge", 00159 "channelsv-edge-density", '\0', "<float>", "3" }; 00160 00161 extern const ModelOptionDef OPT_SpaceVariantChanScales = 00162 { MODOPT_ARG(SVChanLevels), "SpaceVariantChanScales", &MOC_SPACEVARIANT, OPTEXP_CORE, 00163 "the scales to use when creating a space variant pyramid", 00164 "channelsv-scales", '\0', "<float>,<float>,...", "0.5,1.0,2.0,4.0,8.0" }; 00165 00166 // ###################################################################### 00167 /* So things look consistent in everyone's emacs... */ 00168 /* Local Variables: */ 00169 /* indent-tabs-mode: nil */ 00170 /* End: */ 00171 00172 #endif // NEURO_NEUROOPTS_C_DEFINED