view general/funutils/scanner_add_plotter.m @ 13:03694e5c8365

Reorganised some high order list functions to correct class-based method dispatch; fixed some docs.
author samer
date Wed, 16 Jan 2013 12:12:34 +0000
parents fbc0540a9208
children 8f4a21082c45
line wrap: on
line source
% scanner_add_plotter - Add plotting capabilities to scan function
%
% scanner_add_plotter ::
%    (S,X->S) ~'scanning function',
%    options {
%       draw    :: bool/false ~'enable drawing if true';
%       pause   :: natural/0 ~'pause duration in ms';
%       drawnow :: bool/true ~'whether or not to call drawnow afterwards'
%    }
% -> (S,X->X) ~'new scanning function'.

function f1=scanner_add_plotter(f,opts)
	opts=prefs('draw',0,varargin{:});
	if ~opts.draw, f1=f; else ps=pauser(opts); f1=@g; end
	function y1=g(y,x), y1={f(y,x),i}; opts.plotfn(x,y,y1); ps(); end
end