00001 /*!@file Psycho/StimMakerParam.C make different kind of visual test stimuli 00002 */ 00003 00004 // //////////////////////////////////////////////////////////////////// // 00005 // The iLab Neuromorphic Vision C++ Toolkit - Copyright (C) 2001 by the // 00006 // University of Southern California (USC) and the iLab at USC. // 00007 // See http://iLab.usc.edu for information about this project. // 00008 // //////////////////////////////////////////////////////////////////// // 00009 // Major portions of the iLab Neuromorphic Vision Toolkit are protected // 00010 // under the U.S. patent ``Computation of Intrinsic Perceptual Saliency // 00011 // in Visual Environments, and Applications'' by Christof Koch and // 00012 // Laurent Itti, California Institute of Technology, 2001 (patent // 00013 // pending; application number 09/912,225 filed July 23, 2001; see // 00014 // http://pair.uspto.gov/cgi-bin/final/home.pl for current status). // 00015 // //////////////////////////////////////////////////////////////////// // 00016 // This file is part of the iLab Neuromorphic Vision C++ Toolkit. // 00017 // // 00018 // The iLab Neuromorphic Vision C++ Toolkit is free software; you can // 00019 // redistribute it and/or modify it under the terms of the GNU General // 00020 // Public License as published by the Free Software Foundation; either // 00021 // version 2 of the License, or (at your option) any later version. // 00022 // // 00023 // The iLab Neuromorphic Vision C++ Toolkit is distributed in the hope // 00024 // that it will be useful, but WITHOUT ANY WARRANTY; without even the // 00025 // implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR // 00026 // PURPOSE. See the GNU General Public License for more details. // 00027 // // 00028 // You should have received a copy of the GNU General Public License // 00029 // along with the iLab Neuromorphic Vision C++ Toolkit; if not, write // 00030 // to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, // 00031 // Boston, MA 02111-1307 USA. // 00032 // //////////////////////////////////////////////////////////////////// // 00033 // 00034 // Primary maintainer for this file: T. Nathan Mundhenk <mundhenk@usc.edu> 00035 // $HeadURL: svn://isvn.usc.edu/software/invt/trunk/saliency/src/Psycho/StimMakerParam.C $ 00036 // $Id: StimMakerParam.C 6262 2006-02-17 22:40:07Z rjpeters $ 00037 // 00038 00039 #ifndef STIM_MAKER_PARAM_C_DEFINED 00040 #define STIM_MAKER_PARAM_C_DEFINED 00041 00042 #include "Psycho/StimMakerParam.H" 00043 00044 /*****************************************************************************/ 00045 00046 StimMakerParam::StimMakerParam() 00047 {} 00048 00049 /*****************************************************************************/ 00050 00051 StimMakerParam::~StimMakerParam() 00052 {} 00053 00054 /*****************************************************************************/ 00055 00056 void StimMakerParam::setDemoParams1() 00057 { 00058 SMP_distOn = true; 00059 SMP_targetOn = true; 00060 SMP_distSizeX = 50; 00061 SMP_distSizeY = 50; 00062 SMP_distColor = SM_COLOR_RED; 00063 SMP_distShape = SM_STIM_DISK; 00064 SMP_distRate = SM_SLOW_STIM; 00065 SMP_distState = SM_STATE_STEADY; 00066 SMP_targetSizeX = 50; 00067 SMP_targetSizeY = 50; 00068 SMP_targetColor = SM_COLOR_RED; 00069 SMP_targetShape = SM_STIM_DISK; 00070 SMP_targetRate = SM_SLOW_STIM; 00071 SMP_targetState = SM_STATE_START; 00072 SMP_useRandomStart = SM_NO_USE_RANDOM_START; 00073 SMP_useSmoothRateChange = SM_NO_USE_SMOOTH_RATE_CHANGE; 00074 SMP_targetPosI = 3; 00075 SMP_targetPosJ = 3; 00076 SMP_distPerRow = 6; 00077 SMP_distPerCol = 6; 00078 SMP_distOri = 0.0F; 00079 SMP_targetOri = 0.0F; 00080 SMP_shapePositionJitter = 0.0F; 00081 SMP_shapeOrientationJitter = 0.0F; 00082 SMP_shapePositionJitterStatic = 0.4F; 00083 SMP_shapeOrientationJitterStatic = 0.0F; 00084 SMP_randomSeed = 100; 00085 SMP_useHexagon = SM_NO_USE_HEXAGON; 00086 } 00087 00088 /*****************************************************************************/ 00089 00090 void StimMakerParam::setDemoParams2() 00091 { 00092 SMP_distOn = true; 00093 SMP_targetOn = true; 00094 SMP_distSizeX = 50; 00095 SMP_distSizeY = 50; 00096 SMP_distColor = SM_COLOR_RAND; 00097 SMP_distShape = SM_STIM_DISK; 00098 SMP_distRate = SM_NSPD_STIM; 00099 SMP_distState = SM_STATE_START; 00100 SMP_targetSizeX = 50; 00101 SMP_targetSizeY = 50; 00102 SMP_targetColor = SM_COLOR_RAND; 00103 SMP_targetShape = SM_STIM_DISK; 00104 SMP_targetRate = SM_SLOW_STIM; 00105 SMP_targetState = SM_STATE_STEADY; 00106 SMP_useRandomStart = SM_NO_USE_RANDOM_START; 00107 SMP_useSmoothRateChange = SM_NO_USE_SMOOTH_RATE_CHANGE; 00108 SMP_targetPosI = 3; 00109 SMP_targetPosJ = 3; 00110 SMP_distPerRow = 6; 00111 SMP_distPerCol = 6; 00112 SMP_distOri = 0.0F; 00113 SMP_targetOri = 0.0F; 00114 SMP_shapePositionJitter = 0.2F; 00115 SMP_shapeOrientationJitter = 0.0F; 00116 SMP_shapePositionJitterStatic = 0.0F; 00117 SMP_shapeOrientationJitterStatic = 0.0F; 00118 SMP_randomSeed = 200; 00119 SMP_useHexagon = SM_NO_USE_HEXAGON; 00120 } 00121 00122 /*****************************************************************************/ 00123 00124 void StimMakerParam::setDemoParams3() 00125 { 00126 SMP_distOn = true; 00127 SMP_targetOn = true; 00128 SMP_distSizeX = 50; 00129 SMP_distSizeY = 50; 00130 SMP_distColor = SM_COLOR_RAND; 00131 SMP_distShape = SM_STIM_RAND; 00132 SMP_distRate = SM_NSPD_STIM; 00133 SMP_distState = SM_STATE_START; 00134 SMP_targetSizeX = 50; 00135 SMP_targetSizeY = 50; 00136 SMP_targetColor = SM_COLOR_RAND; 00137 SMP_targetShape = SM_STIM_RAND; 00138 SMP_targetRate = SM_NSPD_STIM; 00139 SMP_targetState = SM_STATE_STEADY; 00140 SMP_useRandomStart = SM_NO_USE_RANDOM_START; 00141 SMP_useSmoothRateChange = SM_NO_USE_SMOOTH_RATE_CHANGE; 00142 SMP_targetPosI = 3; 00143 SMP_targetPosJ = 3; 00144 SMP_distPerRow = 6; 00145 SMP_distPerCol = 6; 00146 SMP_distOri = M_PI/3.0F; 00147 SMP_targetOri = -M_PI/4.0F; 00148 SMP_shapePositionJitter = 0.0F; 00149 SMP_shapeOrientationJitter = 0.0F; 00150 SMP_shapePositionJitterStatic = 0.0F; 00151 SMP_shapeOrientationJitterStatic = 0.1F; 00152 SMP_randomSeed = 300; 00153 SMP_useHexagon = SM_NO_USE_HEXAGON; 00154 } 00155 00156 /*****************************************************************************/ 00157 00158 void StimMakerParam::setDemoParams4() 00159 { 00160 SMP_distOn = true; 00161 SMP_targetOn = true; 00162 SMP_distSizeX = 16; 00163 SMP_distSizeY = 16; 00164 SMP_distColor = SM_COLOR_RED; 00165 SMP_distShape = SM_STIM_RECT; 00166 SMP_distRate = SM_FAST_STIM; 00167 SMP_distState = SM_STATE_STEADY; 00168 SMP_targetSizeX = 16; 00169 SMP_targetSizeY = 16; 00170 SMP_targetColor = SM_COLOR_BLUE; 00171 SMP_targetShape = SM_STIM_RECT; 00172 SMP_targetRate = SM_NSPD_STIM; 00173 SMP_targetState = SM_STATE_STEADY; 00174 SMP_useRandomStart = SM_NO_USE_RANDOM_START; 00175 SMP_useSmoothRateChange = SM_NO_USE_SMOOTH_RATE_CHANGE; 00176 SMP_targetPosI = 9; 00177 SMP_targetPosJ = 9; 00178 SMP_distPerRow = 18; 00179 SMP_distPerCol = 18; 00180 SMP_distOri = M_PI/3.0F; 00181 SMP_targetOri = -M_PI/4.0F; 00182 SMP_shapePositionJitter = 0.2F; 00183 SMP_shapeOrientationJitter = 0.2F; 00184 SMP_shapePositionJitterStatic = 0.2F; 00185 SMP_shapeOrientationJitterStatic = 0.2F; 00186 SMP_randomSeed = 100; 00187 SMP_useHexagon = SM_USE_HEXAGON; 00188 } 00189 00190 /*****************************************************************************/ 00191 00192 void StimMakerParam::setBasicParams1() 00193 { 00194 SMP_distOn = true; 00195 SMP_targetOn = true; 00196 SMP_distSizeX = 16; 00197 SMP_distSizeY = 16; 00198 SMP_targetSizeX = 16; 00199 SMP_targetSizeY = 16; 00200 SMP_useRandomStart = SM_NO_USE_RANDOM_START; 00201 SMP_useSmoothRateChange = SM_NO_USE_SMOOTH_RATE_CHANGE; 00202 SMP_targetPosI = 5; 00203 SMP_targetPosJ = 5; 00204 SMP_distPerRow = 9; 00205 SMP_distPerCol = 9; 00206 SMP_randomSeed = 100; 00207 SMP_useHexagon = SM_USE_HEXAGON; 00208 } 00209 #endif