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