annotate aim-mat/tools/@frame/getsum.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 % Accummulates the signal between "fromchannel" and "tochannel"
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/01/31 19:51:07 $
tomwalters@0 15 % $Revision: 1.5 $
tomwalters@0 16
tomwalters@0 17 function sumsig=getsum(fr,fromchannel,tochannel)
tomwalters@0 18
tomwalters@0 19
tomwalters@0 20 if nargin<3
tomwalters@0 21 tochannel=getnrchannels(fr(1));
tomwalters@0 22 end
tomwalters@0 23 if nargin < 2
tomwalters@0 24 fromchannel=1;
tomwalters@0 25 end
tomwalters@0 26
tomwalters@0 27
tomwalters@0 28 number=max(size(fr));
tomwalters@0 29 if number==1
tomwalters@0 30 val=fr.values;
tomwalters@0 31 l=getlength(fr);
tomwalters@0 32 sr=getsr(fr);
tomwalters@0 33 if getnrchannels(fr)>1
tomwalters@0 34 summe=sum(val(fromchannel:tochannel,:));
tomwalters@0 35 sumsig=signal(summe);
tomwalters@0 36 sumsig=setsr(sumsig,sr);
tomwalters@0 37 sumsig=setname(sumsig,sprintf('Sum of Frame: %s',getname(fr)));
tomwalters@0 38 sumsig=setstarttime(sumsig,getminimumtime(fr));
tomwalters@0 39 else
tomwalters@0 40 sumsig=getsinglechannel(fr,1);
tomwalters@0 41 end
tomwalters@0 42 else
tomwalters@0 43 for e=1:number
tomwalters@0 44
tomwalters@0 45 val=fr(e).values;
tomwalters@0 46
tomwalters@0 47 l=getlength(fr(e));
tomwalters@0 48 sr=getsr(fr(e));
tomwalters@0 49
tomwalters@0 50 summe(e)=sum(val(fromchannel:tochannel,:));
tomwalters@0 51
tomwalters@0 52 sumsig(e)=signal(summe);
tomwalters@0 53 sumsig(e)=setsr(sumsig(e),sr);
tomwalters@0 54
tomwalters@0 55 sumsig(e)=setstarttime(sumsig(e),getminimumtime(fr(e)))
tomwalters@0 56
tomwalters@0 57 end
tomwalters@0 58 end