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.

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

 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.html,v 1.2 2007/07/10 05:37:08 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

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

CROSS-REFERENCE INFORMATION ^

This function calls: This function is called by:

SUBFUNCTIONS ^

SOURCE CODE ^

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.html,v 1.2 2007/07/10 05:37:08 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 % 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.html,v 1.2 2007/07/10 05:37:08 hewitson 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

Generated on Wed 04-Jul-2007 19:03:10 by m2html © 2003