function [peaks,locs]=buscapic2(x,thresh,number,sortem)
%Devuelve la posición y valor de los picos de un
%segmento de señal. Evita picos de una sola muestra.
if nargin==1
thresh=-inf; number=-1; sortem=0;
elseif nargin==2
number=-1; sortem=0;
elseif nargin==3
sortem=0;
end
if (strcmp(sortem,'sort'))
sortem=1;
end
%[M,N]=size(x);
%if M==1
% x=x(:);
% [M,N]=size(x);
%end
M=length(x);
if any(imag(x(:))~=0)
x=abs(x);
end
mask=diff(sign(diff(x(:))));
mask=[0;mask;0];
jkl=find(abs(mask)>0 &abs(x)>=thresh);
njkl=zeros(1,number);
if number>0 & length(jkl)>number
[tt,ii]=sort(abs(x(jkl)));
ii=flipud(ii);
njkl(1)=jkl(ii(1));
i=2;
for l=2:length(jkl)-1
if (abs(x(jkl(ii(l))))>=0.5*abs(x(jkl(ii(l-1))))) & (abs(x(jkl(ii(l))))>=0.5*abs(x(jkl(ii(l+1)))))
if i<=number
njkl(i)=jkl(ii(l));
i=i+1;
end
end
end
njkl=sort(njkl);
end
L=length(njkl);
peaks(1:L)=x(njkl);
locs(1:L)=njkl;