0001 function ErrorFlag = switch2physics(Family)
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017
0018
0019 ErrorFlag = 0;
0020
0021 if nargin == 0
0022 Family = getfamilylist;
0023 end
0024 if isempty(Family)
0025 Family = getfamilylist;
0026 end
0027
0028
0029 if ischar(Family)
0030 for i = 1:size(Family,1)
0031 FamilyNameCell(i) = {deblank(Family(i,:))};
0032 end
0033 elseif iscell(Family)
0034 FamilyNameCell = Family;
0035 else
0036 error('Familyname input must be empty, a string matrix, or a cell array of strings');
0037 end
0038
0039
0040 for i = 1:length(FamilyNameCell)
0041 AOFamily = getfamilydata(FamilyNameCell{i});
0042 try
0043 AllFields = fieldnames(AOFamily);
0044 for j = 1:length(AllFields)
0045 if isfield(AOFamily.(AllFields{j}),'Units')
0046 setfamilydata('Physics', AOFamily.FamilyName, AllFields{j}, 'Units');
0047 end
0048 end
0049 catch
0050 ErrorFlag = ErrorFlag + 1;
0051 fprintf(' Error switching %s family to physics units, hence ignored (switch2physics)\n', FamilyNameCell{i});
0052 end
0053 end
0054
0055
0056 if ~ErrorFlag
0057 if length(FamilyNameCell) == 1
0058 fprintf(' Switched %s family to physics units (%s)\n', FamilyNameCell{1}, datestr(clock,0));
0059 else
0060 fprintf(' Switched %d families to physics units (%s)\n', length(FamilyNameCell)-ErrorFlag, datestr(clock,0));
0061 end
0062 end
0063