Home > classes > @ao > save.m

save

PURPOSE ^

SAVE overloads save operator for analysis objects.

SYNOPSIS ^

function varargout = save(varargin)

DESCRIPTION ^

 SAVE overloads save operator for analysis objects.
 
 Save an analysis object as a .mat file.
   >> save(a, 'blah.mat')
 
 Save an analysis object as an XML file.
   >> save(a, 'blah.xml')
 
 
 M Hewitson 14-02-07

CROSS-REFERENCE INFORMATION ^

This function calls: This function is called by:

SOURCE CODE ^

0001 function varargout = save(varargin)
0002 
0003 % SAVE overloads save operator for analysis objects.
0004 %
0005 % Save an analysis object as a .mat file.
0006 %   >> save(a, 'blah.mat')
0007 %
0008 % Save an analysis object as an XML file.
0009 %   >> save(a, 'blah.xml')
0010 %
0011 %
0012 % M Hewitson 14-02-07
0013 %
0014 
0015 ALGONAME = mfilename;
0016 VERSION  = '$Id: save.html,v 1.1 2007/06/08 14:15:03 hewitson Exp $';
0017 
0018 if nargin ~= 2
0019   help mfilename;
0020   error('### incorrect inputs');
0021 end
0022 
0023 % analysis object
0024 a = varargin{1};
0025 if isa(varargin{2}, 'plist')
0026   filename = find(varargin{2}, 'filename');
0027   plo = varargin{2};
0028 else
0029   % filename
0030   filename = varargin{2};
0031   plo = plist(param('filename', filename));
0032 end
0033 
0034 % Inspect filename
0035 [path,name,ext,vers] = fileparts(filename);
0036 
0037 switch ext
0038   case '.mat'
0039     
0040     save(filename, 'a');
0041     
0042   case '.xml'
0043     
0044     % Add my history here
0045     data = a.data;
0046     hist = a.hist;
0047     
0048     % create new output history
0049     h = history(ALGONAME, VERSION, plo, hist);
0050 
0051     % make output analysis object
0052     b = ao(data, h);
0053 
0054     % set name
0055     b = set(b, 'name', sprintf('save(%s,%s)', a.name, filename));
0056     b = set(b, 'tag', a.tag);
0057     
0058     % convert AO to xml
0059     x = xml(b);
0060     % Save the XML document.
0061     xmlwrite(filename,x.docNode); 
0062     
0063   otherwise
0064     error('### unknown file extension.');
0065 end
0066 
0067 % no outputs
0068 for j=1:nargout
0069   varargout{j} = [];
0070 end
0071 
0072 
0073 % END

Generated on Fri 08-Jun-2007 16:09:11 by m2html © 2003