Advertisement
Guest User

Untitled

a guest
Apr 7th, 2018
127
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Octave 1.04 KB | None | 0 0
  1. function params = checkargs(h, radii, varargin)
  2. % Argument checking
  3. ip = inputParser;
  4.  
  5. % required
  6. htest = @(h) validateattributes(h, {'double'}, {'real' 'nonnegative' 'nonsparse'});
  7. ip.addRequired('h', htest);
  8. rtest = @(radii) validateattributes(radii, {'double'}, {'real' 'positive' 'vector'});
  9. ip.addRequired('radii', rtest);
  10.  
  11. % optional
  12. mtest = @(n) validateattributes(n, {'double'}, {'real' 'nonnegative' 'integer' 'scalar'});
  13. ip.addOptional('margin', 0, mtest);
  14.  
  15. % parameter/value pairs
  16. stest = @(s) validateattributes(s, {'double'}, {'real' 'nonnegative' 'scalar'});
  17. ip.addParamValue('smoothxy', 0, stest);
  18. ip.addParamValue('smoothr', 0, stest);
  19. ip.addParamValue('threshold', [], stest);
  20. nptest = @(n) validateattributes(n, {'double'}, {'real' 'positive' 'integer' 'scalar'});
  21. ip.addParamValue('npeaks', [], nptest);
  22. nhtest = @(n) validateattributes(n, {'double'}, {'odd' 'positive' 'scalar'});
  23. ip.addParamValue('nhoodxy', [], nhtest);
  24. ip.addParamValue('nhoodr', [], nhtest);
  25. ip.parse(h, radii, varargin{:});
  26. params = ip.Results;
  27. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement