00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031
00032
00033
00034
00035
00036
00037
00038 #ifndef NEURO_NEUROOPTS_C_DEFINED
00039 #define NEURO_NEUROOPTS_C_DEFINED
00040
00041 #include "Neuro/NeuroOpts.H"
00042
00043 #include "Channels/ChannelOpts.H"
00044 #include "Component/ModelOptionDef.H"
00045 #include "Component/OptionManager.H"
00046 #include "Image/Dims.H"
00047 #include "Image/Pixels.H"
00048 #include "Image/Point2D.H"
00049 #include "Psycho/PixPerDeg.H"
00050 #include "Image/fancynorm.H"
00051 #include "ModelNeuron/Location.H"
00052 #include "Media/MediaOpts.H"
00053 #include "Neuro/IORtypes.H"
00054 #include "Neuro/ShapeEstimatorModes.H"
00055 #include "SIFT/VisualObjectMatchAlgo.H"
00056 #include "Util/SimTime.H"
00057
00058 const ModelOptionCateg MOC_DISPLAY = {
00059 MOC_SORTPRI_2, "What to Display/Save Options" };
00060
00061
00062
00063
00064
00065
00066
00067
00068
00069
00070
00071
00072
00073
00074
00075
00076
00077
00078
00079
00080
00081 const ModelOptionCateg MOC_PFC = {
00082 MOC_SORTPRI_3, "PrefrontalCortex-Related Options" };
00083
00084
00085 const ModelOptionDef OPT_PrefrontalCortexType =
00086 { MODOPT_ARG_STRING, "PFCType", &MOC_PFC, OPTEXP_CORE,
00087 "Type of PrefrontalCortex to use. 'Stub' for a simple pass-through "
00088 "of input (no biasing), 'OG' for the Optimal Gains pfc, 'SB' "
00089 "for SalBayes Bayesian tuning of receptors, 'GS' for Guided Search. ",
00090 "pfc-type", '\0', "<Stub|OG|SB|GS>", "Stub" };
00091
00092
00093
00094 const ModelOptionCateg MOC_RETINA = {
00095 MOC_SORTPRI_3, "Retina-Related Options" };
00096
00097
00098 const ModelOptionDef OPT_RetinaType =
00099 { MODOPT_ARG_STRING, "RetinaType", &MOC_RETINA, OPTEXP_CORE,
00100 "Type of Retina to use. 'Stub' for a simple pass-through of input "
00101 "frames, 'Std' for the standard retina that can foveate, shift inputs "
00102 "to eye position, embed inputs within a larger framing image, foveate "
00103 "inputs, etc. Use CT for a cortical or collicular transfrom (log-polar) of "
00104 "the input image", "retina-type", '\0', "<Stub|Std|CT>", "Std" };
00105
00106
00107 const ModelOptionDef OPT_InputFramingImageName =
00108 { MODOPT_ARG_STRING, "InputFramingImageName", &MOC_RETINA, OPTEXP_CORE,
00109 "Filename of an image to used as a background into which input "
00110 "frames will be embedded before processing. This image must be larger "
00111 "than the input frames to be processed.",
00112 "input-framing", '\0', "<imagefile>", "" };
00113
00114
00115 const ModelOptionDef OPT_InputFramingImagePos =
00116 { MODOPT_ARG(Point2D<int>), "InputFramingImagePos", &MOC_RETINA, OPTEXP_CORE,
00117 "Position of the top-left corner of the input frames once embedded "
00118 "into the larger background image specified by --input-framing, if any.",
00119 "input-framing-pos", '\0', "<i,j>", "0,0" };
00120
00121
00122 const ModelOptionDef OPT_FoveateInputDepth =
00123 { MODOPT_ARG(uint), "FoveateInputDepth", &MOC_RETINA, OPTEXP_CORE,
00124 "Depth of pyramid to use to foveate input frames",
00125 "foveate-input-depth", '\0', "<uint>", "0" };
00126
00127
00128 const ModelOptionDef OPT_ShiftInputToEye =
00129 { MODOPT_FLAG, "ShiftInputToEye", &MOC_RETINA, OPTEXP_CORE,
00130 "Shift input frames so that they are centered at current eye position",
00131 "shift-input", '\0', "", "false" };
00132
00133
00134 const ModelOptionDef OPT_ShiftInputToEyeBGcol =
00135 { MODOPT_ARG(PixRGB<byte>), "ShiftInputToEyeBGcol", &MOC_RETINA, OPTEXP_CORE,
00136 "Background color to use when shifting inputs using --shift-input",
00137 "shift-input-bgcol", '\0', "<r,g,b>", "64,64,64" };
00138
00139
00140 const ModelOptionDef OPT_InputFOV =
00141 { MODOPT_ARG(Dims), "InputFOV", &MOC_RETINA, OPTEXP_CORE,
00142 "If non-empty, centrally crop the input images to the given "
00143 "field-of-view dimensions",
00144 "input-fov", '\0', "<w>x<h>", "0x0" };
00145
00146
00147 const ModelOptionDef OPT_RetinaSaveInput =
00148 { MODOPT_FLAG, "RetinaSaveInput", &MOC_RETINA, OPTEXP_CORE,
00149 "Save retinal input images, with prefix RETIN-",
00150 "save-retina-input", '\0', "", "false" };
00151
00152
00153 const ModelOptionDef OPT_RetinaSaveOutput =
00154 { MODOPT_FLAG, "RetinaSaveOutput", &MOC_RETINA, OPTEXP_CORE,
00155 "Save retina output (possibly including foveation, shifting, "
00156 "embedding, etc), with prefix RETOUT-",
00157 "save-retina-output", '\0', "", "false" };
00158
00159
00160 const ModelOptionDef OPT_RetinaStdSavePyramid =
00161 { MODOPT_FLAG, "RetinaStdSavePyramid", &MOC_RETINA, OPTEXP_CORE,
00162 "Save pyramid used for retinal foveation, with prefix RET<level>-",
00163 "save-retina-pyr", '\0', "", "false" };
00164
00165
00166 const ModelOptionDef OPT_RetinaMaskFname =
00167 { MODOPT_ARG_STRING, "RetinaMaskFname", &MOC_RETINA, OPTEXP_CORE,
00168 "Mask retinal input images by a greyscale byte image of same dims, "
00169 "where 0 will transform a retinal pixel to black, 255 will not affect "
00170 "it, and intermediate values will fade it to black.",
00171 "retina-mask", '\0', "<filename>", "" };
00172
00173
00174 const ModelOptionDef OPT_RetinaFlipHoriz =
00175 { MODOPT_FLAG, "RetinaFlipHoriz", &MOC_RETINA, OPTEXP_CORE,
00176 "Flip raw input images (before any embedding) horizontally.",
00177 "flip-input-horiz", '\0', "", "false" };
00178
00179
00180 const ModelOptionDef OPT_RetinaFlipVertic =
00181 { MODOPT_FLAG, "RetinaFlipVertic", &MOC_RETINA, OPTEXP_CORE,
00182 "Flip raw input images (before any embedding) vertically.",
00183 "flip-input-vertic", '\0', "", "false" };
00184
00185
00186
00187
00188 const ModelOptionDef OPT_VisualCortexType =
00189 { MODOPT_ARG_STRING, "VisualCortexType", &MOC_VCX, OPTEXP_CORE,
00190 "Type of VisualCortex to use:\n"
00191 " None: no VisualCortex at all\n"
00192 " Std: use standard (floating-point) channels, most flexible\n"
00193 " Beo: use Beowulf channels (requires Beowulf cluster)\n"
00194 " Surp: use Surprise channels, the fanciest to date\n"
00195 " Int: use integer-math channels, fast yet somewhat flexible\n"
00196 " Env: use super-fast integer-math channels, the fastest to date\n"
00197 " Entrop: entropy model, computing pixel entropy in 16x16 image patches\n"
00198 " EyeMvt: fake visual cortex built from human eye movement traces\n"
00199 " PN03contrast: Parkhurst & Niebur'03 contrast model\n"
00200 " Variance: local variance in 16x16 image patches\n"
00201 " Michelson: Michelson contrast as in Mannan, Ruddock & Wooding '96\n"
00202 " Tcorr: temporal correlation in image patches across frames\n"
00203 " Scorr: spatial correlation between image patches in a frame\n"
00204 " Info: DCT-based local information measure as in Itti et al, PAMI 1998\n"
00205 " SpectralResidual: Spectral residual cortex\n"
00206 " MultiSpectralResidual: Multi spectral residual cortex\n"
00207 "You may also configure which channels to use in your VisualCortex by "
00208 "specifying a series of letters through the option --vc-chans. Finally, "
00209 "you can apply modifiers by prefixing them to your vc type:\n"
00210 " Thread: is a modifier that works with Std, Surp, etc and\n"
00211 " is used to dispatch computations to worker threads; (note\n"
00212 " that to actually create the worker threads you must also give\n"
00213 " a '-j N' option to create N threads); it is OK to have fewer\n"
00214 " threads than channels, in which case each thread would simply\n"
00215 " perform more than one channel computation per input cycle).\n"
00216 " EXAMPLE: --vc-type=Thread:Surp",
00217 "vc-type", '\0',
00218 "<None|Std|Beo|Surp|Int|Env|...>",
00219 "Std" };
00220
00221
00222 const ModelOptionDef OPT_VCEMeyeFnames =
00223 { MODOPT_ARG_STRING, "VCEMeyeFnames", &MOC_VCX, OPTEXP_CORE,
00224 "Comma-separated list of human eye movement file names",
00225 "vcem-eyefnames", '\0', "<name1,name2,...>", "" };
00226
00227
00228 const ModelOptionDef OPT_VCEMsigma =
00229 { MODOPT_ARG(float), "VCEMsigma", &MOC_VCX, OPTEXP_CORE,
00230 "Sigma of gaussian blob plotted at each human eye position, in pixels "
00231 "at the scale of the saliency map, or 0.0 to plot a single pixel",
00232 "vcem-sigma", '\0', "<float>", "3.0" };
00233
00234
00235 const ModelOptionDef OPT_VCEMforgetFac =
00236 { MODOPT_ARG(float), "VCEMforgetFac", &MOC_VCX, OPTEXP_CORE,
00237 "Forgetting factor to be applied at every evolve of VisualCortexEyeMvt",
00238 "vcem-forgetfac", '\0', "<float>", "0.9995" };
00239
00240
00241 const ModelOptionDef OPT_VCEMdelay =
00242 { MODOPT_ARG(uint), "VCEMdelay", &MOC_VCX, OPTEXP_CORE,
00243 "Human-to-human delay, in eye tracker samples",
00244 "vcem-delay", '\0', "<uint>", "24" };
00245
00246
00247 const ModelOptionDef OPT_VCEMuseMax =
00248 { MODOPT_FLAG, "VCEMuseMax", &MOC_VCX, OPTEXP_CORE,
00249 "Use max to comabine across humans, otherwise sum",
00250 "vcem-usemax", '\0', "", "false" };
00251
00252
00253 const ModelOptionDef OPT_VCEMsaccadeOnly =
00254 { MODOPT_FLAG, "VCEMsaccadeOnly", &MOC_VCX, OPTEXP_CORE,
00255 "Only plot endpoint locations of saccades instead of every sample",
00256 "vcem-saconly", '\0', "", "false" };
00257
00258
00259
00260 const ModelOptionDef OPT_SimulationViewerType =
00261 { MODOPT_ARG_STRING, "SimulationViewerType", &MOC_DISPLAY, OPTEXP_CORE,
00262 "Type of SimulationViewer to use. \n"
00263 "\t'Std' is the standard 2D viewer. \n"
00264 "\t'Compress' is a simple multi-foveated blurring viewer, in "
00265 "which a selection of most salient locations will be represented "
00266 "crisply, while the rest of the image will be increasingly blurred as "
00267 "we move away from those hot spots. \n"
00268 "\t'EyeMvt' is a viewer for comparison between saliency maps and "
00269 "human eye movements.\n"
00270 "\t'EyeMvt2' is 'EyeMvt' plus it adds a concept of visual memory buffer.\n"
00271 "\t'EyeMvtNeuro' is a viewer for comparing saliency maps and neural "
00272 "responses.\n"
00273 "\t'EyeRegion' is 'EyeMvt' plus it adds support for object definitions/"
00274 "visualizations.\n"
00275 "\t'EyeSim' simulates an eye-tracker recording from the model. "
00276 "\tWe run surprise control (ASAC) also from this command option. "
00277 "To use surprise control use 'ASAC'.\n "
00278 "\t'Stats' saves some simple statistics like mean and variance "
00279 "saliency, location of peak saliency, etc.\n"
00280 "\t'Hand' is a viewer for showing the combination of video and"
00281 "human hand movement(joystick, etc).\n"
00282 "\t'EyeHand' is a combination of EyeMvt and Hand.",
00283 "sv-type", '\0',
00284 "<None|Std|Compress|EyeMvt|EyeMvt2|EyeRegion|EyeSim"
00285 "ASAC|NerdCam|Stats|RecStats|Hand|EyeHand>",
00286 "Std" };
00287
00288
00289 const ModelOptionDef OPT_SVfontSize =
00290 { MODOPT_ARG(uint), "SVfontSize", &MOC_DISPLAY, OPTEXP_CORE,
00291 "Use the largest font available with width <= the value given here, or "
00292 "if there is no such font, then use the smallest available font. Available "
00293 "fonts range in width from 6 to 20.",
00294 "font-size", '\0', "<uint>", "10" };
00295
00296
00297 const ModelOptionDef OPT_SVsaveTraj =
00298 { MODOPT_FLAG, "SVsaveTraj", &MOC_DISPLAY, OPTEXP_CORE,
00299 "Save attention/eye/head trajectories",
00300 "save-trajectory", 'T', "", "false" };
00301
00302
00303 const ModelOptionDef OPT_SVsaveXcombo =
00304 { MODOPT_FLAG, "SVsaveXcombo", &MOC_DISPLAY, OPTEXP_CORE,
00305 "Show combination trajec (left) + salmap (right)",
00306 "save-x-combo", 'X', "", "false" };
00307
00308
00309 const ModelOptionDef OPT_SVsaveYcombo =
00310 { MODOPT_FLAG, "SVsaveYcombo", &MOC_DISPLAY, OPTEXP_CORE,
00311 "Show combination trajec (top) + salmap (bottom)",
00312 "save-y-combo", 'Y', "", "false" };
00313
00314
00315 const ModelOptionDef OPT_SVsaveTRMXcombo =
00316 { MODOPT_FLAG, "SVsaveTRMXcombo", &MOC_DISPLAY, OPTEXP_CORE,
00317 "Show combination trajec (left) + salmap (middle)+ "
00318 " task-relevance-map (right)",
00319 "save-trm-x-combo", '\0', "", "false" };
00320
00321
00322 const ModelOptionDef OPT_SVsaveTRMYcombo =
00323 { MODOPT_FLAG, "SVsaveTRMYcombo", &MOC_DISPLAY, OPTEXP_CORE,
00324 "Show combination trajec (top) + salmap (middle) + "
00325 " task-relevance-map (bottom) ",
00326 "save-trm-y-combo", '\0', "", "false" };
00327
00328
00329 const ModelOptionDef OPT_SVsaveTRMmegaCombo =
00330 { MODOPT_FLAG, "SVsaveTRMmegaCombo", &MOC_DISPLAY, OPTEXP_CORE,
00331 "Show combination trajec (top left) + salmap (top right) + "
00332 " task-relevance-map (bottom left) + AGM (bottom right) ",
00333 "save-trm-mega-combo", '\0', "", "false" };
00334
00335
00336 const ModelOptionDef OPT_SVwarp3D =
00337 { MODOPT_FLAG, "SVwarp3D", &MOC_DISPLAY, OPTEXP_CORE,
00338 "Show color image warped onto 3D salmap",
00339 "warp-salmap-3d", '3', "", "false" };
00340
00341
00342 const ModelOptionDef OPT_SVmegaCombo =
00343 { MODOPT_FLAG, "SVmegaCombo", &MOC_DISPLAY, OPTEXP_CORE,
00344 "Show trajectory, saliency and channels as a combo",
00345 "mega-combo", 'K', "", "false" };
00346
00347
00348 const ModelOptionDef OPT_SVmegaComboZoom =
00349 { MODOPT_ARG(uint), "SVmegaComboZoom", &MOC_DISPLAY, OPTEXP_CORE,
00350 "Zoom factor to use to display the --mega-combo conspicuity and feature maps.",
00351 "mega-combo-zoom", '\0', "<uint>", "8" };
00352
00353
00354 const ModelOptionDef OPT_SVmegaComboTopCMapsOnly =
00355 { MODOPT_FLAG, "SVmegaComboTopCMapsOnly", &MOC_DISPLAY, OPTEXP_CORE,
00356 "In --mega-combo displays, show only the top-level conspicuity maps, as "
00357 "opposed to recursing through the channel hierarchy and showing all the "
00358 "conspicuity maps, i.e., all output maps from all channels and "
00359 "subchannels.",
00360 "mega-combo-topcm", '\0', "", "true" };
00361
00362
00363 const ModelOptionDef OPT_SVcropFOA =
00364 { MODOPT_ARG(Dims), "SVcropFOA", &MOC_DISPLAY, OPTEXP_CORE,
00365 "Crop image to <w>x<h> around FOA location",
00366 "crop-foa", 'v', "<w>x<h>", "0x0" };
00367
00368
00369 const ModelOptionDef OPT_SVdisplayMapFactor =
00370 { MODOPT_ARG(float), "SVdisplayMapFactor", &MOC_DISPLAY, OPTEXP_CORE,
00371 "When displaying/saving a saliency map, visual cortex output, task "
00372 "relevance map, attention guidance map, etc, multiply the map by <factor> "
00373 "to convert its raw values to values which can be displayed (typically, "
00374 "in the [0..255] range). If the given <factor> is 0.0, then the map will "
00375 "be normalized to [0..255] on a frame-by-frame basis (which may "
00376 "sometimes be misleading as it may visually overemphasize maps which "
00377 "only contain very low activation).",
00378 "display-map-factor", '\0', "<factor>", "0.0" };
00379
00380
00381 const ModelOptionDef OPT_SVdisplayMapType =
00382 { MODOPT_ARG_STRING, "SVdisplayMapType", &MOC_DISPLAY, OPTEXP_CORE,
00383 "Select which map to display in all displays which show a map alongside "
00384 "the attention trajectory. The map values will be normalized according "
00385 "to the value of --display-map-factor.",
00386 "display-map", '\0', "<SM|AGM|TRM|VCO>", "AGM" };
00387
00388
00389 const ModelOptionDef OPT_SVxwindow =
00390 { MODOPT_OBSOLETE, "SVxwindow", &MOC_DISPLAY, OPTEXP_CORE,
00391 "This option is obsolete; if you want to see results in an "
00392 "onscreen window you can try using --out=display or --out=qt "
00393 "instead",
00394 "show-xwindow", 'x', "", "false" };
00395
00396
00397 const ModelOptionDef OPT_SVfoveateTraj =
00398 { MODOPT_FLAG, "SVfoveateTraj", &MOC_DISPLAY, OPTEXP_CORE,
00399 "foveate trajectory (cumulative if --display-additive)",
00400 "foveate-traj", '\0', "", "false" };
00401
00402
00403 const ModelOptionDef OPT_SVstatsFname =
00404 { MODOPT_ARG_STRING, "SVstatsFname", &MOC_DISPLAY, OPTEXP_CORE,
00405 "Save various statistics like min/max/avg salience, feature map "
00406 "values at the location of max salience, and feature map values "
00407 "at random locations, into a text file. The text file will also "
00408 "contain a dump of the model's architecture so that the numbers "
00409 "can be interpreted unambiguously.",
00410 "sv-stats-fname", '\0', "<filename>", "" };
00411
00412
00413
00414 const ModelOptionDef OPT_SVdisplayFOA =
00415 { MODOPT_FLAG, "SVdisplayFOA", &MOC_DISPLAY, OPTEXP_CORE,
00416 "Display focus-of-attention as a circle",
00417 "display-foa", '\0', "", "true" };
00418
00419
00420 const ModelOptionDef OPT_SVdisplayPatch =
00421 { MODOPT_FLAG, "SVdisplayPatch", &MOC_DISPLAY, OPTEXP_CORE,
00422 "Display small filled square at attended location",
00423 "display-patch", '\0', "", "true" };
00424
00425
00426 const ModelOptionDef OPT_SVpatchSize =
00427 { MODOPT_ARG(int), "SVpatchSize", &MOC_DISPLAY, OPTEXP_CORE,
00428 "Size of square to display at observers eye position",
00429 "patch-size", '\0', "<int>", "4" };
00430
00431
00432 const ModelOptionDef OPT_SVeraseMarker =
00433 { MODOPT_FLAG, "SVeraseMarker", &MOC_DISPLAY, OPTEXP_CORE,
00434 "Erase the eye position marker after each frame. ",
00435 "erase-marker", '\0', "", "false" };
00436
00437
00438 const ModelOptionDef OPT_SVdisplayFOAnum =
00439 { MODOPT_FLAG, "SVdisplayFOAnum", &MOC_DISPLAY, OPTEXP_CORE,
00440 "Display attention shift number (0-based)",
00441 "display-foanum", '\0', "", "false" };
00442
00443
00444 const ModelOptionDef OPT_SVdisplayFOALinks =
00445 { MODOPT_FLAG, "SVdisplayFOALinks", &MOC_DISPLAY, OPTEXP_CORE,
00446 "Display attentional trajectory using red arrows",
00447 "display-traj", '\0', "", "true" };
00448
00449
00450 const ModelOptionDef OPT_SVdisplayEye =
00451 { MODOPT_FLAG, "SVdisplayEye", &MOC_DISPLAY, OPTEXP_CORE,
00452 "Display small hollow square at eye position",
00453 "display-eye", '\0', "", "true" };
00454
00455
00456 const ModelOptionDef OPT_SVdisplayEyeLinks =
00457 { MODOPT_FLAG, "SVdisplayEyeLinks", &MOC_DISPLAY, OPTEXP_CORE,
00458 "Display eye trajectory using red lines",
00459 "display-eye-traj", '\0', "", "false" };
00460
00461
00462 const ModelOptionDef OPT_SVdisplayHead =
00463 { MODOPT_FLAG, "SVdisplayHead", &MOC_DISPLAY, OPTEXP_CORE,
00464 "Display larger hollow square at head position",
00465 "display-head", '\0', "", "false" };
00466
00467
00468 const ModelOptionDef OPT_SVdisplayHeadLinks =
00469 { MODOPT_FLAG, "SVdisplayHeadLinks", &MOC_DISPLAY, OPTEXP_CORE,
00470 "Display head trajectory using red lines",
00471 "display-head-traj", '\0', "", "false" };
00472
00473
00474 const ModelOptionDef OPT_SVdisplayAdditive =
00475 { MODOPT_FLAG, "SVdisplayAdditive", &MOC_DISPLAY, OPTEXP_CORE,
00476 "Display things additively",
00477 "display-additive", '\0', "", "true" };
00478
00479
00480 const ModelOptionDef OPT_SVdisplayTime =
00481 { MODOPT_FLAG, "SVdisplayTime", &MOC_DISPLAY, OPTEXP_CORE,
00482 "Display internal simulation time",
00483 "display-time", '\0', "", "true" };
00484
00485
00486 const ModelOptionDef OPT_SVdisplayHighlights =
00487 { MODOPT_FLAG, "SVdisplayHighlights", &MOC_DISPLAY, OPTEXP_CORE,
00488 "Display highlight at focus-of-attention",
00489 "display-highlight", '\0', "", "false" };
00490
00491
00492 const ModelOptionDef OPT_SVdisplaySMmodulate =
00493 { MODOPT_FLAG, "SVdisplaySMmodulate", &MOC_DISPLAY, OPTEXP_CORE,
00494 "Display surprise-modulated image, using the saliency map (possibly "
00495 "normalized using --display-map-factor) as contrast modulator",
00496 "display-smmod", '\0', "", "false" };
00497
00498
00499 const ModelOptionDef OPT_SVdisplayBoring =
00500 { MODOPT_FLAG, "SVdisplayBoring", &MOC_DISPLAY, OPTEXP_CORE,
00501 "Display attention shifts to boring targets in green",
00502 "display-boring", '\0', "", "true" };
00503
00504
00505 const ModelOptionDef OPT_SVuseLargerDrawings =
00506 { MODOPT_FLAG, "SVuseLargerDrawings", &MOC_DISPLAY, OPTEXP_CORE,
00507 "Use larger drawings for FOA, FOV, and head markers than default",
00508 "display-larger-markers", '\0', "", "false" };
00509
00510
00511 const ModelOptionDef OPT_SVdisplayInterp =
00512 { MODOPT_FLAG, "SVdisplayInterp", &MOC_DISPLAY, OPTEXP_CORE,
00513 "Use bilinear interpolation when rescaling saliency or other maps to "
00514 "larger image sizes for display (this option does not affect the maps "
00515 "themselves, just the way in which they are displayed)",
00516 "display-interp-maps", '\0', "", "true" };
00517
00518
00519 const ModelOptionDef OPT_SVCOMPsaveMask =
00520 { MODOPT_FLAG, "SVCOMPsaveMask", &MOC_DISPLAY, OPTEXP_CORE,
00521 "Show the bluring mask only",
00522 "save-compress-mask", '\0', "", "false" };
00523
00524
00525 const ModelOptionDef OPT_SVCOMPsaveFoveatedImage =
00526 { MODOPT_FLAG, "SVCOMPsaveFoveatedImage", &MOC_DISPLAY, OPTEXP_CORE,
00527 "Show the foveated image only",
00528 "save-compress-foveatedimage", '\0', "", "false" };
00529
00530
00531 const ModelOptionDef OPT_SVCOMPDistanceFactor =
00532 { MODOPT_ARG(float), "SVCOMPDistanceFactor", &MOC_DISPLAY, OPTEXP_CORE,
00533 "Set the distance factor",
00534 "distance-factor", '\0', "<float>", "1.0" };
00535
00536
00537 const ModelOptionDef OPT_SVCOMPsaveEyeCombo =
00538 { MODOPT_FLAG, "SVCOMPsaveEyeCombo", &MOC_DISPLAY, OPTEXP_CORE,
00539 "Show combination of original (left), foveated image + human eye "
00540 "(middle) and raw saliency map (right)",
00541 "save-compress-eyecombo", '\0', "", "false" };
00542
00543
00544 const ModelOptionDef OPT_SVCOMPnumFoveas =
00545 { MODOPT_ARG(int), "SVCOMPnumFoveas", &MOC_DISPLAY, OPTEXP_CORE,
00546 "Number of foveas to use for multi-foveated image blurring. A value of "
00547 "zero is valid and means that the blur will be continuously computed "
00548 "from the saliency map, rather than from a discrete number of foveas",
00549 "num-foveas", '\0', "<int>", "0" };
00550
00551
00552 const ModelOptionDef OPT_SVCOMPeyeCompare =
00553 { MODOPT_FLAG, "SVCOMPeyeCompare", &MOC_DISPLAY, OPTEXP_CORE,
00554 "use the eyetracking data to compared with teh blur mask or not",
00555 "eyecompare-compress", '\0', "<true|false>", "false"};
00556
00557
00558 const ModelOptionDef OPT_SVCOMPcacheSize =
00559 { MODOPT_ARG(int), "SVCOMPcacheSize", &MOC_DISPLAY, OPTEXP_CORE,
00560 "Number of frames over which the object masks are averaged to "
00561 "determine current foveation mask",
00562 "maskcache-size", '\0', "<int>", "5" };
00563
00564
00565 const ModelOptionDef OPT_SVCOMPiframePeriod =
00566 { MODOPT_ARG(int), "SVCOMPiframePeriod", &MOC_DISPLAY, OPTEXP_CORE,
00567 "Period of occurence of I-Frames when compressing with MPEG-1. If this "
00568 "is not 1, the foveation will be allowed to change only on every "
00569 "I-Frame, but will remain stable on P-frames and B-frames",
00570 "iframe-period", '\0', "<int>", "1" };
00571
00572
00573 const ModelOptionDef OPT_SVCOMPdisplayHumanEye =
00574 { MODOPT_FLAG, "SVCOMPdisplayHumanEye", &MOC_DISPLAY, OPTEXP_CORE,
00575 "Display human eye positions",
00576 "display-human-eye", '\0', "<true|false>", "true" };
00577
00578
00579 const ModelOptionDef OPT_SVCOMPuseTRMmax =
00580 { MODOPT_FLAG, "SVCOMPuseTRMmax", &MOC_DISPLAY, OPTEXP_CORE,
00581 "Use TRM-max trick",
00582 "use-trmmax", '\0', "", "false" };
00583
00584
00585 const ModelOptionDef OPT_SVCOMPfoveaSCtype =
00586 { MODOPT_ARG_STRING, "SVCOMPfoveaSCtype", &MOC_DISPLAY, OPTEXP_CORE,
00587 "Type of SC to use for the foveas of the compression viewer",
00588 "compress-sc-type", '\0', "<type>", "Friction" };
00589
00590
00591 const ModelOptionDef OPT_SVCOMPMultiRetinaDepth =
00592 { MODOPT_ARG(int), "SVCOMPMultiRetinaDepth", &MOC_DISPLAY, OPTEXP_CORE,
00593 "Depth of pyramid used for multi-foveation",
00594 "compress-multiretina-depth", '\0', "<int>", "5" };
00595
00596
00597
00598 const ModelOptionDef OPT_SVEMsaveMegaCombo =
00599 { MODOPT_FLAG, "SVEMsaveMegaCombo", &MOC_DISPLAY, OPTEXP_CORE,
00600 "If --maxcache-size is non-zero, then generate a 4-image combo: "
00601 "original (top-left), max-saliency-weighted image "
00602 "(top-right), raw saliency map (bottom-left) and max-saliency mask "
00603 "(bottom-right); otherwise of --maxcache-size is zero, then "
00604 "generate a 2-image combo: original plus eye position (left) and "
00605 "saliency map (right)",
00606 "save-eyemvt-megacombo", '\0', "", "false" };
00607
00608
00609 const ModelOptionDef OPT_SVEMdelayCacheSize =
00610 { MODOPT_ARG(int), "SVEMdelayCacheSize", &MOC_DISPLAY, OPTEXP_CORE,
00611 "Number of eye movement samples to skip between current time and "
00612 "time at which we start computing the max saliency over a period of "
00613 "time, or 0 for no delay",
00614 "delaycache-size", '\0', "<int>", "0" };
00615
00616
00617 const ModelOptionDef OPT_SVEMmaxCacheSize =
00618 { MODOPT_ARG(int), "SVEMmaxCacheSize", &MOC_DISPLAY, OPTEXP_CORE,
00619 "Number of eye movement samples over which to compute the max saliency, "
00620 "or 0 for no cache",
00621 "maxcache-size", '\0', "<int>", "0" };
00622
00623
00624 const ModelOptionDef OPT_SVEMoutFname =
00625 { MODOPT_ARG_STRING, "SVEMoutFname", &MOC_DISPLAY, OPTEXP_CORE,
00626 "File name for output data (or empty to not save output data).",
00627 "svem-out-fname", '\0', "<file>", "" };
00628
00629
00630 const ModelOptionDef OPT_SVEMsampleAtStart =
00631 { MODOPT_ARG(bool), "SVEMsampleAtStart", &MOC_DISPLAY, OPTEXP_CORE,
00632 "Sample at start of saccade (otherwise at end of saccade)",
00633 "svem-sampleatstart", '\0', "<true|false>", "true" };
00634
00635
00636 const ModelOptionDef OPT_SVEMdisplaySacNum =
00637 { MODOPT_FLAG, "SVEMdisplaySacNum", &MOC_DISPLAY, OPTEXP_CORE,
00638 "Display saccade number",
00639 "svem-display-sacnum", '\0', "", "false" };
00640
00641
00642 const ModelOptionDef OPT_SVEMnumRandomSamples =
00643 { MODOPT_ARG(int), "SVEMnumRandomSamples", &MOC_DISPLAY, OPTEXP_CORE,
00644 "Number of random samples to include in the file given by "
00645 "--svem-out-fname. NOTE: if the number given here is greater "
00646 "than or equal to the number of pixels in the saliency map, then "
00647 "instead of choosing random values, we simply loop over the "
00648 "entire saliency map, listing each value just once; so, note that "
00649 "regardless of the value given here, the number of 'random' values "
00650 "written will never be more than the number of pixels in the "
00651 "saliency map.",
00652 "svem-num-random", '\0', "<integer>",
00653
00654
00655
00656 "100" };
00657
00658
00659 const ModelOptionDef OPT_SVEMuseSaccadeInBlink =
00660 { MODOPT_FLAG, "SVEMuseSaccadeInBlink", &MOC_DISPLAY, OPTEXP_CORE,
00661 "When sampling a saliency map from human fixations choose whether "
00662 "to use saccades during blinks.","use-blink", '\0', "",
00663 "true"
00664 };
00665
00666
00667
00668 const ModelOptionDef OPT_SVEMuseDiagColors =
00669 { MODOPT_FLAG, "SVEMuseDiagColors", &MOC_DISPLAY, OPTEXP_CORE,
00670 "Use the same color scheme as MarkEye so to easily check "
00671 "the accuracy of parsing",
00672 "use-diagnostic-color", '\0', "",
00673 "false"
00674 };
00675
00676
00677 const ModelOptionDef OPT_SVEMlabelEyePatch =
00678 { MODOPT_FLAG, "SVEMlabelEyePatch", &MOC_DISPLAY, OPTEXP_CORE,
00679 "Label each patch with an identifying label",
00680 "svem-label-patch", '\0', "", "false"};
00681
00682
00683 const ModelOptionDef OPT_SVEMpriorRandomDistro =
00684 { MODOPT_ARG_STRING, "SVEMpriorRandomDistro", &MOC_DISPLAY, OPTEXP_CORE,
00685 "When sampling the saliency map use the supplied text file of saccadic "
00686 "endpoints in screen coordinates instead of a uniform sampling. "
00687 "File format is 1 sample per line. Each line should be formatted: Xcoord"
00688 " Ycoord","svem-prior-distro", '\0', "<file>", "" };
00689
00690
00691 const ModelOptionDef OPT_SVEMwriteFrameNumber =
00692 { MODOPT_FLAG, "SVEMwriteFrameNumber",&MOC_DISPLAY, OPTEXP_CORE,
00693 "Report the frame number of the saccade in the exported eyesal file.",
00694 "svem-write-framenum",'\0',"","false"};
00695
00696
00697 const ModelOptionDef OPT_SVEMmaxComboWidth =
00698 { MODOPT_ARG(int), "SVEMmaxComboWidth", &MOC_DISPLAY, OPTEXP_CORE,
00699 "Maximum width for the result of --save-eyemvt-megacombo; if the "
00700 "raw width of the combo image is greater than this value, then "
00701 "smooth+reduce the image by factors of 2 until the width is less "
00702 "than the desired size",
00703 "svem-max-combo-width", '\0', "<integer>",
00704
00705
00706
00707
00708 "1024" };
00709
00710
00711 const ModelOptionDef OPT_SVEMbufDims =
00712 { MODOPT_ARG(Dims), "SVEMbufDims", &MOC_DISPLAY, OPTEXP_CORE,
00713 "Dimensions of internal visual buffer",
00714 "svem-bufdims", '\0', "<w>x<h>", "" };
00715
00716
00717 const ModelOptionDef OPT_SVEMuseIOR =
00718 { MODOPT_FLAG, "SVEMuseIOR", &MOC_DISPLAY, OPTEXP_CORE,
00719 "Attempt to guess IOR from human eye movements",
00720 "svem-use-ior", '\0', "", "true" };
00721
00722
00723
00724 const ModelOptionDef OPT_SVHandSaveCombo =
00725 { MODOPT_FLAG, "SVHandSaveCombo", &MOC_DISPLAY, OPTEXP_CORE,
00726 "Generate a 3-image combo: original plus eye position (left),"
00727 "and hand-movement (right)",
00728
00729
00730
00731
00732
00733
00734
00735 "svhand-savecombo", '\0', "", "false" };
00736
00737
00738 const ModelOptionDef OPT_SVHandMaxComboWidth =
00739 { MODOPT_ARG(int), "SVHandMaxComboWidth", &MOC_DISPLAY, OPTEXP_CORE,
00740 "Maximum width for the result of --svhand-savecombo; if the "
00741 "raw width of the combo image is greater than this value, then "
00742 "smooth+reduce the image by factors of 2 until the width is less "
00743 "than the desired size",
00744 "svhand-maxcombowidth", '\0', "<integer>",
00745
00746
00747
00748
00749 "1024" };
00750
00751
00752 const ModelOptionDef OPT_SVHandDisplay =
00753 { MODOPT_FLAG, "SVHandDisplay", &MOC_DISPLAY, OPTEXP_CORE,
00754 "Display the hand movement (joystick) on screen",
00755 "svhand-display", '\0', "", "true" };
00756
00757
00758
00759 const ModelOptionDef OPT_SVeyeSimFname =
00760 { MODOPT_ARG_STRING, "SVeyeSimFname", &MOC_DISPLAY, OPTEXP_CORE,
00761 "File name for output eye movement data (required)",
00762 "eyesim-fname", '\0', "<file>", "" };
00763
00764
00765 const ModelOptionDef OPT_SVeyeSimPeriod =
00766 { MODOPT_ARG(SimTime), "SVeyeSimPeriod", &MOC_DISPLAY, OPTEXP_CORE,
00767 "Eye movements sampling period",
00768 "eyesim-period", '\0', "<float>", "0.0041666666" };
00769
00770
00771 const ModelOptionDef OPT_SVeyeSimTrash =
00772 { MODOPT_ARG(int), "SVeyeSimTrash", &MOC_DISPLAY, OPTEXP_CORE,
00773 "Number of initial eye movement samples to trash (e.g., "
00774 "corresponding to initial fixation before actual stimulus)",
00775 "eyesim-trash", '\0', "<int>", "0" };
00776
00777
00778 const ModelOptionDef OPT_SVEMNprobeLocation =
00779 { MODOPT_ARG(Point2D<float>),"SVEMNprobeLocation", &MOC_DISPLAY, OPTEXP_CORE,
00780 "The location of a virtual probe which saves measurements of values in "
00781 "model maps. The probe location is relative to the center of gaze "
00782 "in degrees of visual angle. Negative values are left and down of center. "
00783 "Use -1,-1 for no probe.",
00784 "svemn-probe", '\0', "<x>,<y>", "-1,-1" };
00785
00786
00787 const ModelOptionDef OPT_SVEMNrfSize =
00788 { MODOPT_ARG(float), "SVEMNrfSize", &MOC_DISPLAY, OPTEXP_CORE,
00789 "The size of the neurons receptive field in degrees of visual angle. "
00790 "Saliency values will be averaged in this window. If set to zero, "
00791 "the pixel at the probe location will be used.",
00792 "svemn-rf-size", '\0', "<uint>", "0" };
00793
00794
00795 const ModelOptionDef OPT_SVEMNrfMaskName =
00796 { MODOPT_ARG_STRING, "SVEMNrfMaskName", &MOC_DISPLAY, OPTEXP_CORE,
00797 "Use a weighting mask instead of taking the average saliency in the "
00798 "neurons receptive field centered on the probe location. This image "
00799 "should be the same size as the input.", "svemn-rf-maskname", '\0',
00800 "<file>", "" };
00801
00802
00803 const ModelOptionDef OPT_SVEMNoutFName =
00804 { MODOPT_ARG_STRING, "SVEMNoutFName", &MOC_DISPLAY, OPTEXP_CORE,
00805 "If set, output saliency values at the probe location set by "
00806 "--svemn-probe to this file.", "svemn-out-fname", '\0', "<file>", "" };
00807
00808
00809 const ModelOptionDef OPT_SVEMNneuroFileName =
00810 { MODOPT_ARG_STRING, "SVEMNneuroFileName", &MOC_DISPLAY, OPTEXP_CORE,
00811 "If set, read spike or voltage data from a text file and display it "
00812 "along side the saliency values. The text file should be 1 time step "
00813 "per line, and the sampling rate is assumed to be the same as the eye "
00814 "movement file set with --eyetrack-data",
00815 "svemn-neuron-file", '\0', "<file>", "" };
00816
00817
00818 const ModelOptionDef OPT_SVEMNdisplayTime =
00819 { MODOPT_FLAG, "SVEMNdisplayTime", &MOC_DISPLAY, OPTEXP_CORE,
00820 "Display the simulation time on the output ",
00821 "svemn-displaytime", '\0', "<bool>", "true" };
00822
00823
00824 const ModelOptionDef OPT_SVEMNdelayNeuron =
00825 { MODOPT_ARG(int), "SVEMNdelayNeuron", &MOC_DISPLAY, OPTEXP_CORE,
00826 "delay the neural data by this number of samples ",
00827 "svemn-delay-neuron", '\0', "<int>", "0" };
00828
00829
00830 const ModelOptionDef OPT_SVEMNplotBufLength =
00831 { MODOPT_ARG(SimTime), "SVEMNplotBufLength", &MOC_DISPLAY, OPTEXP_CORE,
00832 "Set how long of a history should we output in the plotting window",
00833 "svemn-plot-length", '\0', "<SimTime>", "1s" };
00834
00835
00836 const ModelOptionDef OPT_SVEMNSalScale =
00837 { MODOPT_ARG(float), "SVEMNSalScale", &MOC_DISPLAY, OPTEXP_CORE,
00838 "y-axis scale for history plot of saliency values. Use 0 for auto "
00839 "scale to max.",
00840 "svemn-sal-scale", '\0', "<float>", "0.0" };
00841
00842
00843 const ModelOptionDef OPT_SVEMNNeuroScale =
00844 { MODOPT_ARG(float), "SVEMNNeuroScale", &MOC_DISPLAY, OPTEXP_CORE,
00845 "y-axis scale for history plot of saliency values. Use 0 for auto "
00846 "scale to max.",
00847 "svemn-neuro-scale", '\0', "<float>", "0.0" };
00848
00849
00850 const ModelOptionDef OPT_SVEMNNeuroRFVisFile =
00851 { MODOPT_ARG_STRING, "SVEMNNeuroRFVisFile", &MOC_DISPLAY, OPTEXP_CORE,
00852 "If set, attempt to construct a map of the visual receptive field. "
00853 "The file will contain, for each pixel, the sum of snapshots from the"
00854 "display map everytime a spike occured. If the file exists and contains"
00855 "values the sums will continue. The first pixel in the image will be"
00856 "sacrificed to store the spike count.",
00857 "svemn-visualrf-file", '\0', "<file>", "" };
00858
00859
00860
00861 const ModelOptionDef OPT_SVEMNNeuroRFMotFile =
00862 { MODOPT_ARG_STRING, "SVEMNNeuroRFMotFile", &MOC_DISPLAY, OPTEXP_CORE,
00863 "If set, attempt to construct a map of the motor response field. "
00864 "The file will contain, for each pixel, the sum of spikes that occured"
00865 "to that pixels location in space. If the file exists and contains"
00866 "values the sums will continue. The first pixel in the image will be"
00867 "sacrificed to store the spike count.",
00868 "svemn-motorrf-file", '\0', "<file>", "" };
00869
00870
00871 const ModelOptionDef OPT_SVEMNMotWindow =
00872 { MODOPT_ARG(SimTime), "SVEMNMotWindow", &MOC_DISPLAY, OPTEXP_CORE,
00873 "Small window around +- saccade onset to count spikes when creating"
00874 "response field.",
00875 "svemn-motrf-window", '\0', "<float>", "25ms" };
00876
00877 const ModelOptionDef OPT_SVEMNVisWindow =
00878 { MODOPT_ARG(SimTime), "SVEMNVisWindow", &MOC_DISPLAY, OPTEXP_CORE,
00879 "Small window to store an ensemble of spike triggered stimuli.",
00880 "svemn-visrf-window", '\0', "<float>", "100ms" };
00881
00882
00883 const ModelOptionDef OPT_SVEMNVisOffset =
00884 { MODOPT_ARG(SimTime), "SVEMNVisOffset", &MOC_DISPLAY, OPTEXP_CORE,
00885 "Offset to store spike triggreed stimuli, to account for stimulus to "
00886 "spike delay",
00887 "svemn-visrf-offset", '\0', "<float>", "25ms" };
00888
00889
00890
00891
00892 const ModelOptionDef OPT_ASACdrawDiffParts =
00893 { MODOPT_FLAG, "ASACdrawDiffParts", &MOC_DISPLAY, OPTEXP_CORE,
00894 "Cause Surprise Control to draw difference images",
00895 "ASAC-draw-diff-parts", '\0', "", "false" };
00896
00897
00898 const ModelOptionDef OPT_ASACdrawBetaParts =
00899 { MODOPT_FLAG, "ASACdrawBetaParts", &MOC_DISPLAY, OPTEXP_CORE,
00900 "Cause Surprise Control to draw beta images",
00901 "ASAC-draw-beta-parts", '\0', "", "false" };
00902
00903
00904 const ModelOptionDef OPT_ASACdrawBiasParts =
00905 { MODOPT_FLAG, "ASACdrawBiasParts", &MOC_DISPLAY, OPTEXP_CORE,
00906 "Cause Surprise Control to draw bias images",
00907 "ASAC-draw-bias-parts", '\0', "", "false" };
00908
00909
00910 const ModelOptionDef OPT_ASACdrawSeperableParts =
00911 { MODOPT_FLAG, "ASACdrawSeperableParts", &MOC_DISPLAY, OPTEXP_CORE,
00912 "Cause Surprise Control to draw layers of seperable filter images",
00913 "ASAC-draw-seperable-parts", '\0', "", "false" };
00914
00915
00916 const ModelOptionDef OPT_ASACconfigFile =
00917 { MODOPT_ARG_STRING, "ASACconfigFile", &MOC_DISPLAY, OPTEXP_CORE,
00918 "What config file to load with Surprise Control",
00919 "ASAC-config-file", '\0', "<file>",
00920 "/lab/mundhenk/saliency/etc/surpriseControl.conf"};
00921
00922
00923 const ModelOptionDef OPT_NerdCamConfigFile =
00924 { MODOPT_ARG_STRING, "NerdCamConfigFile", &MOC_DISPLAY, OPTEXP_CORE,
00925 "What config file to load with Nerd Cam",
00926 "nerdcam-config-file", '\0', "<file>",
00927 "/etc/nerdcam.conf"};
00928
00929
00930
00931 const ModelOptionDef OPT_FOAradius =
00932 { MODOPT_ARG(int), "FOAradius", &MOC_DISPLAY, OPTEXP_CORE,
00933 "Radius of the Focus Of Attention, or 0 to set it from input image dims",
00934 "foa-radius", '\0', "<pixels>", "0" };
00935
00936
00937 const ModelOptionDef OPT_SVInverseTransform =
00938 { MODOPT_FLAG, "InvertTransform", &MOC_DISPLAY, OPTEXP_CORE,
00939 "If we are using a retinal type that performs a coordinate transfrom on the input, "
00940 "should we undo that transform for display?", "inverse-retinal", '\0', "", "true" };
00941
00942
00943 const ModelOptionDef OPT_FoveaRadius =
00944 { MODOPT_ARG(int), "FoveaRadius", &MOC_DISPLAY, OPTEXP_CORE,
00945 "Radius of the fovea, or 0 to set it from input image dims",
00946 "fovea-radius", '\0', "<pixels>", "0" };
00947
00948
00949 const ModelOptionDef OPT_AGStatsSaveFile =
00950 { MODOPT_ARG_STRING, "AGStatsSaveFile", &MOC_DISPLAY, OPTEXP_CORE,
00951 "Prefix for saving attention gate stats",
00952 "ag-statsfile", '\0', "<file>", "ag-stats"};
00953
00954
00955 const ModelOptionDef OPT_ComputeAGStats =
00956 { MODOPT_FLAG, "ComputeAGStats", &MOC_DISPLAY, OPTEXP_CORE,
00957 "Should we compute the AG stats with ground truth?",
00958 "savestats-ag", '\0', "", "false" };
00959
00960
00961
00962 const ModelOptionCateg MOC_ITC = {
00963 MOC_SORTPRI_3, "Inferior Temporal Cortex Options" };
00964
00965
00966 const ModelOptionDef OPT_InferoTemporalType =
00967 { MODOPT_ARG_STRING, "ITCInferoTemporalType", &MOC_ITC, OPTEXP_CORE,
00968 "Type of InferoTemporal to use. 'None','Std','SalBayes', 'HMAX' or 'CUDAHMAX'",
00969 "it-type", '\0', "<None|Std|SalBayes|HMAX|CUDAHMAX>", "None" };
00970
00971
00972
00973 const ModelOptionDef OPT_AttentionObjRecog =
00974 { MODOPT_FLAG, "ITCAttentionObjRecog", &MOC_ITC, OPTEXP_CORE,
00975 "Use ShapeEstimator to create a mask around the attended object prior "
00976 "to recognition.",
00977 "it-use-se", '\0', "", "no" };
00978
00979
00980
00981 const ModelOptionDef OPT_ObjectDatabaseFileName =
00982 { MODOPT_ARG_STRING, "ITCObjectDatabaseFileName", &MOC_ITC, OPTEXP_CORE,
00983 "Filename for the object database",
00984 "it-object-db", '\0', "<filename>", "" };
00985
00986
00987
00988 const ModelOptionDef OPT_TrainObjectDB =
00989 { MODOPT_FLAG, "ITCTrainObjectDB", &MOC_ITC, OPTEXP_CORE,
00990 "If set to yes, train the database by adding to it new objects which "
00991 "could not be recognized.",
00992 "it-train-db", '\0', "", "no" };
00993
00994
00995
00996 const ModelOptionDef OPT_PromptUserTrainDB =
00997 { MODOPT_FLAG, "ITCPromptUserTrainDB", &MOC_ITC, OPTEXP_CORE,
00998 "Whether or not to prompt the user before training the database on a "
00999 "new object",
01000 "it-prompt-user-train-db", '\0', "", "no" };
01001
01002
01003
01004 const ModelOptionDef OPT_MatchObjects =
01005 { MODOPT_FLAG, "ITCMatchObjects", &MOC_ITC, OPTEXP_CORE,
01006 "If true, attempt to recognize objects at every new attended location. "
01007 "When this is false, having an InferoTemporal may still make sense as "
01008 "it will be in pure training mode, just learning the representation "
01009 "of every object attended to.",
01010 "it-match-objects", '\0', "", "yes"};
01011
01012
01013
01014 const ModelOptionDef OPT_MatchingAlgorithm =
01015 { MODOPT_ARG(VisualObjectMatchAlgo), "ITCMatchingAlgorithm", &MOC_ITC, OPTEXP_CORE,
01016 "The algorithm to use for object matching",
01017 "matching-alg", '\0', "<Simple|KDtree|KDtreeBBF>", "KDtreeBBF"};
01018
01019
01020
01021 const ModelOptionDef OPT_RecognitionMinMatch =
01022 { MODOPT_ARG(int), "ITCRecognitionMinMatch", &MOC_ITC, OPTEXP_CORE,
01023 "The minimum number of keypoint matches for recognizing an object. If "
01024 "greater than 0, search will be terminated once an object with the "
01025 "minimum number of keypoint matches is found. If equal to 0, the "
01026 "percentage of keypoints specified by recog-minmatch-percent must be "
01027 "matched to declare an object match",
01028 "recog-minmatch", '\0', "<int>", "3" };
01029
01030
01031
01032 const ModelOptionDef OPT_RecognitionMinMatchPercent =
01033 { MODOPT_ARG(float), "ITCRecognitionMinMatchPercent", &MOC_ITC, OPTEXP_CORE,
01034 "The minimum percentage of keypoints in the target object that must be "
01035 "successfully matched in order to declare an object match.",
01036 "recog-minmatch-percent", '\0', "<float>", "0.75" };
01037
01038
01039
01040 const ModelOptionDef OPT_SortObjects =
01041 { MODOPT_FLAG, "ITCSortObjects", &MOC_ITC, OPTEXP_CORE,
01042 "Whether or not to sort the objects in the database before matching. "
01043 "similarity before matching.",
01044 "sort-objects", '\0', "", "no"};
01045
01046
01047
01048 const ModelOptionDef OPT_SortObjectsBy =
01049 { MODOPT_ARG_STRING, "ITCSortObjectsBy", &MOC_ITC, OPTEXP_CORE,
01050 "The metric to use to sort the objects in the database - 'features' or "
01051 "'location'. Only has effect when --sort-objects=yes. ",
01052 "sort-objects-by", '\0', "<features|location>", "features"};
01053
01054
01055
01056 const ModelOptionDef OPT_SortKeys =
01057 { MODOPT_FLAG, "ITCSortKeys", &MOC_ITC, OPTEXP_CORE,
01058 "Whether or not to sort the keys by scale space extrema magnitude "
01059 "before matching.",
01060 "sort-keys", '\0', "", "no"};
01061
01062
01063
01064 const ModelOptionDef OPT_OutputFileName =
01065 { MODOPT_ARG_STRING, "ITCOutputFileName", &MOC_ITC, OPTEXP_CORE,
01066 "The name of the object recognition output file",
01067 "objrecog-output", '\0', "<filename>", ""};
01068
01069
01070
01071
01072
01073
01074 const ModelOptionDef OPT_ShapeEstimatorMode =
01075 { MODOPT_ARG(ShapeEstimatorMode), "ShapeEstimatorMode",
01076 &MOC_BRAIN, OPTEXP_CORE,
01077 "Shape estimator mode",
01078 "shape-estim-mode", '\0', "<None|FeatureMap|ConspicuityMap|SaliencyMap>",
01079 "None" };
01080
01081 const ModelOptionDef OPT_ShapeEstimatorSmoothMethod =
01082 { MODOPT_ARG(ShapeEstimatorSmoothMethod), "ShapeEstimatorSmoothMethod",
01083 &MOC_BRAIN, OPTEXP_CORE,
01084 "Shape estimator smooth method",
01085 "shape-estim-smoothmethod", '\0', "<None|Gaussian|Chamfer>",
01086 "Gaussian" };
01087
01088
01089
01090
01091
01092
01093 const ModelOptionCateg MOC_BRAIN = {
01094 MOC_SORTPRI_3, "General Brain/Attention-Related Options" };
01095
01096
01097 const ModelOptionDef OPT_BrainBoringDelay =
01098 { MODOPT_ARG(SimTime), "BrainBoringDelay", &MOC_BRAIN, OPTEXP_CORE,
01099 "Attention shifts that come after an interval longer than this "
01100 "will be considered 'boring' (for example, they may be represented "
01101 "differently in output displays)",
01102 "boring-delay", '\0', "<time>", "200.0ms" };
01103
01104
01105 const ModelOptionDef OPT_BrainBoringSMmv =
01106 { MODOPT_ARG(float), "BrainBoringSMmv", &MOC_SM, OPTEXP_CORE,
01107 "Saliency map level (in mV) below which attention shifts will be "
01108 "considered 'boring' (for example, they may be represented "
01109 "differently in output displays)",
01110 "boring-sm-mv", '\0', "<float>", "3.0" };
01111
01112
01113 const ModelOptionDef OPT_IORtype =
01114 { MODOPT_ARG(IORtype), "IORtype", &MOC_BRAIN, OPTEXP_CORE,
01115 "Type of IOR to use; default is ShapeEstimator-based, but if "
01116 "no ShapeEstimator information is available, then we fall back to "
01117 "Disc IOR",
01118 "ior-type", '\0', "<None|Disc|ShapeEst>", "ShapeEst" };
01119
01120
01121 const ModelOptionDef OPT_BrainSaveObjMask =
01122 { MODOPT_FLAG, "BrainSaveObjMask", &MOC_DISPLAY, OPTEXP_SAVE,
01123 "Save object mask",
01124 "save-objmask", '\0', "", "false" };
01125
01126
01127 const ModelOptionDef OPT_BlankBlink =
01128 { MODOPT_FLAG, "BlankBlink", &MOC_BRAIN, OPTEXP_CORE,
01129 "Blank-out visual input during eye blinks",
01130 "blank-blink", '\0', "", "false" };
01131
01132
01133 const ModelOptionDef OPT_BrainTooManyShifts =
01134 { MODOPT_ARG(int), "BrainTooManyShifts", &MOC_BRAIN, OPTEXP_CORE,
01135 "Exit after this number of covert attention shifts",
01136 "too-many-shifts", '\0', "<int>", "0" };
01137
01138 const ModelOptionDef OPT_BrainTooManyShiftsPerFrame =
01139 { MODOPT_ARG(int), "BrainTooManyShiftsPerFrame", &MOC_BRAIN, OPTEXP_CORE,
01140 "Wait untill the next frame after this number of covert attention shifts",
01141 "too-many-shifts-per-frame", '\0', "<int>", "0" };
01142
01143
01144 const ModelOptionDef OPT_TargetMaskFname =
01145 { MODOPT_ARG_STRING, "TargetMaskFname", &MOC_BRAIN, OPTEXP_CORE,
01146 "Name of a grayscale image file to be loaded and used as a "
01147 "targetmask for Brain",
01148 "target-mask", '\0', "<filename>", "" };
01149
01150
01151
01152
01153
01154
01155
01156 const ModelOptionCateg MOC_SM = {
01157 MOC_SORTPRI_3, "Saliency Map Related Options" };
01158
01159
01160 const ModelOptionDef OPT_SaliencyMapType =
01161 { MODOPT_ARG_STRING, "SaliencyMapType", &MOC_SM, OPTEXP_CORE,
01162 "Type of Saliency Map to use. 'None' for no saliency map, 'Std' for the "
01163 "standard saliency map using LeakyIntegrator neurons (takes a lot "
01164 "of CPU cycles to evolve), 'Trivial' for just a non-evolving copy of the "
01165 "inputs, 'Fast' for a faster implementation that"
01166 "just takes a weighted average between current and new saliency "
01167 "map at each time step.",
01168 "sm-type", '\0', "<None|Std|StdOptim|Trivial|Fast>", "Std" };
01169
01170
01171 const ModelOptionDef OPT_SMsaveResults =
01172 { MODOPT_FLAG, "SMsaveResults", &MOC_SM, OPTEXP_SAVE,
01173 "Save saliency map as an un-normalized float image, which is useful "
01174 "to compare the absolute saliency values across several images or "
01175 "several frames of a movie. You may use saliency/matlab/pfmread.m "
01176 "to read these images into matlab, or saliency/bin/pfmtopgm to convert "
01177 "them to PGM format.",
01178 "save-salmap", '\0', "", "false" };
01179
01180
01181 const ModelOptionDef OPT_SMsaveCumResults =
01182 { MODOPT_FLAG, "SMsaveCumResults", &MOC_SM, OPTEXP_SAVE,
01183 "Save cumulative saliency map so far as an unnormalized float image.",
01184 "save-cumsalmap", '\0', "", "false" };
01185
01186
01187 const ModelOptionDef OPT_SMuseSacSuppress =
01188 { MODOPT_FLAG, "SMuseSacSuppress", &MOC_SM, OPTEXP_CORE,
01189 "Use saccadic suppression in the saliency map",
01190 "salmap-sacsupp", '\0', "", "true" };
01191
01192
01193 const ModelOptionDef OPT_SMuseBlinkSuppress =
01194 { MODOPT_FLAG, "SMuseBlinkSuppress", &MOC_SM, OPTEXP_CORE,
01195 "Use blink suppression in the saliency map",
01196 "salmap-blinksupp", '\0', "",
01197
01198
01199
01200
01201
01202 "false" };
01203
01204
01205 const ModelOptionDef OPT_SMfastInputCoeff =
01206 { MODOPT_ARG(float), "SMfastInputCoeff", &MOC_SM, OPTEXP_CORE,
01207 "Coefficient by which new inputs merge with old ones at each time step",
01208 "salmap-inputcoeff", '\0', "<0..1>", "0.1" };
01209
01210
01211 const ModelOptionDef OPT_SMItoVcoeff =
01212 { MODOPT_ARG(float), "SMItoVcoeff", &MOC_SM, OPTEXP_CORE,
01213 "Coefficient used to convert from synaptic current inputs (typically "
01214 "in the nA range) to voltage outputs (typically in the mV range)",
01215 "salmap-itovcoeff", '\0', "<float>", "5000000.0" };
01216
01217
01218 const ModelOptionDef OPT_SMginhDecay =
01219 { MODOPT_ARG(float), "SMginhDecay", &MOC_SM, OPTEXP_CORE,
01220 "Coefficient by which inhibition-of-return dies off at each time step",
01221 "salmap-iordecay", '\0', "<0..1>", "0.9999" };
01222
01223
01224 const ModelOptionDef OPT_SMmaxWinV =
01225 { MODOPT_ARG(float), "SMmaxWinV", &MOC_SM, OPTEXP_CORE,
01226 "Winner voltage (in millivolts) which, if exceeded, will trigger global "
01227 "inhibition over the saliency map. This helps avoiding that the "
01228 "saliency map explodes if it receives constantly strong inputs.",
01229 "salmap-maxwinv", '\0', "<mV>", "5.0" };
01230
01231
01232
01233
01234
01235 const ModelOptionCateg MOC_TRM = {
01236 MOC_SORTPRI_3, "Task-Relevance Map Related Options" };
01237
01238
01239 const ModelOptionDef OPT_TaskRelevanceMapType =
01240 { MODOPT_ARG_STRING, "TaskRelevanceMapType", &MOC_TRM, OPTEXP_CORE,
01241 "Type of Task-Relevance Map to use. 'None' for no map, 'Std' for the "
01242 "standard TRM that needs an agent to compute the relevance of "
01243 "objects, 'KillStatic' for a TRM that progressively decreases "
01244 "the relevance of static objects, and 'KillN' for a TRM that kills "
01245 "the last N objects that have been passed to it, 'GistClassify' for classify"
01246 "the current frame into different categories and use the corresponding"
01247 "pre-defined TD map, 'Tigs' for use the gist vector to get a top down map"
01248 "Tigs2 use the gist vector combined with the PCA image vector to get a"
01249 "top down map", "trm-type", '\0',
01250 "<None|Std|KillStatic|KillN|GistClassify|Tigs|Tigs2>", "None" };
01251
01252
01253 const ModelOptionDef OPT_TRMsaveResults =
01254 { MODOPT_FLAG, "TRMsaveResults", &MOC_TRM, OPTEXP_SAVE,
01255 "Save task-relevance map",
01256 "save-trm", '\0', "", "false" };
01257
01258
01259 const ModelOptionDef OPT_LearnTRM =
01260 { MODOPT_FLAG, "LearnTRM", &MOC_TRM, OPTEXP_CORE,
01261 "Learn TRM over a number of scenes", "learn-trm", '\0', "", "false" };
01262
01263
01264 const ModelOptionDef OPT_LearnUpdateTRM =
01265 { MODOPT_FLAG, "LearnUpdateTRM", &MOC_TRM, OPTEXP_CORE,
01266 "Learn and update TRM over a number of scenes",
01267 "learn-update-trm", '\0', "", "false" };
01268
01269
01270 const ModelOptionDef OPT_BiasTRM =
01271 { MODOPT_ARG_STRING, "BiasTRM", &MOC_TRM, OPTEXP_CORE,
01272 "bias the TRM with the given image", "bias-trm", '\0', "<file>", "" };
01273
01274
01275 const ModelOptionDef OPT_TRMKillStaticThresh =
01276 { MODOPT_ARG(float), "TRMKillStaticThresh", &MOC_TRM, OPTEXP_CORE,
01277 "Minimum difference between current luminance and previously cumulated "
01278 "luminance for a point to be considered non-static",
01279 "kill-static-thresh", '\0', "<float>", "20.0" };
01280
01281
01282 const ModelOptionDef OPT_TRMKillStaticCoeff =
01283 { MODOPT_ARG(float), "TRMKillStaticCoeff", &MOC_TRM, OPTEXP_CORE,
01284 "Killing achieved by a purely static location. "
01285 "A value of 1.0 here means that all salience of a static location will "
01286 "be killed; a value of 0 means no killing",
01287 "kill-static-coeff", '\0', "<0.0 .. 1.0>", "0.95" };
01288
01289
01290 const ModelOptionDef OPT_TRMkillN =
01291 { MODOPT_ARG(int), "TRMkillN", &MOC_TRM, OPTEXP_CORE,
01292 "Number of objects to kill.",
01293 "killn", '\0', "<int>", "3" };
01294
01295
01296 const ModelOptionDef OPT_TRMClusterCenterFile =
01297 { MODOPT_ARG_STRING, "TRMClusterCenterFile", &MOC_TRM, OPTEXP_CORE,
01298 "the centroids of different gist clusters are saved in a file, which "
01299 "first number means the category number, the second number is the gist vector "
01300 "dims, then the following data are the gist vectors for each of the cluster",
01301 "cluster-center-file", '\0',"<file>",
01302 "/lab/tmpib/u/gist-trm/training/cluster_center/cluster_center.dat"
01303 };
01304
01305
01306 const ModelOptionDef OPT_TRMTemplateDir =
01307 { MODOPT_ARG_STRING, "TRMTemplateDir", &MOC_TRM, OPTEXP_CORE,
01308 "the template files under the template directiry are adopted "
01309 "according to the classify result each template file is a "
01310 "pre-defined TD map, and we can rescale it to the current frame size",
01311 "Template-dir", '\0',"<dir>",
01312 "/lab/tmpib/u/gist-trm/training/template/"
01313 };
01314
01315
01316 const ModelOptionDef OPT_TRMGistPCADims =
01317 {
01318 MODOPT_ARG(int),"GistPCADims", &MOC_TRM, OPTEXP_CORE,
01319 "use PCA Matrix to reduce the gist vector's dim"
01320 "dims=5 keep 95% variance, dims=4 keep 91.3%, "
01321 "dims=3 keep 76.8%, dims=2 keep 60%",
01322 "gist-PCADims", '\0',"<int>", "5"
01323 };
01324
01325
01326 const ModelOptionDef OPT_TRMGistPCAMatrix =
01327 {
01328 MODOPT_ARG_STRING,"GistPCAMatrix", &MOC_TRM, OPTEXP_CORE,
01329 "use PCA Matrix to reduce the gist vector's dim"
01330 "specify the PCA matrix file directory",
01331 "gist-PCAmatrix", '\0',"<dir>",
01332 "/lab/tmpib/u/gist-trm/training/PCA/PCAMatrix.dat"
01333 };
01334
01335
01336 const ModelOptionDef OPT_TRMCacheSize =
01337 {
01338 MODOPT_ARG(int),"TRMCacheSize", &MOC_TRM, OPTEXP_CORE,
01339 "the cache size of the TRM",
01340 "trm-cacheSize", '\0', "<int>", "5"
01341 };
01342
01343
01344 const ModelOptionDef OPT_TRMUpdatePeriod =
01345 {
01346 MODOPT_ARG(int),"TRMUpdatePeriod", &MOC_TRM, OPTEXP_CORE,
01347 "the period update the TRM",
01348 "trm-updatePeriod", '\0', "<int>",
01349 "1"
01350 };
01351
01352
01353 const ModelOptionDef OPT_TRMTigsMatrix =
01354 {
01355 MODOPT_ARG_STRING,"TigsMatrix", &MOC_TRM, OPTEXP_CORE,
01356 "the trained Tigs Matrix",
01357 "tigs-matrix", '\0', "<dir>",
01358 "/lab/tmpib/u/gist-trm/training/extend/Matlab/TigsMatrix.dat"
01359 };
01360
01361
01362 const ModelOptionDef OPT_TRMImgPCADims =
01363 {
01364 MODOPT_ARG(int),"ImagePCADims", &MOC_TRM, OPTEXP_CORE,
01365 "use PCA Matrix to reduce the image vector's dim",
01366 "img-PCADims", '\0',"<int>", "20"
01367 };
01368
01369
01370 const ModelOptionDef OPT_TRMImgPCAMatrix =
01371 {
01372 MODOPT_ARG_STRING,"ImagePCAMatrix", &MOC_TRM, OPTEXP_CORE,
01373 "use PCA Matrix to reduce the image vector's dim"
01374 "specify the PCA matrix file directory",
01375 "img-PCAmatrix", '\0',"<dir>",
01376 "/lab/tmpib/u/gist-trm/training/extend/imgPCA/imgPCAMatrix.dat"
01377 };
01378
01379
01380 const ModelOptionDef OPT_TRMTigs2Matrix =
01381 {
01382 MODOPT_ARG_STRING,"Tigs2Matrix", &MOC_TRM, OPTEXP_CORE,
01383 "the trained Tigs2 Matrix",
01384 "tigs2-matrix", '\0', "<dir>",
01385 "/lab/tmpib/u/gist-trm/training/Tigs2/code/Tigs2Matrix.dat"
01386 };
01387
01388 const ModelOptionDef OPT_TRMSocialRegionFName =
01389 { MODOPT_ARG_STRING, "TRMRegionFile", &MOC_TRM, OPTEXP_CORE,
01390 "XML input file with labeled/defined regions for all frames.",
01391 "trmsocial-input-file", '\0', "<file>", ""
01392 };
01393
01394
01395
01396 const ModelOptionCateg MOC_AGM = {
01397 MOC_SORTPRI_3, "Attention Guidance Map Related Options" };
01398
01399
01400 const ModelOptionDef OPT_AttentionGuidanceMapType =
01401 { MODOPT_ARG_STRING, "AttentionGuidanceMapType", &MOC_AGM, OPTEXP_CORE,
01402 "Type of Attention Guidance Map to use. 'None' for no map (in which "
01403 "case Brain will use the bottom-up saliency map for attention "
01404 "guidance), 'Std' for the standard AGM that just computes the pointwise "
01405 "product between bottom-up saliency map and top-down task-relevance "
01406 "map. 'NF' for maps based on simple neural fields. 'SC' for an AGM "
01407 "based on the neural architecture and "
01408 "functionality of the superior colliculus.",
01409 "agm-type", '\0', "<None|Std|Opt|NF|SC>", "Std" };
01410
01411
01412 const ModelOptionDef OPT_AGMsaveResults =
01413 { MODOPT_FLAG, "AGMsaveResults", &MOC_AGM, OPTEXP_SAVE,
01414 "Save attention guidance map",
01415 "save-agm", '\0', "", "false" };
01416
01417
01418
01419 const ModelOptionDef OPT_AGMoutputRate =
01420 { MODOPT_ARG(SimTime), "AGMoutputRate", &MOC_AGM, OPTEXP_SAVE,
01421 "the rate at which we post our output maps",
01422 "agm-output-rate", '\0', "<SimTime>", "10ms" };
01423
01424
01425
01426 const ModelOptionCateg MOC_AG = {
01427 MOC_SORTPRI_3, "Attention Gate Related Options" };
01428
01429
01430 const ModelOptionDef OPT_AttentionGateType =
01431 { MODOPT_ARG_STRING, "AttentionGateType", &MOC_AG, OPTEXP_CORE,
01432 "Type of Attention Gate to use. "
01433 "Std or None",
01434 "ag-type", '\0', "<Std|None>", "None" };
01435
01436
01437 const ModelOptionDef OPT_AttentionGateStageOneType =
01438 { MODOPT_ARG_STRING, "AttentionGateStageOneType", &MOC_AG, OPTEXP_CORE,
01439 "Type of stage one Attention Gate to use. "
01440 "Simple or Complex",
01441 "ag-so-type", '\0', "<Simple|Complex>", "Simple" };
01442
01443
01444 const ModelOptionDef OPT_AttentionGateStageTwoType =
01445 { MODOPT_ARG_STRING, "AttentionGateStageTwoType", &MOC_AG, OPTEXP_CORE,
01446 "Type of stage two Attention Gate to use. "
01447 "Std or None",
01448 "ag-st-type", '\0', "<Std|None>", "None" };
01449
01450
01451 const ModelOptionDef OPT_AttentionGateStageTwoEpochs =
01452 { MODOPT_ARG(int), "AttentionGateStageTwoEpochs", &MOC_AG, OPTEXP_CORE,
01453 "How many epochs to look forward and backwards. "
01454 "An integer such as 5.",
01455 "ag-st-epochs", '\0', "<int>", "5" };
01456
01457
01458 const ModelOptionDef OPT_AGsaveResults =
01459 { MODOPT_FLAG, "AGsaveResults", &MOC_AG, OPTEXP_SAVE,
01460 "Save attention gate maps",
01461 "save-ag", '\0', "", "false" };
01462
01463
01464 const ModelOptionDef OPT_AGTargetFrame =
01465 { MODOPT_ARG(int), "AGTargetFrame", &MOC_AG, OPTEXP_CORE,
01466 "Which frame contains the target if needed "
01467 "An integer such as 11.",
01468 "ag-tframe", '\0', "<int>", "0" };
01469
01470
01471 const ModelOptionDef OPT_AGMaskFile =
01472 { MODOPT_ARG_STRING, "AGMaskFile", &MOC_AG, OPTEXP_CORE,
01473 "Name of the ground truth mask file to use if any. "
01474 "Should be a file name string",
01475 "ag-maskfile", '\0', "<string>", "mask.png" };
01476
01477
01478
01479 const ModelOptionCateg MOC_WTA = {
01480 MOC_SORTPRI_3, "Winner-Take-All Related Options" };
01481
01482
01483 const ModelOptionDef OPT_WinnerTakeAllType =
01484 { MODOPT_ARG_STRING, "WinnerTakeAllType", &MOC_WTA, OPTEXP_CORE,
01485 "Type of Winner-Take-All to use. 'None' for no winner-take-all, 'Std' "
01486 "for the standard winner-take-all using LeakyIntFire neurons "
01487 "(takes a lot of CPU cycles to evolve), 'Fast' for a faster "
01488 "implementation that just computes the location of the max at "
01489 "every time step, 'Greedy' is one that returns, out of a number of "
01490 "possible targets above a threshold, the one closest to current eye "
01491 "position. 'Notice' uses an adaptive leaky integrate and fire neuron "
01492 "that trys to notice things across frames",
01493 "wta-type", '\0', "<None|Std|StdOptim|Fast|Greedy|Notice>", "Std" };
01494
01495
01496 const ModelOptionDef OPT_WTAsaveResults =
01497 { MODOPT_FLAG, "WTAsaveResults", &MOC_WTA, OPTEXP_SAVE,
01498 "Save winner-take-all membrane potential values",
01499 "save-wta", '\0', "", "false" };
01500
01501
01502 const ModelOptionDef OPT_WTAuseSacSuppress =
01503 { MODOPT_FLAG, "WTAuseSacSuppress", &MOC_WTA, OPTEXP_CORE,
01504 "Use saccadic suppression in the winner-take-all",
01505 "wta-sacsupp", '\0', "", "true" };
01506
01507
01508 const ModelOptionDef OPT_WTAuseBlinkSuppress =
01509 { MODOPT_FLAG, "WTAuseBlinkSuppress", &MOC_WTA, OPTEXP_CORE,
01510 "Use blink suppression in the winner-take-all",
01511 "wta-blinksupp", '\0', "", "true" };
01512
01513
01514 const ModelOptionDef OPT_WinnerTakeAllGreedyThreshFac =
01515 { MODOPT_ARG(float), "WinnerTakeAllGreedyThreshFac", &MOC_WTA, OPTEXP_CORE,
01516 "Threshold, as a factor of the max, over which possible local "
01517 "maxima will be considered",
01518 "wta-greedyfac", '\0', "<0.0 .. 1.0>", "0.5" };
01519
01520
01521
01522 const ModelOptionCateg MOC_SAC = {
01523 MOC_SORTPRI_3, "Eye/Head Saccade Controller Options" };
01524
01525
01526 const ModelOptionDef OPT_SCeyeInitialPosition =
01527 { MODOPT_ARG(Point2D<int>), "SCeyeInitialPosition", &MOC_SAC, OPTEXP_CORE,
01528 "Initial eye position, or (-1,-1) to start as undefined until the first "
01529 "shift of attention, or (-2,-2) to start at the center of the image",
01530 "initial-eyepos", '\0', "<x,y>", "-1,-1" };
01531
01532
01533 const ModelOptionDef OPT_SCheadInitialPosition =
01534 { MODOPT_ARG(Point2D<int>), "SCheadInitialPosition", &MOC_SAC, OPTEXP_CORE,
01535 "Initial head position, or (-1,-1) to start as undefined until the first "
01536 "shift of attention, or (-2,-2) to start at the center of the image",
01537 "initial-headpos", '\0', "<x,y>", "-1,-1" };
01538
01539
01540 const ModelOptionDef OPT_SCeyeMinSacLen =
01541 { MODOPT_ARG(float), "SCeyeMinSacLen", &MOC_SAC, OPTEXP_CORE,
01542 "Minimum eye movement distance for a saccade (in pixels)",
01543 "eye-minsac", '\0', "<float>", "10.0" };
01544
01545
01546 const ModelOptionDef OPT_SCheadMinSacLen =
01547 { MODOPT_ARG(float), "SCheadMinSacLen", &MOC_SAC, OPTEXP_CORE,
01548 "Minimum head movement distance for a saccade (in pixels)",
01549 "head-minsac", '\0', "<float>", "10.0" };
01550
01551
01552 const ModelOptionDef OPT_SCeyeSpringK =
01553 { MODOPT_ARG(double), "SCeyeSpringK", &MOC_SAC, OPTEXP_CORE,
01554 "Eye spring stiffness to use in mass/spring simulations",
01555 "eye-spring-k", '\0', "<float>", "50000.0" };
01556
01557
01558 const ModelOptionDef OPT_SCeyeFrictionMu =
01559 { MODOPT_ARG(double), "SCeyeFrictionMu", &MOC_SAC, OPTEXP_CORE,
01560 "Eye friction coefficient to use in mass/spring simulations",
01561 "eye-friction-mu", '\0', "<float>", "500.0" };
01562
01563
01564 const ModelOptionDef OPT_SCeyeThreshMinOvert =
01565 { MODOPT_ARG(float), "SCeyeThreshMinOvert", &MOC_SAC, OPTEXP_CORE,
01566 "Minimum overt distance for a saccade (as factor of fovea radius)",
01567 "eye-minovert-fac", '\0', "<float>", "2.0" };
01568
01569
01570 const ModelOptionDef OPT_SCeyeThreshMaxCovert =
01571 { MODOPT_ARG(float), "SCeyeThreshMaxCovert", &MOC_SAC, OPTEXP_CORE,
01572 "Maximum covert distance for a saccade (as factor of fovea radius)",
01573 "eye-maxcovert-fac", '\0', "<float>", "1.5" };
01574
01575
01576 const ModelOptionDef OPT_SCeyeThreshMinNum =
01577 { MODOPT_ARG(int), "SCeyeThreshMinNum", &MOC_SAC, OPTEXP_CORE,
01578 "Minimum required number of covert shifts within max covert distance",
01579 "eye-mincovertnum", '\0', "<int>", "4" };
01580
01581
01582 const ModelOptionDef OPT_SCeyeThreshSalWeigh =
01583 { MODOPT_FLAG, "SCeyeThreshSalWeigh", &MOC_SAC, OPTEXP_CORE,
01584 "Weight covert positions by saliency when computing average distance",
01585 "eye-saliencyweight", '\0', "<true|false>", "true" };
01586
01587
01588 const ModelOptionDef OPT_SCeyeMaxIdleSecs =
01589 { MODOPT_ARG(SimTime), "SCeyeMaxIdleSecs", &MOC_SAC, OPTEXP_CORE,
01590 "Maximum idle time (in s) before eyes return to initial eye position",
01591 "eye-maxidle-time", '\0', "<float>", "0.75" };
01592
01593
01594
01595 const ModelOptionDef OPT_SCheadSpringK =
01596 { MODOPT_ARG(double), "SCheadSpringK", &MOC_SAC, OPTEXP_CORE,
01597 "Head spring stiffness to use in mass/spring simulations",
01598 "head-spring-k", '\0', "<float>", "10000.0" };
01599
01600
01601 const ModelOptionDef OPT_SCheadFrictionMu =
01602 { MODOPT_ARG(double), "SCheadFrictionMu", &MOC_SAC, OPTEXP_CORE,
01603 "Head friction coefficient to use in mass/spring simulations",
01604 "head-friction-mu", '\0', "<float>", "5000.0" };
01605
01606
01607 const ModelOptionDef OPT_SCheadThreshMinOvert =
01608 { MODOPT_ARG(float), "SCheadThreshMinOvert", &MOC_SAC, OPTEXP_CORE,
01609 "Minimum overt distance for a head saccade (as factor of fovea radius)",
01610 "head-minovert-fac", '\0', "<float>", "2.0" };
01611
01612
01613 const ModelOptionDef OPT_SCheadThreshMaxCovert =
01614 { MODOPT_ARG(float), "SCheadThreshMaxCovert", &MOC_SAC, OPTEXP_CORE,
01615 "Maximum covert distance for a head saccade (as factor of fovea radius)",
01616 "head-maxcovert-fac", '\0', "<float>", "1.5" };
01617
01618
01619 const ModelOptionDef OPT_SCheadThreshMinNum =
01620 { MODOPT_ARG(int), "SCheadThreshMinNum", &MOC_SAC, OPTEXP_CORE,
01621 "Minimum required number of covert shifts within max covert distance",
01622 "head-mincovertnum", '\0', "<int>", "4" };
01623
01624
01625 const ModelOptionDef OPT_SCheadThreshSalWeigh =
01626 { MODOPT_FLAG, "SCheadThreshSalWeigh", &MOC_SAC, OPTEXP_CORE,
01627 "Weight covert positions by saliency when computing average distance",
01628 "head-saliencyweight", '\0', "<true|false>", "true" };
01629
01630
01631 const ModelOptionDef OPT_SCheadMaxIdleSecs =
01632 { MODOPT_ARG(SimTime), "SCheadMaxIdleSecs", &MOC_SAC, OPTEXP_CORE,
01633 "Maximum idle time (in s) before head return to initial eye position",
01634 "head-maxidle-time", '\0', "<float>", "0.75" };
01635
01636
01637
01638 const ModelOptionDef OPT_SCeyeBlinkWaitTime =
01639 { MODOPT_ARG(SimTime), "SCeyeBlinkWaitTime", &MOC_SAC, OPTEXP_CORE,
01640 "Typical wait time between eye blinks (in s)",
01641 "blink-wait", '\0', "<float>", "1.8" };
01642
01643
01644 const ModelOptionDef OPT_SCeyeBlinkDuration =
01645 { MODOPT_ARG(SimTime), "SCeyeBlinkDuration", &MOC_SAC, OPTEXP_CORE,
01646 "Eye blink duration (in s)",
01647 "blink-duration", '\0', "<float>", "0.190" };
01648
01649
01650 const ModelOptionDef OPT_EHCeyeTrackConfig =
01651 { MODOPT_ARG_STRING, "EHCeyeTrackConfig", &MOC_SAC, OPTEXP_CORE,
01652 "Config string to determine which eye-tracking files to use for "
01653 "comparison with model predictions. This should be a "
01654 "comma-separated list of eyetrace filenames.",
01655 "eyetrack-data", '\0',
01656 "<filename,filename,...>", "" };
01657
01658
01659 const ModelOptionDef OPT_EyeHeadControllerType =
01660 { MODOPT_ARG_STRING, "EyeHeadControllerType", &MOC_SAC, OPTEXP_CORE,
01661 "Eye/Head Controller name (pick a name and then use --help to see "
01662 "options specific to the chosen controller)",
01663 "ehc-type", '\0',
01664 "<None|Simple|EyeTrack|Monkey>", "None" };
01665
01666
01667 const ModelOptionDef OPT_SaccadeControllerEyeType =
01668 { MODOPT_ARG_STRING, "SaccadeControllerEyeType", &MOC_SAC, OPTEXP_CORE,
01669 "Eye Saccade Controller name (pick a name and then use --help to see "
01670 "options specific to the chosen controller)",
01671 "esc-type", '\0',
01672 "<None|Trivial|Fixed|Friction|Threshold|Threshfric>", "None" };
01673
01674
01675 const ModelOptionDef OPT_SaccadeControllerHeadType =
01676 { MODOPT_ARG_STRING, "SaccadeControllerHeadType", &MOC_SAC, OPTEXP_CORE,
01677 "Head Saccade Controller name (pick a name and then use --help to see "
01678 "options specific to the chosen controller)",
01679 "hsc-type", '\0',
01680 "<None|Trivial|Fixed|Friction|Threshold|Threshfric>", "None" };
01681
01682
01683
01684 const ModelOptionCateg MOC_HAND = {
01685 MOC_SORTPRI_3, "Hand Controller Options" };
01686
01687
01688 const ModelOptionDef OPT_HandControllerType =
01689 { MODOPT_ARG_STRING, "HandControllerType", &MOC_HAND, OPTEXP_CORE,
01690 "Hand Controller name (pick a name and then use --help to see "
01691 "options specific to the chosen controller)",
01692 "hand-type", '\0',
01693 "<None|HandTrack>", "None" };
01694
01695
01696 const ModelOptionDef OPT_HandConfig =
01697 { MODOPT_ARG_STRING, "HandConfig", &MOC_HAND, OPTEXP_CORE,
01698 "Config string to determine which hand-tracking files to use for "
01699 "comparison with model predictions. This should be a "
01700 "comma-separated list of handtrace filenames.",
01701 "handtrack-data", '\0',
01702 "<filename,filename,...>", "" };
01703
01704
01705
01706
01707
01708 const ModelOptionCateg MOC_GE = {
01709 MOC_SORTPRI_3, "Gist Estimator Options" };
01710
01711
01712 const ModelOptionDef OPT_GistEstimatorType =
01713 { MODOPT_ARG_STRING, "GistEstimatorType", &MOC_GE, OPTEXP_CORE,
01714 "Type of gist estimator to use",
01715 "ge-type", '\0',
01716 "<None|Std|FFT|Texton|CB|BBoF|SurfPMK|Gen>", "None" };
01717
01718
01719 const ModelOptionDef OPT_GistCenterSurroundFlag =
01720 { MODOPT_ARG(int), "GistEstimatorCenterSurroundFlag", &MOC_GE, OPTEXP_CORE,
01721 "use center surround to compute the gist or not"
01722 "0: no center-surround, 1: only use center-surround"
01723 "2: use both center-surround and non center-surround",
01724 "gist-cs", '\0',"<0|1|2>", "1" };
01725
01726
01727 const ModelOptionDef OPT_SaveGistFlag =
01728 { MODOPT_FLAG, "SaveGistFlag", &MOC_GE, OPTEXP_CORE,
01729 "save the gist to disk or not",
01730 "save-gist", '\0',"", "false" };
01731
01732
01733
01734
01735
01736 const ModelOptionCateg MOC_VB = {
01737 MOC_SORTPRI_3, "Visual Buffer Related Options" };
01738
01739
01740 const ModelOptionDef OPT_VisualBufferType =
01741 { MODOPT_ARG_STRING, "VisualBufferType", &MOC_VB, OPTEXP_CORE,
01742 "Type of Visual Buffer top use. 'Stub' does nothing, and 'Std' is a "
01743 "world-centered cumulative buffer that can be updated either "
01744 "continually or at every attention shift and can make prediuctions "
01745 "about next saccade target in world coordinates.",
01746 "vb-type", '\0', "<Stub|Std>", "Stub" };
01747
01748
01749 const ModelOptionDef OPT_VBignoreBoring =
01750 { MODOPT_FLAG, "VBignoreBoring", &MOC_VB, OPTEXP_CORE,
01751 "Ignore boring shifts of attention if true",
01752 "vb-ignore-boring", '\0', "", "true" };
01753
01754
01755 const ModelOptionDef OPT_VBobjectBased =
01756 { MODOPT_FLAG, "VBobjectBased", &MOC_VB, OPTEXP_CORE,
01757 "Use object-based saliency imprinting if true",
01758 "vb-object-based", '\0', "", "true" };
01759
01760
01761 const ModelOptionDef OPT_VBdims =
01762 { MODOPT_ARG(Dims), "VBdims", &MOC_VB, OPTEXP_CORE,
01763 "Use given dims for visual buffer (at saliency map scale), or use same "
01764 "dims as the saliency map if set to (0, 0)",
01765 "vb-dims", '\0', "<w>x<h>", "0x0" };
01766
01767
01768 const ModelOptionDef OPT_VBtimePeriod =
01769 { MODOPT_ARG(SimTime), "VBtimePeriod", &MOC_VB, OPTEXP_CORE,
01770 "Apply internal competitive interactions within the buffer at "
01771 "intervals given by this parameter (in s).",
01772 "vb-period", '\0', "<double>", "0.05" };
01773
01774
01775 const ModelOptionDef OPT_VBdecayFactor =
01776 { MODOPT_ARG(float), "VBdecayFactor", &MOC_VB, OPTEXP_CORE,
01777 "Multiply buffer by <factor> at each time period, if not 1.0",
01778 "vb-decay", '\0', "<factor>", "1.0" };
01779
01780
01781 const ModelOptionDef OPT_VBmaxNormType =
01782 { MODOPT_ARG(MaxNormType), "VBmaxNormType", &MOC_VB, OPTEXP_CORE,
01783 "Type of MaxNormalization to use",
01784 "vb-maxnorm-type", '\0', "<see --maxnorm-type>", "Fancy" };
01785
01786
01787
01788 const ModelOptionDef OPT_PixelsPerDegree =
01789 { MODOPT_ARG(PixPerDeg), "PixelsPerDegree", &MOC_BRAIN, OPTEXP_CORE,
01790 "Pixels per degree of visual angle in the horizontal direction and vertical direction"
01791 "if only one value is desired set the second to 0.0 (default).",
01792 "pixperdeg", '\0', "<float,float>", "5.333333333,0.0" };
01793
01794
01795 const ModelOptionDef OPT_HeadMarkerRadius =
01796 { MODOPT_ARG(int), "HeadMarkerRadius", &MOC_BRAIN, OPTEXP_CORE,
01797 "Radius of the head position marker",
01798 "head-radius", '\0', "<pixels>", "50" };
01799
01800
01801 const ModelOptionDef OPT_MultiRetinaDepth =
01802 { MODOPT_ARG(int), "MultiRetinaDepth", &MOC_BRAIN, OPTEXP_CORE,
01803 "Depth of pyramid used for foveation",
01804 "multiretina-depth", '\0', "<int>", "5" };
01805
01806
01807
01808
01809
01810
01811
01812 const ModelOptionDef OPT_ALIASinitialVCO =
01813 { MODOPT_ALIAS, "ALIASinitialVCO", &MOC_ALIAS, OPTEXP_CORE,
01814 "Just save the initial saliency map (i.e., output from the VisualCortex) "
01815 "before any shift of attention, and exit. The floating-point map will "
01816 "be saved in our proprietary PFM image format and with prefix 'VCO', "
01817 "which is harder to visualize but good for comparisons across images "
01818 "as it contains absolute saliency values. See saliency/matlab/"
01819 "pfmreadmatlab.m for a simple function to read a PFM image into Matlab. "
01820 "Note that the values in the map are typically very small, as they "
01821 "are in Amperes of synaptic current flowing into the integrate-and-fire "
01822 "neurons of the dynamic saliency map. Typical values are in the nA "
01823 "range (1.0e-9 Amps). You can also use saliency/bin/pfmtopgm to convert "
01824 "the map to a PGM image.",
01825 "just-initial-saliency-map", '\0', "",
01826 "--nouse-fpe --nouse-random --save-vcx-output --out=raster: "
01827 "--out=pfm: --too-much-time=0.1ms --output-frames=0-0@0.1ms " };
01828
01829
01830 const ModelOptionDef OPT_ALIAStop5 =
01831 { MODOPT_ALIAS, "ALIAStop5", &MOC_ALIAS, OPTEXP_CORE,
01832 "Compute the saliency map and save the first five attended locations. "
01833 "This will save five images, T000000.pnm to T000004.pnm which show the "
01834 "trajectory taken by the first five shifts of the focus of attention, "
01835 "as well as a text file 'top5.txt' with the coordinates of the attended "
01836 "locations as well as other information.",
01837 "top5", '\0', "",
01838 "--nouse-fpe --nouse-random -T --textlog=top5.txt --too-many-shifts=5 "
01839 "--output-frames=0-4@EVENT --out=raster: -+" };
01840
01841
01842 const ModelOptionDef OPT_ALIASmovie =
01843 { MODOPT_ALIAS, "ALIASmovie", &MOC_ALIAS, OPTEXP_CORE,
01844 "Process in movie (multiframe) mode",
01845 "movie", '\0', "",
01846 "--nodisplay-traj --nodisplay-additive --nouse-fpe "
01847 "--display-map-factor=50000 --display-map=AGM "
01848 "--nouse-random --nodisplay-foa --display-patch" };
01849
01850
01851 const ModelOptionDef OPT_ALIASmovieFast =
01852 { MODOPT_ALIAS, "ALIASmovieFast", &MOC_ALIAS, OPTEXP_CORE,
01853 "Process in movie (multiframe) mode, making some approximations in the "
01854 "computations to make processing fast albeit slightly different from the "
01855 "gold standard. You still need to provide:\n"
01856 " --in=<movie> input movie\n"
01857 " --out=display or any other output\n"
01858 " -j <n> for the number of parallel threads (default 4)\n"
01859 " -T or similar option (like -X, -Y, -K) for what to display.",
01860 "moviefast", '\0', "",
01861 "--movie --display-foa --sm-type=Fast --wta-type=Fast --nodisplay-interp-maps "
01862 "--ior-type=None --vc-type=Thread:Std --vc-chans=CIOFM -j 4 --timestep=30ms --maxnorm-type=FancyWeak "
01863 "--input-frames=0-MAX@30ms --output-frames=0-MAX@30ms --logverb=Error" };
01864
01865
01866 const ModelOptionDef OPT_ALIASmoviefov =
01867 { MODOPT_ALIAS, "ALIASmoviefov", &MOC_ALIAS, OPTEXP_CORE,
01868 "Process in foveated movie (multiframe) mode with a ThreshFric "
01869 "SaccadeController",
01870 "moviefov", '\0', "",
01871 "--movie --foveate-input-depth=6 --ehc-type=Simple "
01872 "--esc-type=Threshfric --ior-type=None --trm-type=KillStatic" };
01873
01874
01875 const ModelOptionDef OPT_ALIASmovieeyehead =
01876 { MODOPT_ALIAS, "ALIASmovieeyehead", &MOC_ALIAS, OPTEXP_CORE,
01877 "Process in foveated movie (multiframe) mode with a Monkey2 "
01878 "Eye/Head SaccadeController and displays of head position",
01879 "movieeyehead", '\0', "",
01880 "--moviefov --sc-type=Monkey2 --display-head" };
01881
01882
01883 const ModelOptionDef OPT_ALIASmovieanim =
01884 { MODOPT_ALIAS, "ALIASmovieanim", &MOC_ALIAS, OPTEXP_CORE,
01885 "Process in foveated movie (multiframe) mode with a human-derived "
01886 "ModelW Eye/Head SaccadeController, a WinnerTakeAllGreedy, no IOR, "
01887 "and displays of head position",
01888 "movieanim", '\0', "",
01889 "--movie --foveate-input-depth=4 --sc-type=ModelW "
01890 "--ior-type=None --display-head --shape-estim-mode=None "
01891 "--wta-type=Greedy --initial-eyepos=-2,-2 --initial-headpos=-2,-2" };
01892
01893
01894 const ModelOptionDef OPT_ALIASsurprise =
01895 { MODOPT_ALIAS, "ALIASsurprise", &MOC_ALIAS, OPTEXP_CORE,
01896 "Use standard surprise mode",
01897 "surprise", '\0', "",
01898 "--vc-type=Surp --vc-chans=CFIOM --maxnorm-type=Surprise "
01899 "--gabor-intens=20.0 --direction-sqrt "
01900 "--display-map=VCO --display-map-factor=1e11 "
01901 "--vcx-outfac=5.0e-9" };
01902
01903
01904
01905
01906
01907
01908
01909
01910 const ModelOptionDef OPT_ALIASsurpriseRSVP =
01911 { MODOPT_ALIAS, "ALIASsurpriseRSVP", &MOC_ALIAS, OPTEXP_CORE,
01912 "Use RSVP optimized surprise mode",
01913 "surpriseRSVP", '\0', "",
01914 "--vc-type=Surp --vc-chans=I:0.312778365O:1.566049997H:0.877309234 --maxnorm-type=Surprise "
01915 "--gabor-intens=20.0 --direction-sqrt "
01916 "--display-map=VCO --display-map-factor=1e11 "
01917 "--vcx-outfac=5.0e-9"
01918 "--ior-type=None --nouse-random --display-foa"
01919 "--sm-type=Trivial --wta-type=None"
01920 "--salmap-factor=1e12 --agm-factor=1e12" };
01921
01922 const ModelOptionDef OPT_ALIASeyeCompare =
01923 { MODOPT_ALIAS, "ALIASeyeCompare", &MOC_ALIAS, OPTEXP_CORE,
01924 "Use standard mode for comparison between the model's output and "
01925 "a human or monkey (or other) eye movement trace. Do not forget to set "
01926 "at least the following depending on your specific experiment and data:\n"
01927 " --foa-radius=<radius> depending on size of display;\n"
01928 " --eyetrack-data=<file, ...> your .eyeS eye movement record file(s);\n"
01929 " --svem-out-fname=<file> where the results will be saved;\n"
01930 " --svem-prior-distro=<file> for non-uniform random sampling. \n"
01931 "And very carefully check for other settings as well",
01932 "eyecompare", '\0', "",
01933 "--sv-type=EyeMvt --save-eyemvt-megacombo "
01934 "--wta-type=Std --ior-type=None --shape-estim-mode=None "
01935 "--maxcache-size=0 --nowta-sacsupp --nowta-blinksupp "
01936 "--nosalmap-sacsupp --nosalmap-blinksupp" };
01937
01938
01939 const ModelOptionDef OPT_ALIASeyeDisplay =
01940 { MODOPT_ALIAS, "ALIASeyeDisplay", &MOC_ALIAS, OPTEXP_CORE,
01941 "Display one or more eye-tracking traces on top of a movie. This should "
01942 "be used with the following options:\n"
01943 " --foa-radius=<radius> depending on size of display;\n"
01944 " --eyetrack-data=<file, ...> your .eyeS eye movement record file(s);\n"
01945 "And very carefully check for other settings as well",
01946 "eyedisplay", '\0', "",
01947 "--sv-type=EyeMvt -T --vc-type=None --sm-type=None --trm-type=None "
01948 "--wta-type=None --shape-estim-mode=None --fovea-radius=32 "
01949 "--maxcache-size=0 --delaycache-size=0" };
01950
01951
01952 const ModelOptionDef OPT_ALIASeyeMap =
01953 { MODOPT_ALIAS, "ALIASeyeMap", &MOC_ALIAS, OPTEXP_CORE,
01954 "Build a cumulative eye movement density map from one or more eye "
01955 "movement traces. This is useful if you have one or more observers that "
01956 "saw a same stimulus and you want to build a spatial probability density "
01957 "function from the eye traces. The resulting eye map can be compared, "
01958 "for example, with saliency maps or can be sampled in specific target "
01959 "regions. This should be used used with the following options:\n"
01960
01961 " --in=<image> input image, for dims only;\n"
01962 " --vcem-eyefnames=<file, ...> your .eyeS eye movement record file(s);\n"
01963 " --output-frames=0-0@XXms set XX to the time when to save;\n"
01964 "And very carefully check for other settings as well",
01965 "eyemap", '\0', "",
01966 "--nouse-fpe --nouse-random --save-vcx-output --out=raster: -+ "
01967 "--vc-type=EyeMvt --sm-type=None --trm-type=None --wta-type=None "
01968 "--shape-estim-mode=None --sv-type=None --vcem-forgetfac=1.0 "
01969 "--vcem-delay=0 --vcem-sigma=0 --vcem-saconly=true --vcem-usemax=true "
01970 "--output-format=PFM" };
01971
01972 const ModelOptionDef OPT_ALIASeyeHandDisplay =
01973 { MODOPT_ALIAS, "ALIASeyeHandDisplay", &MOC_ALIAS, OPTEXP_CORE,
01974 "Display one or more eye-tracking and hand movement traces on top of "
01975 "a movie. This should be used with the following options:\n"
01976 " --foa-radius=<radius> depending on size of display;\n"
01977 " --eyetrack-data=<file, ...> your .eyeS eye movement record file(s);\n"
01978 " --handtrack-data=<file, ...> your .hanD hand movement record file(s);\n"
01979 "And very carefully check for other settings as well",
01980 "eyehand-display", '\0', "",
01981 "--sv-type=EyeHand -T --vc-type=None --sm-type=None --trm-type=None "
01982 "--wta-type=None --shape-estim-mode=None --fovea-radius=32 "
01983 "--maxcache-size=0 --delaycache-size=0" };
01984
01985
01986 const ModelOptionDef OPT_ALIASbestMultiSpectralResidual =
01987 { MODOPT_ALIAS, "ALIASbestMultiSpectralResidual", &MOC_CHANNEL, OPTEXP_CORE,
01988 "Use a tuned multi-spectral residual model",
01989 "best-multi-srs", '\0', "",
01990 "--vc-type=MultiSpectralResidual --maxnorm-type=Ignore "
01991 "--noenable-pyramid-caches --multi-srs-sizes=/16,/8,/4,/2 "
01992 "--srs-output-blur-factor=0.055 --srs-spectral-blur=1 "
01993 "--srs-attenuation-width=0.0625 --map-combine-type=Max "
01994 "--srs-lowpass-filter-width=2 " };
01995
01996 const ModelOptionDef OPT_ALIASoptiGainTrain =
01997 { MODOPT_ALIAS, "ALIASoptiGainTrain", &MOC_ALIAS, OPTEXP_CORE,
01998 "Extract salience information to train the optimal gain biasing model of "
01999 "Navalpakkam and Itti (IEEE-CVPR 2006; Neuron 2007). This will "
02000 "essentially select multi-band features and setup the training process. "
02001 "You will then also need to provide:\n"
02002 " --in=xmlfile:file.xml input image and region of interest metadata;\n"
02003 " --stsd-filename=file.pmap to save saliency of target/distractors;\n"
02004 "The resulting sT/sD pmap files can be combined together using "
02005 "app-combineOptimalGains to yield a gains file that can be used with "
02006 "the --guided-search option",
02007 "train-optigains", '\0', "",
02008 "--vc-type=Std --vc-chans=GNO --nouse-older-version --out=display --pfc-type=OG "
02009 "--num-colorband=6 --num-satband=6 --num-intensityband=6 --num-orient=8"
02010 };
02011
02012 const ModelOptionDef OPT_ALIASoptiGainBias =
02013 { MODOPT_ALIAS, "ALIASoptiGainBias", &MOC_ALIAS, OPTEXP_CORE,
02014 "Use a set of gains to bias salience computation in a manner similar "
02015 "to Jeremy Wolfe's Guided Search (Wolfe, 1994). The gains are read "
02016 "from a ParamMap file which can be obtained, for example, by using "
02017 "--train-optigains. You will need to set the following:\n"
02018 " --in=image.png input image to process;\n"
02019 " --gains-filename=file.pmap file to load the gains from",
02020 "guided-search", '\0', "",
02021 "--vc-type=Std --vc-chans=GNO --nouse-older-version -K --out=display --pfc-type=GS "
02022 "--num-colorband=6 --num-satband=6 --num-intensityband=6 --num-orient=8"
02023 };
02024
02025 const ModelOptionDef OPT_ALIASkinectDemo =
02026 { MODOPT_ALIAS, "ALIASkinectDemo", &MOC_ALIAS, OPTEXP_CORE,
02027 "Demonstrate the Kinect sensor by computing saliency over a combination of RGB and Depth images.",
02028 "kinect-demo", '\0', "",
02029 "-K --in=kinect --out=display --maxnorm-type=Maxnorm --retina-type=Stub --nodisplay-interp-maps "
02030 "--ior-type=None --vc-type=Thread:Std -j 6 --vc-chans=YCIOFM"
02031 };
02032
02033 void REQUEST_OPTIONALIAS_NEURO(OptionManager& m)
02034 {
02035 REQUEST_OPTIONALIAS_CHANNEL(m);
02036
02037 m.requestOptionAlias(&OPT_ALIAStop5);
02038 m.requestOptionAlias(&OPT_ALIASinitialVCO);
02039 m.requestOptionAlias(&OPT_ALIASmovie);
02040 m.requestOptionAlias(&OPT_ALIASmovieFast);
02041 m.requestOptionAlias(&OPT_ALIASmoviefov);
02042 m.requestOptionAlias(&OPT_ALIASmovieeyehead);
02043 m.requestOptionAlias(&OPT_ALIASmovieanim);
02044 m.requestOptionAlias(&OPT_ALIASsurprise);
02045 m.requestOptionAlias(&OPT_ALIASsurpriseRSVP);
02046 m.requestOptionAlias(&OPT_ALIASeyeCompare);
02047 m.requestOptionAlias(&OPT_ALIASeyeDisplay);
02048 m.requestOptionAlias(&OPT_ALIASeyeMap);
02049 m.requestOptionAlias(&OPT_ALIASeyeHandDisplay);
02050 m.requestOptionAlias(&OPT_ALIASbestMultiSpectralResidual);
02051 m.requestOptionAlias(&OPT_ALIASoptiGainTrain);
02052 m.requestOptionAlias(&OPT_ALIASoptiGainBias);
02053 m.requestOptionAlias(&OPT_ALIASkinectDemo);
02054 }
02055
02056
02057
02058
02059
02060
02061
02062 #endif // NEURO_NEUROOPTS_C_DEFINED