annotate MASSEFseparator.m @ 38:c7d11a428a0d tip master

Merge branch 'develop' * develop: Updated copyright year.
author Christopher Hummersone <c.hummersone@surrey.ac.uk>
date Tue, 16 May 2017 12:15:34 +0100
parents 63df31b4c0b8
children
rev   line source
c@0 1 classdef MASSEFseparator < handle
c@0 2 %MASSEFseparator Abstract base class for MASSEF separation algorithms
c@0 3 %
c@0 4 % MASSEFseparator properties:
c@0 5 % label - A label for the instance of the algorithm (shown in
c@0 6 % the results file).
c@0 7 % estTag - Tags for the estimated outputs.
c@0 8 %
c@0 9 % MASSEFseparator methods:
c@0 10 % MASSEFseparator - Create an instance of the algorithm.
c@0 11 % separate - Run the separation algorithm on the time-domain
c@0 12 % mixture (Abstract).
c@0 13 %
c@0 14 % Note that this is a handle class and hence derived classes are passed
c@0 15 % by reference.
c@0 16 %
c@0 17 % See also MASSEF.
c@0 18
c@0 19 % Copyright 2016 University of Surrey.
c@0 20
c@0 21 properties
c@0 22 label % A label for the instance of the algorithm (shown in the MASSEF results file)
c@0 23 estTag % Tags for the estimated outputs
c@0 24 end
c@0 25
c@0 26 methods
c@0 27
c@0 28 % constructor
c@0 29 function obj = MASSEFseparator()
c@0 30 obj.label = '';
c@0 31 obj.estTag = '';
c@0 32 end
c@0 33
c@0 34 % set estTag
c@0 35 function set.estTag(obj,val)
c@0 36 if ischar(val)
c@0 37 obj.estTag = cellstr(val);
c@0 38 elseif iscellstr(val)
c@0 39 obj.estTag = val;
c@0 40 else
c@23 41 error('MASSEFseparator:estTag:invalid','''estTag'' must be a char array or cell array of strings');
c@0 42 end
c@0 43 end
c@0 44
c@0 45 % set label
c@0 46 function set.label(obj,val)
c@0 47 if ischar(val)
c@0 48 obj.label = val;
c@0 49 else
c@23 50 error('MASSEFseparator:label:invalid','''label'' must be a char array');
c@0 51 end
c@0 52 end
c@0 53
c@0 54 end
c@0 55
c@0 56 methods (Abstract)
c@0 57
c@0 58 % separation
c@0 59 [signal,mask,est_azis,est_eles] = separate(obj,mixture);
c@0 60
c@0 61 end
c@0 62
c@0 63 end