wolffd@0: function c = combine(varargin) wolffd@0: wolffd@0: c = varargin{1}; wolffd@0: l = length(varargin); wolffd@0: p = cell(1,l); wolffd@0: ch = cell(1,l); wolffd@0: d = cell(1,l); wolffd@0: fp = cell(1,l); wolffd@0: sr = cell(1,l); wolffd@0: n = cell(1,l); wolffd@0: la = cell(1,l); wolffd@0: cl = cell(1,l); wolffd@0: pp = cell(1,l); wolffd@0: pm = cell(1,l); wolffd@0: pv = cell(1,l); wolffd@0: ppp = cell(1,l); wolffd@0: ppv = cell(1,l); wolffd@0: tp = cell(1,l); wolffd@0: tv = cell(1,l); wolffd@0: tpp = cell(1,l); wolffd@0: tpv = cell(1,l); wolffd@0: ap = cell(1,l); wolffd@0: rp = cell(1,l); wolffd@0: if isa(c,'temporal') wolffd@0: nb = cell(1,l); wolffd@0: end wolffd@0: if isa(c,'mirscalar') wolffd@0: m = cell(1,l); wolffd@0: end wolffd@0: if isa(c,'miremotion') wolffd@0: dd = cell(1,l); wolffd@0: cd = cell(1,l); wolffd@0: end wolffd@0: for i = 1:l wolffd@0: argin = varargin{i}; wolffd@0: p{i} = getargin(argin,'Pos'); wolffd@0: ch{i} = getargin(argin,'Channels'); wolffd@0: d{i} = getargin(argin,'Data'); wolffd@0: fp{i} = getargin(argin,'FramePos'); wolffd@0: sr{i} = getargin(argin,'Sampling'); wolffd@0: nb{i} = getargin(argin,'NBits'); wolffd@0: n{i} = getargin(argin,'Name'); wolffd@0: la{i} = getargin(argin,'Label'); wolffd@0: cl{i} = getargin(argin,'Clusters'); wolffd@0: pp{i} = getargin(argin,'PeakPos'); wolffd@0: pm{i} = getargin(argin,'PeakMode'); wolffd@0: pv{i} = getargin(argin,'PeakVal'); wolffd@0: ppp{i} = getargin(argin,'PeakPrecisePos'); wolffd@0: ppv{i} = getargin(argin,'PeakPreciseVal'); wolffd@0: tp{i} = getargin(argin,'TrackPos'); wolffd@0: tv{i} = getargin(argin,'TrackVal'); wolffd@0: tpp{i} = getargin(argin,'TrackPrecisePos'); wolffd@0: tpv{i} = getargin(argin,'TrackPreciseVal'); wolffd@0: ap{i} = getargin(argin,'AttackPos'); wolffd@0: rp{i} = getargin(argin,'ReleasePos'); wolffd@0: if isa(c,'temporal') wolffd@0: ct = getargin(argin,'Centered'); wolffd@0: nb{i} = getargin(argin,'NBits'); wolffd@0: end wolffd@0: if isa(c,'mirscalar') wolffd@0: m{i} = getargin(argin,'Mode'); wolffd@0: end wolffd@0: if isa(c,'miremotion') wolffd@0: dd{i} = getargin(argin,'DimData'); wolffd@0: cd{i} = getargin(argin,'ClassData'); wolffd@0: end wolffd@0: end wolffd@0: c = set(c,'Pos',p,'Data',d,'FramePos',fp,'Channels',ch,... wolffd@0: 'Sampling',sr,'NBits',nb,'Name',n,'Label',la,... wolffd@0: 'Clusters',cl,'PeakPos',pp,'PeakMode',pm,'PeakVal',pv,... wolffd@0: 'PeakPrecisePos',ppp,'PeakPreciseVal',ppv,... wolffd@0: 'TrackPos',tp,'TrackVal',tv,... wolffd@0: 'TrackPrecisePos',tpp,'TrackPreciseVal',tpv,... wolffd@0: 'AttackPos',ap,'ReleasePos',rp); wolffd@0: if isa(c,'temporal') wolffd@0: c = set(c,'Centered',ct,'NBits',nb); wolffd@0: end wolffd@0: if isa(c,'mirscalar') wolffd@0: c = set(c,'Mode',m); wolffd@0: end wolffd@0: if isa(c,'miremotion') wolffd@0: c = set(c,'DimData',dd,'ClassData',cd); wolffd@0: end wolffd@0: wolffd@0: wolffd@0: function y = getargin(argin,field) wolffd@0: yi = get(argin,field); wolffd@0: if isempty(yi) || ischar(yi) wolffd@0: y = yi; wolffd@0: else wolffd@0: y = yi{1}; wolffd@0: end