Mercurial > hg > aimmat
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 |