function pk = lclmax(x,p2) 
%LCLMAX                            [ A.K.Booer  3-Dec-1992 ]
%
%  pk = lclmax(x,p)   1-D peak search down columns
%                     using peak half window width of p.
%
% Returns PK, a BOOLEAN matrix showing local maxima positions.
%
p = 2*p2 + 1;          % full window width
[n,m] = size(x);       % useful dimensions
z = zeros(p2,m);       % pre-allocate result
i = toeplitz(p:-1:1,p:n);    % shift operator
%
y = zeros(p,(n-p+1)*m);      % temporary matrix
y(:) = x(i,:);         % index into original data matrix
ma = max(y);                 % find maximum in window
%
pk = [z ; reshape(ma,n-p+1,m) ; z]; % add missing edge elements
pk = pk == x;                 % find matching elements
%%
