% tool
% 
%   INPUT VALUES:
%  
%   RETURN VALUE:
%
% 
% (c) 2003-2008, University of Cambridge, Medical Research Council 
% Maintained by Tom Walters (tcw24@cam.ac.uk), written by Stefan Bleeck (stefan@bleeck.de)
% http://www.pdn.cam.ac.uk/cnbh/aim2006
% $Date: 2008-06-10 18:00:16 +0100 (Tue, 10 Jun 2008) $
% $Revision: 585 $

function [pos_min,minval,index]=getminimumleftof(where,maxpos,minpos,maxs,mins)
% usage: [pos_min,minval]=getminimumleftof(where,womins,minvals,womaxs,maxvals)
% returns the minimum that is left of point "where"
% mins and maxs must be complete sets of minimums and maximums 
% interwoven

pos_min=[];
minval=[];
index=-1;

if isempty(maxpos)
    return;
end
if where < minpos(1)
    return;
    error('getminimumleftof:: no minimum left of point');
end

nr =length(where);
for j=1:nr
    cwhere=where(j);
    nr_mins=length(minpos);
    for i=nr_mins:-1:1
%         if fround(minpos(i),5) < fround(cwhere,5)
%             pos_min(j)=minpos(i);
%             minval(j)=mins(i);
%             break;
%         end
        if minpos(i) < cwhere
            pos_min(j)=minpos(i);
            minval(j)=mins(i);
            index=i;
            break;
        end
    end
end
