


Construct an mfir filter from a file
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
FUNCTION: fromFile
DESCRIPTION: Construct an mfir filter from a file
CALL: f = mfir.fromFile(mfir, filename)
f = mfir.fromFile(mfir, pl)
HISTORY: 07-05-2007 Hewitson
Creation
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

0001 % Construct an mfir filter from a file 0002 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 0003 % 0004 % FUNCTION: fromFile 0005 % 0006 % DESCRIPTION: Construct an mfir filter from a file 0007 % 0008 % CALL: f = mfir.fromFile(mfir, filename) 0009 % f = mfir.fromFile(mfir, pl) 0010 % 0011 % HISTORY: 07-05-2007 Hewitson 0012 % Creation 0013 % 0014 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 0015 0016 function f = fromFile(f, pli) 0017 0018 VERSION = '$Id: fromFile.m,v 1.4 2008/07/25 16:40:54 ingo Exp $'; 0019 0020 % Which file type are we dealing with? 0021 if ischar(pli) 0022 pli = plist('filename', pli); 0023 end 0024 0025 % get filename 0026 filename = find(pli, 'filename'); 0027 0028 % Get the correct parameter set 0029 [path, name, ext] = fileparts(filename); 0030 switch ext 0031 case '.mat' 0032 ii = mfir.getInfo('mfir', 'From MAT File'); 0033 dpl = ii.plists(strcmp(ii.sets, 'From MAT File')); 0034 case '.xml' 0035 ii = mfir.getInfo('mfir', 'From XML File'); 0036 dpl = ii.plists(strcmp(ii.sets, 'From XML File')); 0037 otherwise 0038 error('### Unknown file type.'); 0039 end 0040 0041 % Set the method version string in the minfo object 0042 ii.setMversion([VERSION '-->' ii.mversion]); 0043 0044 % Combine input plist with default values 0045 pl = combine(pli, dpl); 0046 0047 % Process the file 0048 switch ext 0049 case '.mat' 0050 f = load(filename); 0051 f = f.a; 0052 case '.xml' 0053 root_node = xmlread(filename); 0054 f = utils.helper.xmlread(root_node, 'mfir'); 0055 otherwise 0056 error('### Unknown file type.'); 0057 end 0058 0059 % Add history 0060 % f = f.addHistory(ii, pli, [], []); 0061 0062 end