samer@12: % scanner_add_plotter - Add plotting capabilities to scan function samer@12: % samer@12: % scanner_add_plotter :: samer@12: % (S,X->S) ~'scanning function', samer@12: % options { samer@12: % draw :: bool/false ~'enable drawing if true'; samer@12: % pause :: natural/0 ~'pause duration in ms'; samer@12: % drawnow :: bool/true ~'whether or not to call drawnow afterwards' samer@12: % } samer@12: % -> (S,X->X) ~'new scanning function'. samer@12: samer@12: function f1=scanner_add_plotter(f,opts) samer@37: opts=options('draw',0,varargin{:}); samer@12: if ~opts.draw, f1=f; else ps=pauser(opts); f1=@g; end samer@26: function y1=g(y,x), y1=f(y,x); opts.plotfn(x,y,y1); ps(); end samer@12: end