📄 guisaliency.html
字号:
0103 params = <a href="defaultSaliencyParams.html" class="code" title="function params = defaultSaliencyParams(varargin)">defaultSaliencyParams</a>(img.size);0104 <span class="keyword">end</span>0105 <span class="keyword">end</span>0106 0107 <span class="comment">% some more initializations</span>0108 <a href="#_sub3" class="code" title="subfunction setState(h,newState)">setState</a>(handles);0109 <a href="#_sub4" class="code" title="subfunction checkColorParams(handles)">checkColorParams</a>(handles);0110 <a href="#_sub5" class="code" title="subfunction fillParams(handles)">fillParams</a>(handles);0111 <a href="#_sub38" class="code" title="subfunction initializeVisFigures(handles)">initializeVisFigures</a>(handles);0112 <a href="#_sub43" class="code" title="subfunction updateImg(handles)">updateImg</a>(handles);0113 <a href="#_sub48" class="code" title="subfunction updateLocImg(handles)">updateLocImg</a>(handles);0114 <a href="debugMsg.html" class="code" title="function debugMsg(message,varargin)">debugMsg</a>(sprintf(<span class="string">'%s initialized in state: %s.'</span>,mfilename,state));0115 0116 <span class="comment">% this waits until the "Quit" button is pressed</span>0117 uiwait(handles.figure1);0118 0119 <span class="comment">% clean up</span>0120 <a href="#_sub39" class="code" title="subfunction cleanupVisFigures(handles)">cleanupVisFigures</a>(handles);0121 eval([<span class="string">'clear '</span> globalVars <span class="string">'globalVars'</span>]);0122 <a href="debugMsg.html" class="code" title="function debugMsg(message,varargin)">debugMsg</a>(<span class="string">'Global variables cleared - bye.'</span>);0123 0124 <span class="keyword">try</span>0125 delete(handles.figure1);0126 <span class="keyword">catch</span>0127 <span class="comment">% nothing to do</span>0128 <span class="keyword">end</span>0129 <span class="comment">% that's it, bye bye.</span>0130 <span class="keyword">return</span>;0131 0132 0133 <span class="comment">%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%</span>0134 <span class="comment">% Outputs from this function are returned to the command line.</span>0135 <a name="_sub2" href="#_subfunctions" class="code">function varargout = guiSaliency_OutputFcn(hObject, eventdata, handles)</a>0136 varargout{1} = hObject;0137 0138 0139 <span class="comment">%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%</span>0140 <span class="comment">% update the GUI according to the current state</span>0141 <a name="_sub3" href="#_subfunctions" class="code">function setState(h,newState)</a>0142 <span class="keyword">global</span> state;0143 <span class="keyword">if</span> (nargin >= 2)0144 state = newState;0145 <span class="keyword">end</span>0146 0147 <a href="debugMsg.html" class="code" title="function debugMsg(message,varargin)">debugMsg</a>([<span class="string">'Setting state: '</span> state]);0148 <span class="keyword">switch</span> state0149 <span class="keyword">case</span> <span class="string">'NoImage'</span>0150 set(h.figure1,<span class="string">'Pointer'</span>,<span class="string">'arrow'</span>);0151 <a href="#_sub10" class="code" title="subfunction setEnable(value,hs)">setEnable</a>(0,[h.Restart,h.NextLoc,h.SaveMaps]);0152 set(h.NextLoc,<span class="string">'String'</span>,<span class="string">'Start'</span>);0153 <span class="keyword">case</span> <span class="string">'ImageLoaded'</span>0154 set(h.figure1,<span class="string">'Pointer'</span>,<span class="string">'arrow'</span>);0155 <a href="#_sub10" class="code" title="subfunction setEnable(value,hs)">setEnable</a>(0,[h.Restart,h.SaveMaps]);0156 <a href="#_sub10" class="code" title="subfunction setEnable(value,hs)">setEnable</a>(1,h.NextLoc);0157 set(h.NextLoc,<span class="string">'String'</span>,<span class="string">'Start'</span>);0158 <span class="keyword">case</span> <span class="string">'MapsComputed'</span>0159 set(h.figure1,<span class="string">'Pointer'</span>,<span class="string">'arrow'</span>);0160 <a href="#_sub10" class="code" title="subfunction setEnable(value,hs)">setEnable</a>(1,[h.Restart,h.NextLoc,h.SaveMaps]);0161 set(h.NextLoc,<span class="string">'String'</span>,<span class="string">'Next Location'</span>);0162 <span class="keyword">case</span> <span class="string">'Busy'</span>0163 set(h.figure1,<span class="string">'Pointer'</span>,<span class="string">'watch'</span>);0164 <a href="#_sub10" class="code" title="subfunction setEnable(value,hs)">setEnable</a>(0,[h.Restart,h.NextLoc,h.SaveMaps]);0165 <span class="keyword">otherwise</span>0166 <a href="debugMsg.html" class="code" title="function debugMsg(message,varargin)">debugMsg</a>([<span class="string">'Unknown state:'</span> state]);0167 <span class="keyword">end</span>0168 drawnow;0169 <span class="keyword">return</span>;0170 0171 0172 <span class="comment">%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%</span>0173 <span class="comment">% set color features accoring to image type</span>0174 <a name="_sub4" href="#_subfunctions" class="code">function checkColorParams(handles)</a>0175 <span class="keyword">global</span> params img;0176 <span class="keyword">if</span> ~isempty(img)0177 <span class="keyword">switch</span> img.dims0178 <span class="keyword">case</span> 20179 <span class="comment">% gray-scale image: no color features</span>0180 params = <a href="removeColorFeatures.html" class="code" title="function params = removeColorFeatures(params,fid)">removeColorFeatures</a>(params,0);0181 <a href="#_sub10" class="code" title="subfunction setEnable(value,hs)">setEnable</a>(0,[handles.Color,handles.WeightCol,<span class="keyword">...</span>0182 handles.Skin,handles.WeightSkin]);0183 <a href="debugMsg.html" class="code" title="function debugMsg(message,varargin)">debugMsg</a>(<span class="string">'Gray scale image - removed color features.'</span>);0184 <span class="keyword">case</span> 30185 <span class="comment">% color image</span>0186 <a href="#_sub10" class="code" title="subfunction setEnable(value,hs)">setEnable</a>(1,[handles.Color,handles.Skin]);0187 <a href="#_sub9" class="code" title="subfunction setFeature(hSelect,hWeight)">setFeature</a>(handles.Color,handles.WeightCol);0188 <a href="#_sub9" class="code" title="subfunction setFeature(hSelect,hWeight)">setFeature</a>(handles.Skin,handles.WeightSkin);0189 <span class="keyword">otherwise</span>0190 <a href="debugMsg.html" class="code" title="function debugMsg(message,varargin)">debugMsg</a>(sprintf(<span class="string">'Unknown image format with %d dimensions.'</span>,img.dims));0191 <span class="keyword">end</span>0192 <span class="keyword">end</span>0193 <span class="keyword">return</span>;0194 0195 0196 <span class="comment">%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%</span>0197 <span class="comment">% fill the GUI with the parameters from the global variable params</span>0198 <a name="_sub5" href="#_subfunctions" class="code">function fillParams(handles)</a>0199 <span class="keyword">global</span> params DEBUG_FID;0200 <a href="#_sub9" class="code" title="subfunction setFeature(hSelect,hWeight)">setFeature</a>(handles.Color,handles.WeightCol);0201 <a href="#_sub9" class="code" title="subfunction setFeature(hSelect,hWeight)">setFeature</a>(handles.Intensities,handles.WeightInt);0202 <a href="#_sub9" class="code" title="subfunction setFeature(hSelect,hWeight)">setFeature</a>(handles.Orientations,handles.WeightOri);0203 <a href="#_sub9" class="code" title="subfunction setFeature(hSelect,hWeight)">setFeature</a>(handles.Skin,handles.WeightSkin);0204 <a href="#_sub10" class="code" title="subfunction setEnable(value,hs)">setEnable</a>(get(handles.Orientations,<span class="string">'Value'</span>),[handles.NumOriText,handles.NumOri]);0205 set(handles.NumOri,<span class="string">'String'</span>,num2str(numel(params.oriAngles)));0206 <a href="#_sub26" class="code" title="subfunction setNormType(handles)">setNormType</a>(handles);0207 <a href="#_sub33" class="code" title="subfunction setShapeMode(handles)">setShapeMode</a>(handles);0208 set(handles.ToggleDebug,<span class="string">'Value'</span>,DEBUG_FID);0209 0210 styleStrings = {<span class="string">'Contour'</span>,<span class="string">'ContrastModulate'</span>,<span class="string">'None'</span>};0211 style = strmatch(params.visualizationStyle,styleStrings);0212 <span class="keyword">if</span> isempty(style)0213 style = 3;0214 <span class="keyword">end</span>0215 set(handles.VisStyle,<span class="string">'Value'</span>,style,<span class="string">'UserData'</span>,styleStrings);0216 0217 <span class="keyword">return</span>;0218 0219 0220 <span class="comment">%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%</span>0221 <span class="comment">% check with user that parameters can be changed</span>0222 <a name="_sub6" href="#_subfunctions" class="code">function response = confirmParamsChange(handles)</a>0223 <span class="keyword">global</span> state;0224 <span class="keyword">switch</span> state0225 <span class="keyword">case</span> {<span class="string">'NoImage'</span>,<span class="string">'ImageLoaded'</span>}0226 response = 1;0227 <span class="keyword">case</span> <span class="string">'MapsComputed'</span>0228 button = questdlg({<span class="string">'Changing the parameters now will reset the computation.'</span>,<span class="keyword">...</span>0229 <span class="string">'Would you like to proceed anyway?'</span>},<span class="keyword">...</span>0230 <span class="string">'Change parameters?'</span>,<span class="keyword">...</span>0231 <span class="string">'Yes'</span>,<span class="string">'No'</span>,<span class="string">'Yes'</span>);0232 response = strcmp(button,<span class="string">'Yes'</span>);0233 <span class="keyword">if</span> response0234 <a href="#_sub3" class="code" title="subfunction setState(h,newState)">setState</a>(handles,<span class="string">'ImageLoaded'</span>);0235 fprintf(<span class="string">'---------------------------\n'</span>);0236 <span class="keyword">end</span>0237 <span class="keyword">otherwise</span>0238 <a href="debugMsg.html" class="code" title="function debugMsg(message,varargin)">debugMsg</a>([<span class="string">'Unknown state: '</span> state]);0239 response = 0;0240 <span class="keyword">end</span>0241 0242 0243 <span class="comment">%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%</span>0244 <span class="comment">% Loading an image</span>0245 <a name="_sub7" href="#_subfunctions" class="code">function NewImage_Callback(hObject, eventdata, handles)</a>0246 <a href="declareGlobal.html" class="code" title="">declareGlobal</a>;0247 <span class="keyword">global</span> img params state;0248 prevState = state;0249 <a href="#_sub3" class="code" title="subfunction setState(h,newState)">setState</a>(handles,<span class="string">'Busy'</span>);0250 0251 <span class="keyword">if</span> isempty(img)0252 defName = <span class="string">''</span>;0253 <span class="keyword">else</span>0254 defName = img.filename;0255 <span class="keyword">end</span>0256 0257 err = 1;0258 <span class="keyword">while</span> ~isempty(err)0259 [newName,newPath] = uigetfile(<span class="string">'*.*'</span>,<span class="string">'Select an new image'</span>,defName);0260 <span class="keyword">if</span> (newName == 0)0261 <span class="comment">% User pressed 'cancel' - keep old file</span>0262 <a href="#_sub3" class="code" title="subfunction setState(h,newState)">setState</a>(handles,prevState);0263 <span class="keyword">return</span>;0264 <span class="keyword">end</span>0265
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -