PsychoOpts.C

Go to the documentation of this file.
00001 /*!@file Psycho/PsychoOpts.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/Psycho/PsychoOpts.C $
00035 // $Id: PsychoOpts.C 13632 2010-06-29 06:15:50Z dberg $
00036 //
00037 
00038 #ifndef PSYCHO_PSYCHOOPTS_C_DEFINED
00039 #define PSYCHO_PSYCHOOPTS_C_DEFINED
00040 
00041 #include "Psycho/PsychoOpts.H"
00042 
00043 #include "Component/ModelOptionDef.H"
00044 #include "Image/Dims.H"
00045 #include "Image/Range.H"
00046 #include "Util/SimTime.H"
00047 
00048 const ModelOptionCateg MOC_PSYCHODISP = {
00049   MOC_SORTPRI_2, "PsychoDisplay-Related Options" };
00050 
00051 const ModelOptionCateg MOC_EYETRACK = {
00052   MOC_SORTPRI_2, "EyeTracker-Related Options" };
00053 
00054 const ModelOptionCateg MOC_PSYCHOPROG = {
00055   MOC_SORTPRI_2, "psycho physics programs related Options" };
00056 
00057 // Format here is:
00058 //
00059 // { MODOPT_TYPE, "name", &MOC_CATEG, OPTEXP_CORE,
00060 //   "description of what option does",
00061 //   "long option name", 'short option name', "valid values", "default value" }
00062 //
00063 
00064 // alternatively, for MODOPT_ALIAS option types, format is:
00065 //
00066 // { MODOPT_ALIAS, "", &MOC_ALIAS, OPTEXP_CORE,
00067 //   "description of what alias does",
00068 //   "long option name", 'short option name', "", "list of options" }
00069 //
00070 
00071 // NOTE: do not change the default value of any existing option unless
00072 // you really know what you are doing!  Many components will determine
00073 // their default behavior from that default value, so you may break
00074 // lots of executables if you change it.
00075 
00076 // #################### PsychoDisplay options:
00077 
00078 // Used by: PsychoDisplay
00079 const ModelOptionDef OPT_IscanSerialPortDevice =
00080   { MODOPT_ARG_STRING, "IscanSerialPortDevice", &MOC_PSYCHODISP, OPTEXP_CORE,
00081     "Device file for serial-port connection to the ISCAN eyetracker",
00082     "iscan-serial-port", '\0', "<devicefile>", "/dev/ttyS0" };
00083 
00084 // Used by: EyeTrackerConfigurator
00085 const ModelOptionDef OPT_EyeTrackerType =
00086   { MODOPT_ARG_STRING, "EyeTrackerType", &MOC_EYETRACK, OPTEXP_CORE,
00087     "Type of EyeTracker to use. ISCAN has been tested with an ISCAN, "
00088     "Inc. model RK-464, 240Hz video-based eye-tracker (trigger can be "
00089     "over serial or parallel ports, see available options after you "
00090     "have selected this tracker type). DML is the monkey eye-tracker "
00091     "model used in Doug Munoz' Lab at Queen's University, Kingston, ON, "
00092     "Canada, based on a scleral search coil (Trigger is over the parallel "
00093     "port, no data streaming). TIL is the monkey eye-tracker model used in "
00094     "Tadashi Isa's Lab at the National Institute for Physiological Science, "
00095     "Okazaki, Japan, also based on a scleral search coil. EL is for "
00096     "EyeLink-II.",
00097     "et-type", '\0', "<None|ISCAN|DML|UDP|TIL|EL>", "None" };
00098 
00099 // Used by: EyeTrackerISCAN
00100 const ModelOptionDef OPT_EyeTrackerParTrig =
00101   { MODOPT_FLAG, "EyeTrackerParTrig", &MOC_EYETRACK, OPTEXP_CORE,
00102     "Use parallel trigger mode. If this option is selected, the ISCAN "
00103     "tracker will be started/stopped by sending it signals over the "
00104     "parallel port, while the serial port will be reserved for "
00105     "streaming eye position data back to us. Otherwise, the tracker "
00106     "will be started/stopped over the serial line, and no data "
00107     "streaming will be possible.",
00108     "et-partrig", '\0', "<bool>", "true" };
00109 
00110 // Used by: EyeTrackerISCAN
00111 const ModelOptionDef OPT_EyeTrackerSerDev =
00112   { MODOPT_ARG_STRING, "EyeTrackerSerDev", &MOC_EYETRACK, OPTEXP_CORE,
00113     "Device file for serial-port connection to the eye tracker.",
00114     "et-serdev", '\0', "<devicefile>", "/dev/ttyS0" };
00115 
00116 // Used by: EyeTrackerISCAN, EyeTrackerDML, EyeTrackerTIL
00117 const ModelOptionDef OPT_EyeTrackerParDev =
00118   { MODOPT_ARG_STRING, "EyeTrackerParDev", &MOC_EYETRACK, OPTEXP_CORE,
00119     "Device file for parallel-port connection to the eye tracker.",
00120     "et-pardev", '\0', "<devicefile>", "/dev/parport0" };
00121 
00122 // Used by: EyeTrackerEyeLink
00123 const ModelOptionDef OPT_EyeTrackerEDFfname =
00124   { MODOPT_ARG_STRING, "EyeTrackerEDFfname", &MOC_EYETRACK, OPTEXP_CORE,
00125     "Name of EDF file to use for EyeLink data collection.",
00126     "et-edf-fname", '\0', "<filename>", "" };
00127 
00128 // Used by: various psychophysics programs
00129 const ModelOptionDef OPT_Hflip =
00130   { MODOPT_FLAG, "hflip", &MOC_PSYCHOPROG, OPTEXP_CORE,
00131     "Flip input images horizontally.",
00132     "hflip", '\0', "<bool>", "false" };
00133 
00134 // Used by: various psychophysics programs
00135 const ModelOptionDef OPT_FixSize =
00136   { MODOPT_ARG(float), "fixsize", &MOC_PSYCHOPROG, OPTEXP_CORE,
00137     "fixation point size in degrees of visual angle",
00138     "fixsize", '\0', "<float>", "1" };
00139 
00140 // Used by: various psychophysics programs
00141 const ModelOptionDef OPT_Ppd =
00142   { MODOPT_ARG(float), "ppd", &MOC_PSYCHOPROG, OPTEXP_CORE,
00143     "pixels per degree of visual angle",
00144     "ppd", '\0', "<float>", "11" };
00145 
00146 // Used by: various psychophysics programs
00147 const ModelOptionDef OPT_KeepFix =
00148   { MODOPT_FLAG, "keepfix", &MOC_PSYCHOPROG, OPTEXP_CORE,
00149     "keep the fixation point on during the movie",
00150     "keepfix", '\0', "<bool>", "false" };
00151 
00152 //Used by: various psychophysics programs
00153 const ModelOptionDef OPT_DisplayTime =
00154   { MODOPT_ARG(SimTime), "DisplayTime", &MOC_PSYCHOPROG, OPTEXP_CORE,
00155     "The amount of time to display the stimulus. Append"
00156     "a time <s, ms> to indicate the units", "displaytime", '\0',
00157     "<SimTime>", "1s" };
00158 
00159 //Used by: various psychophysics programs
00160 const ModelOptionDef OPT_TrialWait =
00161   { MODOPT_ARG(Range<int>), "TrialWait", &MOC_PSYCHOPROG, OPTEXP_CORE,
00162     "Wait a random amount of time (in ms) before the start of the next"
00163     "trial", "waittime", '\0',
00164     "<min>-<max>", "0-0" };
00165 
00166 //Used by: various psychophysics programs
00167 const ModelOptionDef OPT_Testrun =
00168   { MODOPT_FLAG, "Testrun", &MOC_PSYCHOPROG, OPTEXP_CORE,
00169     "This option will disable user input while running psychophysics "
00170     "programs so that we can test our experiments without waiting for "
00171     "trial triggers . ", "testrun", '\0', "<bool>", "false" };
00172 
00173 const ModelOptionDef OPT_GrayFramePrcnt = 
00174   { MODOPT_ARG(int), "GrayFramePrcnt", &MOC_PSYCHOPROG, OPTEXP_CORE,
00175     "If this value is set to greater than 0, that percentage of the total "
00176     "clip count will be added back into the movie queue as gray "
00177     "movies. Also see --gray-frame-range", "gray-frame-percent", '\0', "<int>", 
00178     "0" };
00179 
00180 const ModelOptionDef OPT_GrayFrameRange = 
00181   { MODOPT_ARG(Range<int>), "GrayFrameRange", &MOC_PSYCHOPROG, OPTEXP_CORE,
00182     "Gray frame durations will be uniform randomly distributed between "
00183     "these values in milliseconds. Also see --gray-frame-percent", 
00184     "gray-frame-range", '\0', "<int>-<int>", "3000-5000" };
00185 
00186 // ######################################################################
00187 /* So things look consistent in everyone's emacs... */
00188 /* Local Variables: */
00189 /* indent-tabs-mode: nil */
00190 /* End: */
00191 
00192 #endif // PSYCHO_PSYCHOOPTS_C_DEFINED
Generated on Sun May 8 08:41:13 2011 for iLab Neuromorphic Vision Toolkit by  doxygen 1.6.3