Mercurial > hg > camir-aes2014
diff toolboxes/MIRtoolbox1.3.2/MIRToolbox/@mirdata/combine.m @ 0:e9a9cd732c1e tip
first hg version after svn
author | wolffd |
---|---|
date | Tue, 10 Feb 2015 15:05:51 +0000 |
parents | |
children |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/toolboxes/MIRtoolbox1.3.2/MIRToolbox/@mirdata/combine.m Tue Feb 10 15:05:51 2015 +0000 @@ -0,0 +1,92 @@ +function c = combine(varargin) + +c = varargin{1}; +l = length(varargin); +p = cell(1,l); +ch = cell(1,l); +d = cell(1,l); +fp = cell(1,l); +sr = cell(1,l); +n = cell(1,l); +la = cell(1,l); +cl = cell(1,l); +pp = cell(1,l); +pm = cell(1,l); +pv = cell(1,l); +ppp = cell(1,l); +ppv = cell(1,l); +tp = cell(1,l); +tv = cell(1,l); +tpp = cell(1,l); +tpv = cell(1,l); +ap = cell(1,l); +rp = cell(1,l); +if isa(c,'temporal') + nb = cell(1,l); +end +if isa(c,'mirscalar') + m = cell(1,l); +end +if isa(c,'miremotion') + dd = cell(1,l); + cd = cell(1,l); +end +for i = 1:l + argin = varargin{i}; + p{i} = getargin(argin,'Pos'); + ch{i} = getargin(argin,'Channels'); + d{i} = getargin(argin,'Data'); + fp{i} = getargin(argin,'FramePos'); + sr{i} = getargin(argin,'Sampling'); + nb{i} = getargin(argin,'NBits'); + n{i} = getargin(argin,'Name'); + la{i} = getargin(argin,'Label'); + cl{i} = getargin(argin,'Clusters'); + pp{i} = getargin(argin,'PeakPos'); + pm{i} = getargin(argin,'PeakMode'); + pv{i} = getargin(argin,'PeakVal'); + ppp{i} = getargin(argin,'PeakPrecisePos'); + ppv{i} = getargin(argin,'PeakPreciseVal'); + tp{i} = getargin(argin,'TrackPos'); + tv{i} = getargin(argin,'TrackVal'); + tpp{i} = getargin(argin,'TrackPrecisePos'); + tpv{i} = getargin(argin,'TrackPreciseVal'); + ap{i} = getargin(argin,'AttackPos'); + rp{i} = getargin(argin,'ReleasePos'); + if isa(c,'temporal') + ct = getargin(argin,'Centered'); + nb{i} = getargin(argin,'NBits'); + end + if isa(c,'mirscalar') + m{i} = getargin(argin,'Mode'); + end + if isa(c,'miremotion') + dd{i} = getargin(argin,'DimData'); + cd{i} = getargin(argin,'ClassData'); + end +end +c = set(c,'Pos',p,'Data',d,'FramePos',fp,'Channels',ch,... + 'Sampling',sr,'NBits',nb,'Name',n,'Label',la,... + 'Clusters',cl,'PeakPos',pp,'PeakMode',pm,'PeakVal',pv,... + 'PeakPrecisePos',ppp,'PeakPreciseVal',ppv,... + 'TrackPos',tp,'TrackVal',tv,... + 'TrackPrecisePos',tpp,'TrackPreciseVal',tpv,... + 'AttackPos',ap,'ReleasePos',rp); +if isa(c,'temporal') + c = set(c,'Centered',ct,'NBits',nb); +end +if isa(c,'mirscalar') + c = set(c,'Mode',m); +end +if isa(c,'miremotion') + c = set(c,'DimData',dd,'ClassData',cd); +end + + +function y = getargin(argin,field) +yi = get(argin,field); +if isempty(yi) || ischar(yi) + y = yi; +else + y = yi{1}; +end \ No newline at end of file