


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.7 2007/06/22 08:32:49 ingo 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.7 2007/06/22 08:32:49 ingo 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 % Check if this is a call for parameters 0028 if nargin == 2 0029 if isa(varargin{1}, 'ao') && ischar(varargin{2}) 0030 in = char(varargin{2}); 0031 if strcmp(in, 'Params') 0032 varargout{1} = getDefaultPL(); 0033 return 0034 end 0035 end 0036 end 0037 0038 0039 ALGONAME = mfilename; 0040 VERSION = '$Id: save.m,v 1.7 2007/06/22 08:32:49 ingo Exp $'; 0041 0042 if nargin ~= 2 0043 help mfilename; 0044 error('### incorrect inputs'); 0045 end 0046 0047 % analysis object 0048 a = varargin{1}; 0049 if isa(varargin{2}, 'plist') 0050 filename = find(varargin{2}, 'filename'); 0051 plo = varargin{2}; 0052 else 0053 % filename 0054 filename = varargin{2}; 0055 plo = plist(param('filename', filename)); 0056 end 0057 0058 % Inspect filename 0059 [path,name,ext,vers] = fileparts(filename); 0060 0061 switch ext 0062 case '.mat' 0063 0064 save(filename, 'a'); 0065 0066 case '.xml' 0067 0068 % Add my history here 0069 data = a.data; 0070 hist = a.hist; 0071 0072 % create new output history 0073 h = history(ALGONAME, VERSION, plo, hist); 0074 0075 % make output analysis object 0076 b = ao(data, h); 0077 0078 % set name 0079 b = set(b, 'name', sprintf('save(%s,%s)', a.name, filename)); 0080 b = set(b, 'tag', a.tag); 0081 0082 % convert AO to xml 0083 x = xml(b); 0084 % Save the XML document. 0085 xmlwrite(filename,x.docNode); 0086 0087 otherwise 0088 error('### unknown file extension.'); 0089 end 0090 0091 % no outputs 0092 for j=1:nargout 0093 varargout{j} = []; 0094 end 0095 0096 % Get default params 0097 function plo = getDefaultPL() 0098 0099 disp('* creating default plist...'); 0100 plo = plist(); 0101 plo = append(plo, param('filename', '')); 0102 disp('* done.'); 0103 0104 0105 % END