This is a static copy of a profile reportHome
bwfill>ParseInputs (15112 calls, 2.323 sec)
Generated 05-Nov-2014 07:52:50 using cpu time.
subfunction in file /usr1/opt/matlab/7.13/toolbox/images/images/bwfill.m
Copy to new window for comparing multiple runs
Parents (calling functions)
Function Name | Function Type | Calls |
bwfill | function | 15112 |
Lines where the most time was spent
Line Number | Code | Calls | Total Time | % Time | Time Plot |
334 | badPix = find((r < 1) | (r ... | 15112 | 0.250 s | 10.8% |  |
182 | switch nargin | 15112 | 0.160 s | 6.9% |  |
336 | if (~isempty(badPix)) | 15112 | 0.130 s | 5.6% |  |
330 | if ~islogical(I) | 15112 | 0.120 s | 5.2% |  |
297 | r = round(yi); | 7556 | 0.100 s | 4.3% |  |
All other lines | | | 1.562 s | 67.2% |  |
Totals | | | 2.323 s | 100% | |
Children (called functions)
No childrenCode Analyzer results
No Code Analyzer messages.Coverage results
[ Show coverage for parent directory ]
Total lines in function | 171 |
Non-code lines (comments, blank lines) | 50 |
Code lines (lines that can run) | 121 |
Code lines that did run | 31 |
Code lines that did not run | 90 |
Coverage (did run/can run) | 25.62 % |
Function listing
time calls line
170 function [xdata,ydata,I,xi,yi,r,c,style,newFig,fillHoles] = ParseInputs(varargin)
171
0.05 15112 172 style = 8;
0.05 15112 173 xdata = [];
0.06 15112 174 ydata = [];
0.03 15112 175 xi = [];
0.02 15112 176 yi = [];
0.07 15112 177 r = [];
0.03 15112 178 c = [];
0.03 15112 179 newFig = 0;
0.06 15112 180 fillHoles = 0;
181
0.16 15112 182 switch nargin
0.07 15112 183 case 0
184 % BWFILL
185
186 [xdata, ydata, I, flag] = getimage;
187 if (flag == 0)
188 error(message('images:bwfill:noImageFound'))
189 end
190 newFig = 1;
191 [xi,yi] = getpts;
192
193 r = round(axes2pix(size(I,1), ydata, yi));
194 c = round(axes2pix(size(I,2), xdata, xi));
195
0.08 15112 196 case 1
197 if ((numel(varargin{1}) == 1) && ...
198 ((varargin{1} == 4) || (varargin{1} == 8)))
199 % BWFILL(N)
200
201 style = varargin{1};
202 [xdata, ydata, I, flag] = getimage;
203 if (flag == 0)
204 error(message('images:bwfill:noImageFound'))
205 end
206
207 else
208 % BWFILL(BW)
209
210 I = varargin{1};
211 xdata = [1 size(I,2)];
212 ydata = [1 size(I,1)];
213 imshow(I,'XData',xdata,'YData',ydata);
214
215 end
216
217 newFig = 1;
218 [xi,yi] = getpts;
219 if (isempty(xi))
220 error(message('images:bwfill:interactiveSelectionAborted'))
221 end
222
223 r = round(axes2pix(size(I,1), ydata, yi));
224 c = round(axes2pix(size(I,2), xdata, xi));
225
0.08 15112 226 case 2
0.09 7556 227 if (ischar(varargin{2}))
0.07 7556 228 if (varargin{2}(1) == 'h')
229 % BWFILL(BW, 'holes')
0.04 7556 230 I = varargin{1};
0.04 7556 231 fillHoles = 1;
0.05 7556 232 style = 8;
233
234 else
235 error(message('images:bwfill:invalidInput'))
236 end
237
238 else
239
240 % BWFILL(BW, N)
241
242 I = varargin{1};
243 style = varargin{2};
244 if ((style ~= 4) && (style ~= 8))
245 error(message('images:bwfill:invalidN'))
246 end
247
248 xdata = [1 size(I,2)];
249 ydata = [1 size(I,1)];
250
251 imshow(I,'XData',xdata, 'YData',ydata);
252 newFig = 1;
253 [xi,yi] = getpts;
254 if (isempty(xi))
255 error(message('images:bwfill:interactiveSelectionAborted'))
256 end
257
258 r = round(axes2pix(size(I,1), ydata, yi));
259 c = round(axes2pix(size(I,2), xdata, xi));
260
261 end
262
0.02 7556 263 case 3
264 if (ischar(varargin{2}))
265 if (varargin{2}(1) == 'h')
266 % BWFILL(BW, 'holes', N)
267 I = varargin{1};
268 style = varargin{3};
269 fillHoles = 1;
270
271 else
272 error(message('images:bwfill:invalidInput'))
273 end
274
275 else
276
277 % BWFILL(BW,Xi,Yi)
278
279 I = varargin{1};
280 xdata = [1 size(I,2)];
281 ydata = [1 size(I,1)];
282 xi = varargin{2};
283 yi = varargin{3};
284 r = round(yi);
285 c = round(xi);
286
287 end
288
0.01 7556 289 case 4
290 % BWFILL(BW,Xi,Yi,N)
291
0.08 7556 292 I = varargin{1};
0.05 7556 293 xdata = [1 size(I,2)];
0.04 7556 294 ydata = [1 size(I,1)];
0.04 7556 295 xi = varargin{2};
0.05 7556 296 yi = varargin{3};
0.10 7556 297 r = round(yi);
0.06 7556 298 c = round(xi);
0.03 7556 299 style = varargin{4};
300
301 case 5
302 % BWFILL(X,Y,BW,Xi,Yi)
303
304 xdata = varargin{1};
305 ydata = varargin{2};
306 I = varargin{3};
307 xi = varargin{4};
308 yi = varargin{5};
309
310 r = round(axes2pix(size(I,1), ydata, yi));
311 c = round(axes2pix(size(I,2), xdata, xi));
312
313 case 6
314 % BWFILL(X,Y,BW,Xi,Yi,N)
315
316 xdata = varargin{1};
317 ydata = varargin{2};
318 I = varargin{3};
319 xi = varargin{4};
320 yi = varargin{5};
321 style = varargin{6};
322
323 r = round(axes2pix(size(I,1), ydata, yi));
324 c = round(axes2pix(size(I,2), xdata, xi));
325
326 otherwise
327 error(message('images:bwfill:tooManyInputs'))
328 end
329
0.12 15112 330 if ~islogical(I)
331 I = I ~= 0;
332 end
333
0.25 15112 334 badPix = find((r < 1) | (r > size(I,1)) | ...
335 (c < 1) | (c > size(I,2)));
0.13 15112 336 if (~isempty(badPix))
337 warning(message('images:bwfill:outOfRangeCoordinates'));
338 r(badPix) = [];
339 c(badPix) = [];
340 end