% 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 [ret,womax]=maxstruct(str,topic,nr_second_dimension)
% gets back the structitem with the highest value in "topic"
% if topic is twodimensional, then "nr_second_dimension" gives the chosen
% number


if nargin < 3
    nr=size(str,2);
    for i=1:nr
        sortcount(i)=eval(sprintf('str{%d}.%s',i,topic));
    end
    [ismax,womax]=max(sortcount);
	ret=str{womax};
else
    nr=size(str,2);
    for i=1:nr
        sortcount(i)=eval(sprintf('str(%d).%s(%d)',i,topic,nr_second_dimension));
    end
    [ismax,womax]=max(sortcount);
	ret=str{womax};
end