tomwalters@0: % method of class @frame tomwalters@0: % tomwalters@0: % enhanced verion of getsum tomwalters@0: % tomwalters@0: % INPUT VALUES: tomwalters@0: % tomwalters@0: % tomwalters@0: % RETURN VALUE: tomwalters@0: % tomwalters@0: % tomwalters@0: % (c) 2003, University of Cambridge, Medical Research Council tomwalters@0: % Stefan Bleeck (stefan@bleeck.de) tomwalters@0: % http://www.mrc-cbu.cam.ac.uk/cnbh/aimmanual tomwalters@0: % $Date: 2003/06/11 10:46:54 $ tomwalters@0: % $Revision: 1.1 $ tomwalters@0: tomwalters@0: function sumsig=gettimeintervalprofile(fr,options) tomwalters@0: tomwalters@0: if nargin <2 tomwalters@0: options=[]; tomwalters@0: end tomwalters@0: tomwalters@0: if isfield(options,'resolved_harmonic_minimum') tomwalters@0: resolved_harmonics=options.resolved_harmonic_minimum; tomwalters@0: if resolved_harmonics>0 tomwalters@0: has_resolved_harmonics=1; tomwalters@0: else tomwalters@0: has_resolved_harmonics=0; tomwalters@0: end tomwalters@0: else tomwalters@0: has_resolved_harmonics=0; tomwalters@0: end tomwalters@0: tomwalters@0: tomwalters@0: tomwalters@0: if has_resolved_harmonics==0 tomwalters@0: sumsig=getsum(fr); tomwalters@0: return tomwalters@0: end tomwalters@0: tomwalters@0: tomwalters@0: val=fr.values; tomwalters@0: l=getlength(fr); tomwalters@0: sr=getsr(fr); tomwalters@0: nr_chan=getnrchannels(fr); tomwalters@0: cfs=getcf(fr); tomwalters@0: nr_len=getnrpoints(fr); tomwalters@0: summe=zeros(1,nr_len); tomwalters@0: if nr_chan > 1 tomwalters@0: for ii=1:nr_chan tomwalters@0: current_cf=cfs(ii); tomwalters@0: resolved_time=1/(current_cf/resolved_harmonics); tomwalters@0: % resolved_time=1/(current_cf/10); tomwalters@0: resolved_bin=floor(resolved_time*sr); tomwalters@0: relevant=val(ii,resolved_bin:end); tomwalters@0: missing=nr_len-size(relevant,2); tomwalters@0: relevant=[zeros(1,missing) relevant]; tomwalters@0: summe=summe+relevant; tomwalters@0: end tomwalters@0: sumsig=signal(summe); tomwalters@0: sumsig=setsr(sumsig,sr); tomwalters@0: sumsig=setname(sumsig,sprintf('Sum of unresolved harmonics of frame: %s',getname(fr))); tomwalters@0: sumsig=setstarttime(sumsig,getminimumtime(fr)); tomwalters@0: else tomwalters@0: sumsig=getsinglechannel(fr,1); tomwalters@0: end