SAVE overloads save operator for analysis objects. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% DESCRIPTION: SAVE overloads save operator for analysis objects. CALL: Save an analysis object as a .mat file. >> save(a, 'blah.mat') Save an analysis object as an XML file. >> save(a, 'blah.xml') Parameters: 'filename' - name of the file VERSION: $Id: save.m,v 1.11 2007/09/18 17:43:24 hewitson Exp $ The following call returns a parameter list object that contains the default parameter values: >> pl = save(ao, 'Params') HISTORY: 14-02-07 M Hewitson Creation %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
0001 function varargout = save(varargin) 0002 % SAVE overloads save operator for analysis objects. 0003 % 0004 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 0005 % 0006 % DESCRIPTION: SAVE overloads save operator for analysis objects. 0007 % 0008 % CALL: Save an analysis object as a .mat file. 0009 % >> save(a, 'blah.mat') 0010 % Save an analysis object as an XML file. 0011 % >> save(a, 'blah.xml') 0012 % 0013 % Parameters: 'filename' - name of the file 0014 % 0015 % VERSION: $Id: save.m,v 1.11 2007/09/18 17:43:24 hewitson Exp $ 0016 % 0017 % The following call returns a parameter list object that contains the 0018 % default parameter values: 0019 % 0020 % >> pl = save(ao, 'Params') 0021 % 0022 % HISTORY: 14-02-07 M Hewitson 0023 % Creation 0024 % 0025 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 0026 0027 0028 % Check if this is a call for parameters 0029 if nargin == 2 0030 if isa(varargin{1}, 'ao') && ischar(varargin{2}) 0031 in = char(varargin{2}); 0032 if strcmp(in, 'Params') 0033 varargout{1} = getDefaultPL(); 0034 return 0035 end 0036 end 0037 end 0038 0039 0040 ALGONAME = mfilename; 0041 VERSION = '$Id: save.m,v 1.11 2007/09/18 17:43:24 hewitson Exp $'; 0042 0043 if nargin ~= 2 0044 help mfilename; 0045 error('### incorrect inputs'); 0046 end 0047 0048 % get object 0049 obj = varargin{1}; 0050 if isa(varargin{2}, 'ao') 0051 pl = varargin{2}; 0052 elseif ischar(varargin{2}) 0053 pl = plist(param('filename', varargin{2})); 0054 else 0055 help mfilename; 0056 error('### incorrect inputs'); 0057 end 0058 0059 % Save object 0060 ltpda_saveobj(obj, pl); 0061 0062 0063 % % Check if this is a call for parameters 0064 % if nargin == 2 0065 % if isa(varargin{1}, 'ao') && ischar(varargin{2}) 0066 % in = char(varargin{2}); 0067 % if strcmp(in, 'Params') 0068 % varargout{1} = getDefaultPL(); 0069 % return 0070 % end 0071 % end 0072 % end 0073 % 0074 % 0075 % ALGONAME = mfilename; 0076 % VERSION = '$Id: save.m,v 1.11 2007/09/18 17:43:24 hewitson Exp $'; 0077 % 0078 % if nargin ~= 2 0079 % help mfilename; 0080 % error('### incorrect inputs'); 0081 % end 0082 % 0083 % % analysis object 0084 % a = varargin{1}; 0085 % if isa(varargin{2}, 'plist') 0086 % filename = find(varargin{2}, 'filename'); 0087 % plo = varargin{2}; 0088 % else 0089 % % filename 0090 % filename = varargin{2}; 0091 % plo = plist(param('filename', filename)); 0092 % end 0093 % 0094 % % Inspect filename 0095 % [path,name,ext,vers] = fileparts(filename); 0096 % 0097 % switch ext 0098 % case '.mat' 0099 % 0100 % save(filename, 'a'); 0101 % 0102 % case '.xml' 0103 % 0104 % % hist = a.hist; 0105 % % h = history(ALGONAME, VERSION, plo, hist); 0106 % % 0107 % % a = set(a, 'hist', h); 0108 % % a = set(a, 'name', sprintf('save(%s,%s)', a.name, filename)); 0109 % % a = set(a, 'tag', a.tag); 0110 % % 0111 % % % convert AO to xml 0112 % % x = xml(a); 0113 % % % Save the XML document. 0114 % % xmlwrite(filename,x.docNode); 0115 % 0116 % otherwise 0117 % error('### unknown file extension.'); 0118 % end 0119 % 0120 % % no outputs 0121 % if nargout == 1 0122 % varargout{1} = a; 0123 % else 0124 % for j=1:nargout 0125 % varargout{j} = []; 0126 % end 0127 % end 0128 0129 % Get default params 0130 function plo = getDefaultPL() 0131 0132 disp('* creating default plist...'); 0133 plo = plist(); 0134 plo = append(plo, param('filename', '')); 0135 disp('* done.'); 0136 0137 0138 % END