annotate aim-mat/tools/@frame/gettimeintervalprofile.m @ 4:537f939baef0 tip

various bug fixes and changed copyright message
author Stefan Bleeck <bleeck@gmail.com>
date Tue, 16 Aug 2011 14:37:17 +0100
parents 74dedb26614d
children
rev   line source
tomwalters@0 1 % method of class @frame
tomwalters@0 2 %
tomwalters@0 3 % enhanced verion of getsum
tomwalters@0 4 %
tomwalters@0 5 % INPUT VALUES:
tomwalters@0 6 %
tomwalters@0 7 %
tomwalters@0 8 % RETURN VALUE:
tomwalters@0 9 %
tomwalters@0 10 %
tomwalters@0 11 % (c) 2003, University of Cambridge, Medical Research Council
tomwalters@0 12 % Stefan Bleeck (stefan@bleeck.de)
tomwalters@0 13 % http://www.mrc-cbu.cam.ac.uk/cnbh/aimmanual
tomwalters@0 14 % $Date: 2003/06/11 10:46:54 $
tomwalters@0 15 % $Revision: 1.1 $
tomwalters@0 16
tomwalters@0 17 function sumsig=gettimeintervalprofile(fr,options)
tomwalters@0 18
tomwalters@0 19 if nargin <2
tomwalters@0 20 options=[];
tomwalters@0 21 end
tomwalters@0 22
tomwalters@0 23 if isfield(options,'resolved_harmonic_minimum')
tomwalters@0 24 resolved_harmonics=options.resolved_harmonic_minimum;
tomwalters@0 25 if resolved_harmonics>0
tomwalters@0 26 has_resolved_harmonics=1;
tomwalters@0 27 else
tomwalters@0 28 has_resolved_harmonics=0;
tomwalters@0 29 end
tomwalters@0 30 else
tomwalters@0 31 has_resolved_harmonics=0;
tomwalters@0 32 end
tomwalters@0 33
tomwalters@0 34
tomwalters@0 35
tomwalters@0 36 if has_resolved_harmonics==0
tomwalters@0 37 sumsig=getsum(fr);
tomwalters@0 38 return
tomwalters@0 39 end
tomwalters@0 40
tomwalters@0 41
tomwalters@0 42 val=fr.values;
tomwalters@0 43 l=getlength(fr);
tomwalters@0 44 sr=getsr(fr);
tomwalters@0 45 nr_chan=getnrchannels(fr);
tomwalters@0 46 cfs=getcf(fr);
tomwalters@0 47 nr_len=getnrpoints(fr);
tomwalters@0 48 summe=zeros(1,nr_len);
tomwalters@0 49 if nr_chan > 1
tomwalters@0 50 for ii=1:nr_chan
tomwalters@0 51 current_cf=cfs(ii);
tomwalters@0 52 resolved_time=1/(current_cf/resolved_harmonics);
tomwalters@0 53 % resolved_time=1/(current_cf/10);
tomwalters@0 54 resolved_bin=floor(resolved_time*sr);
tomwalters@0 55 relevant=val(ii,resolved_bin:end);
tomwalters@0 56 missing=nr_len-size(relevant,2);
tomwalters@0 57 relevant=[zeros(1,missing) relevant];
tomwalters@0 58 summe=summe+relevant;
tomwalters@0 59 end
tomwalters@0 60 sumsig=signal(summe);
tomwalters@0 61 sumsig=setsr(sumsig,sr);
tomwalters@0 62 sumsig=setname(sumsig,sprintf('Sum of unresolved harmonics of frame: %s',getname(fr)));
tomwalters@0 63 sumsig=setstarttime(sumsig,getminimumtime(fr));
tomwalters@0 64 else
tomwalters@0 65 sumsig=getsinglechannel(fr,1);
tomwalters@0 66 end