Added inital code base.
This commit is contained in:
1 parent
0a38de73c3
commit
1c141cf1c0
1357 files changed
+159982
No files matched your search
Binary file not shown.
File diff suppressed because it is too large.
Load diff
@@ -0,0 +1 @@
|
||||
mcc -a CurveFit.dat -a WarpFit.dat -e ARPESView.m
|
||||
Binary file not shown.
@@ -0,0 +1,108 @@
|
||||
function varargout = ImgProcSetup(varargin)
|
||||
% IMGPROCSETUP MATLAB code for ImgProcSetup.fig
|
||||
% IMGPROCSETUP, by itself, creates a new IMGPROCSETUP or raises the existing
|
||||
% singleton*.
|
||||
% H = IMGPROCSETUP returns the handle to a new IMGPROCSETUP or the handle to
|
||||
% the existing singleton*.
|
||||
% IMGPROCSETUP('CALLBACK',hObject,eventData,handles,...) calls the local
|
||||
% function named CALLBACK in IMGPROCSETUP.M with the given input arguments.
|
||||
% IMGPROCSETUP('Property','Value',...) creates a new IMGPROCSETUP or raises the
|
||||
% existing singleton*. Starting from the left, property value pairs are
|
||||
% applied to the GUI before ImgProcSetup_OpeningFcn gets called. An
|
||||
% unrecognized property name or invalid value makes property application
|
||||
% stop. All inputs are passed to ImgProcSetup_OpeningFcn via varargin.
|
||||
% *See GUI Options on GUIDE's Tools menu. Choose "GUI allows only one
|
||||
% instance to run (singleton)".
|
||||
% Last Modified by GUIDE v2.5 04-Nov-2020 16:11:59
|
||||
% Begin initialization code - DO NOT EDIT
|
||||
gui_Singleton = 1;
|
||||
gui_State = struct('gui_Name', mfilename, ...
|
||||
'gui_Singleton', gui_Singleton, ...
|
||||
'gui_OpeningFcn', @ImgProcSetup_OpeningFcn, ...
|
||||
'gui_OutputFcn', @ImgProcSetup_OutputFcn, ...
|
||||
'gui_LayoutFcn', [] , ...
|
||||
'gui_Callback', []);
|
||||
if nargin && ischar(varargin{1})
|
||||
gui_State.gui_Callback = str2func(varargin{1});
|
||||
end
|
||||
if nargout
|
||||
[varargout{1:nargout}] = gui_mainfcn(gui_State, varargin{:});
|
||||
else
|
||||
gui_mainfcn(gui_State, varargin{:});
|
||||
end
|
||||
% End initialization code - DO NOT EDIT
|
||||
|
||||
% --- Executes just before ImgProcSetup is made visible.
|
||||
function ImgProcSetup_OpeningFcn(hObject,~,handles,varargin)
|
||||
% This function has no output args, see OutputFcn.
|
||||
% hObject handle to figure
|
||||
% varargin command line arguments to ImgProcSetup (see VARARGIN)
|
||||
% Choose default command line output for ImgProcSetup
|
||||
handles.output = hObject;
|
||||
% Update handles structure
|
||||
guidata(hObject, handles);
|
||||
% figure properties
|
||||
% set(gcf,'WindowStyle','modal')
|
||||
% global parameters and their initialization
|
||||
global presmdX presmdY structMode sharp sharpIni postsmdX postsmdY clipImgProcNeg
|
||||
if isempty(presmdX); presmdX=0; end; set(handles.editPresmdX,'String',sprintf('%g',presmdX));
|
||||
if isempty(presmdY); presmdY=0; end; set(handles.editPresmdY,'String',sprintf('%g',presmdY));
|
||||
if isempty(structMode); structMode=1; end; set(handles.menuStructMode,'Value',structMode)
|
||||
if structMode==1; set([handles.textSharp handles.editSharp],'Visible','Off'); else set([handles.textSharp handles.editSharp],'Visible','On'); end
|
||||
sharpIni=0; if isempty(sharp); sharp=sharpIni; end; set(handles.editSharp,'String',sprintf('%g',sharp));
|
||||
if isempty(postsmdX); postsmdX=0; end; set(handles.editPostsmdX,'String',sprintf('%g',postsmdX));
|
||||
if isempty(postsmdY); postsmdY=0; end; set(handles.editPostsmdY,'String',sprintf('%g',postsmdY));
|
||||
if isempty(clipImgProcNeg); clipImgProcNeg=1; end; set(handles.radiobuttonClipImgProcNeg,'Value',clipImgProcNeg);
|
||||
%if modeView==1; set(handles.menuStructMode,'String',{'None';'Curvature' ; '-d2I/dE2>0'}); else; set(handles.menuStructMode,'String',{'None';'Curvature'}); end
|
||||
% % - figure position
|
||||
% global xPos_View yPos_View
|
||||
% Pos=get(gcf,'position'); offsetFigHeader=29;
|
||||
% set(gcf,'position',[xPos_View yPos_View-Pos(4)-offsetFigHeader Pos(3) Pos(4)]);
|
||||
|
||||
% --- Outputs from this function are returned to the command line.
|
||||
function varargout = ImgProcSetup_OutputFcn(~,~,handles)
|
||||
% varargout cell array for returning output args (see VARARGOUT);
|
||||
% hObject handle to figure
|
||||
% Get default command line output from handles structure
|
||||
varargout{1} = handles.output;
|
||||
|
||||
% --- Executes on button press in editPresmdX.
|
||||
function editPresmdX_Callback(hObject,~,~)
|
||||
global presmdX; presmdX=field2num(hObject,0);
|
||||
% --- Executes on button press in editPresmdY.
|
||||
function editPresmdY_Callback(hObject,~,~)
|
||||
global presmdY; presmdY=field2num(hObject,0);
|
||||
|
||||
% --- Executes on selection change in menuStructMode.
|
||||
function menuStructMode_Callback(hObject,~,handles)
|
||||
global structMode; structMode=get(hObject,'Value');
|
||||
if structMode==1; set([handles.textSharp handles.editSharp],'Visible','Off'); else set([handles.textSharp handles.editSharp],'Visible','On'); end
|
||||
|
||||
function editSharp_Callback(hObject, ~,~)
|
||||
global sharp sharpIni; sharp=field2num(hObject,sharpIni);
|
||||
|
||||
% --- Executes on button press in editPostsmdX.
|
||||
function editPostsmdX_Callback(hObject,~,~)
|
||||
global postsmdX; postsmdX=field2num(hObject,0);
|
||||
% --- Executes on button press in editPresmdY.
|
||||
function editPostsmdY_Callback(hObject,~,~)
|
||||
global postsmdY; postsmdY=field2num(hObject,0);
|
||||
|
||||
% --- Executes on button press in radiobuttonClipImgProcNeg.
|
||||
function radiobuttonClipImgProcNeg_Callback(hObject,~,~)
|
||||
global clipImgProcNeg; clipImgProcNeg=get(hObject,'value');
|
||||
|
||||
% Hints: get(hObject,'String') returns contents of editSharp as text
|
||||
% str2double(get(hObject,'String')) returns contents of editSharp as a double
|
||||
|
||||
% % --- Executes on button press in editXRange.
|
||||
% function editXRange_Callback(hObject,~,~)
|
||||
% global XRange
|
||||
% XRange=field2num(hObject); if length(XRange)~=2; XRange=[]; set(hObject,'String','Full'); end
|
||||
%
|
||||
% % --- Executes on button press in editYRange.
|
||||
% function editYRange_Callback(hObject,~,~)
|
||||
% global YRange
|
||||
% YRange=field2num(hObject); if length(YRange)~=2; YRange=[]; set(hObject,'String','Full'); end
|
||||
|
||||
% Hint: get(hObject,'Value') returns toggle state of radiobuttonClipImgProcNeg
|
||||
Binary file not shown.
@@ -0,0 +1,86 @@
|
||||
function varargout = LockSetup(varargin)
|
||||
% LOCKSETUP MATLAB code for LockSetup.fig
|
||||
% LOCKSETUP, by itself, creates a new LOCKSETUP or raises the existing
|
||||
% singleton*.
|
||||
% H = LOCKSETUP returns the handle to a new LOCKSETUP or the handle to
|
||||
% the existing singleton*.
|
||||
% LOCKSETUP('CALLBACK',hObject,eventData,handles,...) calls the local
|
||||
% function named CALLBACK in LOCKSETUP.M with the given input arguments.
|
||||
% LOCKSETUP('Property','Value',...) creates a new LOCKSETUP or raises the
|
||||
% existing singleton*. Starting from the left, property value pairs are
|
||||
% applied to the GUI before LockSetup_OpeningFcn gets called. An
|
||||
% unrecognized property name or invalid value makes property application
|
||||
% stop. All inputs are passed to LockSetup_OpeningFcn via varargin.
|
||||
% *See GUI Options on GUIDE's Tools menu. Choose "GUI allows only one
|
||||
% instance to run (singleton)".
|
||||
% Last Modified by GUIDE v2.5 26-Apr-2020 14:27:52
|
||||
% Begin initialization code - DO NOT EDIT
|
||||
gui_Singleton = 1;
|
||||
gui_State = struct('gui_Name', mfilename, ...
|
||||
'gui_Singleton', gui_Singleton, ...
|
||||
'gui_OpeningFcn', @LockSetup_OpeningFcn, ...
|
||||
'gui_OutputFcn', @LockSetup_OutputFcn, ...
|
||||
'gui_LayoutFcn', [] , ...
|
||||
'gui_Callback', []);
|
||||
if nargin && ischar(varargin{1})
|
||||
gui_State.gui_Callback = str2func(varargin{1});
|
||||
end
|
||||
if nargout
|
||||
[varargout{1:nargout}] = gui_mainfcn(gui_State, varargin{:});
|
||||
else
|
||||
gui_mainfcn(gui_State, varargin{:});
|
||||
end
|
||||
% End initialization code - DO NOT EDIT
|
||||
|
||||
% --- Executes just before LockSetup is made visible.
|
||||
function LockSetup_OpeningFcn(hObject,~,handles,varargin)
|
||||
% This function has no output args, see OutputFcn.
|
||||
% hObject handle to figure
|
||||
% varargin command line arguments to LockSetup (see VARARGIN)
|
||||
% Choose default command line output for LockSetup
|
||||
handles.output = hObject;
|
||||
% Update handles structure
|
||||
guidata(hObject, handles);
|
||||
% figure properties
|
||||
% set(gcf,'WindowStyle','modal')
|
||||
% global parameters
|
||||
% - initial values
|
||||
global feat_Lock setTo_Lock dESm_Lock dEWin_Lock
|
||||
if isequal(feat_Lock,'Peak'); set(handles.popupmenuFeat,'Value',2); else set(handles.popupmenuFeat,'Value',1); end
|
||||
set(handles.editSetTo,'String',num2str(setTo_Lock));
|
||||
if isempty(dESm_Lock); set(handles.editSmooth,'String','Auto'); else; set(handles.editSmooth,'String',num2str(dESm_Lock)); end
|
||||
if isempty(dEWin_Lock); set(handles.editSearch,'String','Auto'); else; set(handles.editSearch,'String',num2str(dEWin_Lock)); end
|
||||
% % - figure position
|
||||
% global xPos_Lock yPos_Lock
|
||||
% Pos=get(gcf,'position'); offsetFigHeader=29;
|
||||
% set(gcf,'position',[xPos_Lock yPos_Lock-Pos(4)-offsetFigHeader Pos(3) Pos(4)]);
|
||||
|
||||
% --- Outputs from this function are returned to the command line.
|
||||
function varargout = LockSetup_OutputFcn(~,~,handles)
|
||||
% varargout cell array for returning output args (see VARARGOUT);
|
||||
% hObject handle to figure
|
||||
% Get default command line output from handles structure
|
||||
varargout{1} = handles.output;
|
||||
|
||||
% --- Executes on selection change in popupmenuFeat.
|
||||
function popupmenuFeat_Callback(hObject,~,~)
|
||||
global feat_Lock
|
||||
val=get(hObject,'Value'); if val==2; feat_Lock='Peak'; end
|
||||
|
||||
% --- Executes on button press in editSetTo.
|
||||
function editSetTo_Callback(hObject,~,~)
|
||||
global setTo_Lock
|
||||
setTo_Lock=str2num(get(hObject,'String'));
|
||||
if isempty(setTo_Lock); set(hObject,'String','0.0'); end
|
||||
|
||||
% --- Executes on button press in editSmooth.
|
||||
function editSmooth_Callback(hObject,~,~)
|
||||
global dESm_Lock
|
||||
dESm_Lock=str2num(get(hObject,'String'));
|
||||
if isempty(dESm_Lock); set(hObject,'String','Auto'); end
|
||||
|
||||
% --- Executes on button press in editSearch.
|
||||
function editSearch_Callback(hObject,~,~)
|
||||
global dEWin_Lock
|
||||
dEWin_Lock=str2num(get(hObject,'String'));
|
||||
if isempty(dEWin_Lock); set(hObject,'String','Auto'); end
|
||||
Binary file not shown.
@@ -0,0 +1,113 @@
|
||||
function varargout = NaviSetup(varargin)
|
||||
% Ver. 21Aug2022
|
||||
% NAVISETUP MATLAB code for NaviSetup.fig
|
||||
% NAVISETUP, by itself, creates a new NAVISETUP or raises the existing
|
||||
% singleton*.
|
||||
% H = NAVISETUP returns the handle to a new NAVISETUP or the handle to
|
||||
% the existing singleton*.
|
||||
% NAVISETUP('CALLBACK',hObject,eventData,handles,...) calls the local
|
||||
% function named CALLBACK in NAVISETUP.M with the given input arguments.
|
||||
% NAVISETUP('Property','Value',...) creates a new NAVISETUP or raises the
|
||||
% existing singleton*. Starting from the left, property value pairs are
|
||||
% applied to the GUI before NaviSetup_OpeningFcn gets called. An
|
||||
% unrecognized property name or invalid value makes property application
|
||||
% stop. All inputs are passed to NaviSetup_OpeningFcn via varargin.
|
||||
% *See GUI Options on GUIDE's Tools menu. Choose "GUI allows only one
|
||||
% instance to run (singleton)".
|
||||
% Last Modified by GUIDE v2.5 21-May-2020 19:44:12
|
||||
% Begin initialization code - DO NOT EDIT
|
||||
gui_Singleton = 1;
|
||||
gui_State = struct('gui_Name', mfilename, ...
|
||||
'gui_Singleton', gui_Singleton, ...
|
||||
'gui_OpeningFcn', @NaviSetup_OpeningFcn, ...
|
||||
'gui_OutputFcn', @NaviSetup_OutputFcn, ...
|
||||
'gui_LayoutFcn', [] , ...
|
||||
'gui_Callback', []);
|
||||
if nargin && ischar(varargin{1})
|
||||
gui_State.gui_Callback = str2func(varargin{1});
|
||||
end
|
||||
if nargout
|
||||
[varargout{1:nargout}] = gui_mainfcn(gui_State, varargin{:});
|
||||
else
|
||||
gui_mainfcn(gui_State, varargin{:});
|
||||
end
|
||||
% End initialization code - DO NOT EDIT
|
||||
|
||||
% --- Executes just before NaviSetup is made visible.
|
||||
function NaviSetup_OpeningFcn(hObject,~,handles,varargin)
|
||||
% This function has no output args, see OutputFcn.
|
||||
% hObject handle to figure
|
||||
% varargin command line arguments to NaviSetup (see VARARGIN)
|
||||
% Choose default command line output for NaviSetup
|
||||
handles.output = hObject;
|
||||
% Update handles structure
|
||||
guidata(hObject, handles);
|
||||
% figure properties
|
||||
% set(gcf,'WindowStyle','modal')
|
||||
% global parameters
|
||||
global surfNx_Navi hv_N eB_N kx_N thtM thtM_N thtA_N alpha
|
||||
set(handles.editHv,'String',sprintf('%0.3f',hv_N));
|
||||
thtM_N=thtM; set(handles.editThtM,'String',sprintf('%0.3f',thtM_N));
|
||||
set(handles.editEB,'String',sprintf('%0.3f',eB_N));
|
||||
kx_N=0; % kx_N=[];
|
||||
set(handles.editKx,'String',sprintf('%0.3f',kx_N));
|
||||
set(handles.editThtA,'String',sprintf('%0.3f',thtA_N));
|
||||
surfNx_Navi=SurfNormX(hv_N,eB_N,kx_N,thtM_N,thtA_N,alpha);
|
||||
set(handles.textSurfNormX,'String',['surfNx = ' sprintf('%0.3f',surfNx_Navi)]);
|
||||
% % - figure position
|
||||
% global xPos_Navi yPos_Navi
|
||||
% if ~isempty(xPos_Navi*yPos_Navi)
|
||||
% Pos=get(gcf,'position'); offsetFigHeader=29; set(gcf,'position',[xPos_Navi yPos_Navi-Pos(4)-offsetFigHeader Pos(3) Pos(4)]);
|
||||
% end
|
||||
|
||||
% --- Outputs from this function are returned to the command line.
|
||||
function varargout = NaviSetup_OutputFcn(~,~,handles)
|
||||
% varargout cell array for returning output args (see VARARGOUT);
|
||||
% hObject handle to figure
|
||||
% Get default command line output from handles structure
|
||||
varargout{1} = handles.output;
|
||||
|
||||
function editHv_Callback(hObject,~,handles)
|
||||
global hv_N eB_N kx_N thtM_N thtA_N surfNx_Navi alpha
|
||||
hv_N=field2num(hObject);
|
||||
if length(hv_N)==1
|
||||
surfNx_Navi=SurfNormX(hv_N,eB_N,kx_N,thtM_N,thtA_N,alpha);
|
||||
set(handles.textSurfNormX,'String',['surfNx = ' sprintf('%0.3f',surfNx_Navi)]);
|
||||
end
|
||||
%set(hObject,'String',num2str(hv_N))
|
||||
|
||||
function editThtM_Callback(hObject,~,handles)
|
||||
global hv_N eB_N kx_N thtM_N thtA_N surfNx_Navi alpha
|
||||
thtM_N=field2num(hObject);
|
||||
if length(thtM_N)==1
|
||||
surfNx_Navi=SurfNormX(hv_N,eB_N,kx_N,thtM_N,thtA_N,alpha);
|
||||
set(handles.textSurfNormX,'String',['surfNx = ' sprintf('%0.3f',surfNx_Navi)]);
|
||||
end
|
||||
%set(hObject,'String',num2str(thtM_N))
|
||||
|
||||
function editKx_Callback(hObject,~,handles)
|
||||
global hv_N eB_N kx_N thtM_N thtA_N surfNx_Navi alpha
|
||||
kx_N=field2num(hObject);
|
||||
if length(kx_N)==1
|
||||
surfNx_Navi=SurfNormX(hv_N,eB_N,kx_N,thtM_N,thtA_N,alpha);
|
||||
set(handles.textSurfNormX,'String',['surfNx = ' sprintf('%0.3f',surfNx_Navi)]);
|
||||
end
|
||||
%set(hObject,'String',num2str(kx_N))
|
||||
|
||||
function editThtA_Callback(hObject,~,handles)
|
||||
global hv_N eB_N kx_N thtM_N thtA_N surfNx_Navi alpha
|
||||
thtA_N=field2num(hObject);
|
||||
if length(thtA_N)==1
|
||||
surfNx_Navi=SurfNormX(hv_N,eB_N,kx_N,thtM_N,thtA_N,alpha);
|
||||
set(handles.textSurfNormX,'String',['surfNx = ' sprintf('%0.3f',surfNx_Navi)]);
|
||||
end
|
||||
%set(hObject,'String',num2str(thtA_N))
|
||||
|
||||
function editEB_Callback(hObject,~,handles)
|
||||
global hv_N eB_N kx_N thtM_N thtA_N surfNx_Navi alpha
|
||||
eB_N=field2num(hObject);
|
||||
if length(eB_N)==1
|
||||
surfNx_Navi=SurfNormX(hv_N,eB_N,kx_N,thtM_N,thtA_N,alpha);
|
||||
set(handles.textSurfNormX,'String',['surfNx= ' sprintf('%0.3f',surfNx_Navi)]);
|
||||
end
|
||||
%set(hObject,'String',num2str(eB_N))
|
||||
Binary file not shown.
@@ -0,0 +1,87 @@
|
||||
function varargout = NormSetup(varargin)
|
||||
% NORMSETUP MATLAB code for NormSetup.fig
|
||||
% NORMSETUP, by itself, creates a new NORMSETUP or raises the existing
|
||||
% singleton*.
|
||||
% H = NORMSETUP returns the handle to a new NORMSETUP or the handle to
|
||||
% the existing singleton*.
|
||||
% NORMSETUP('CALLBACK',hObject,eventData,handles,...) calls the local
|
||||
% function named CALLBACK in NORMSETUP.M with the given input arguments.
|
||||
% NORMSETUP('Property','Value',...) creates a new NORMSETUP or raises the
|
||||
% existing singleton*. Starting from the left, property value pairs are
|
||||
% applied to the GUI before NormSetup_OpeningFcn gets called. An
|
||||
% unrecognized property name or invalid value makes property application
|
||||
% stop. All inputs are passed to NormSetup_OpeningFcn via varargin.
|
||||
% *See GUI Options on GUIDE's Tools menu. Choose "GUI allows only one
|
||||
% instance to run (singleton)".
|
||||
% Last Modified by GUIDE v2.5 04-Nov-2020 16:28:10
|
||||
% Begin initialization code - DO NOT EDIT
|
||||
gui_Singleton = 1;
|
||||
gui_State = struct('gui_Name', mfilename, ...
|
||||
'gui_Singleton', gui_Singleton, ...
|
||||
'gui_OpeningFcn', @NormSetup_OpeningFcn, ...
|
||||
'gui_OutputFcn', @NormSetup_OutputFcn, ...
|
||||
'gui_LayoutFcn', [] , ...
|
||||
'gui_Callback', []);
|
||||
if nargin && ischar(varargin{1})
|
||||
gui_State.gui_Callback = str2func(varargin{1});
|
||||
end
|
||||
if nargout
|
||||
[varargout{1:nargout}] = gui_mainfcn(gui_State, varargin{:});
|
||||
else
|
||||
gui_mainfcn(gui_State, varargin{:});
|
||||
end
|
||||
% End initialization code - DO NOT EDIT
|
||||
|
||||
% --- Executes just before NormSetup is made visible.
|
||||
function NormSetup_OpeningFcn(hObject,~,handles,varargin)
|
||||
% This function has no output args, see OutputFcn.
|
||||
% hObject handle to figure
|
||||
% varargin command line arguments to NormSetup (see VARARGIN)
|
||||
% Choose default command line output for NormSetup
|
||||
handles.output = hObject;
|
||||
% Update handles structure
|
||||
guidata(hObject, handles);
|
||||
% figure properties
|
||||
% set(gcf,'WindowStyle','modal')
|
||||
% global parameters
|
||||
% - initial values
|
||||
global RangeNorm scCoeff scCoeffIni clipNormNeg
|
||||
% if isempty(RangeNorm)||isempty(str2num(RangeNorm)); set(handles.editRange,'String','Full'); else set(handles.editRange,'String',sprintf('%g:%g',RangeNorm)); end
|
||||
if isempty(RangeNorm); set(handles.editRange,'String','Full'); else set(handles.editRange,'String',sprintf('%g:%g',RangeNorm)); end
|
||||
if isempty(scCoeff); scCoeff=scCoeffIni; end; set(handles.editSubtr,'String',num2str(scCoeff))
|
||||
if isempty(clipNormNeg); clipNormNeg=1; end; set(handles.radiobuttonClipNormNeg,'Value',clipNormNeg)
|
||||
% % - figure position
|
||||
% global xPos_Norm yPos_Norm
|
||||
% Pos=get(gcf,'position'); offsetFigHeader=29;
|
||||
% set(gcf,'position',[xPos_Norm yPos_Norm-Pos(4)-offsetFigHeader Pos(3) Pos(4)]);
|
||||
|
||||
% --- Outputs from this function are returned to the command line.
|
||||
function varargout = NormSetup_OutputFcn(~,~,handles)
|
||||
% varargout cell array for returning output args (see VARARGOUT);
|
||||
% hObject handle to figure
|
||||
% Get default command line output from handles structure
|
||||
varargout{1} = handles.output;
|
||||
|
||||
% --- Executes on button press in editRange.
|
||||
function editRange_Callback(hObject,~,~)
|
||||
% hObject handle to editRange (see GCBO)
|
||||
% clear normalization array
|
||||
global RangeNorm IDiv ISubtr
|
||||
IDiv=[]; ISubtr=[]; disp('- cleared IDiv ISubtr')
|
||||
% energy range
|
||||
% RangeStr=get(hObject,'String'); RangeStr=strrep(RangeStr,':',' '); Range=sort(str2num(RangeStr));
|
||||
% if length(Range)==2; RangeNorm=Range; else RangeNorm=RangeIni; end
|
||||
RangeNorm=field2num(hObject); if length(RangeNorm)~=2; RangeNorm=[]; set(hObject,'String','Full'); end
|
||||
% set(hObject,'String',[num2str(RangeNorm(1)) ':' num2str(RangeNorm(2))]);
|
||||
|
||||
% --- Executes on button press in editSubtr.
|
||||
function editSubtr_Callback(~,~,handles)
|
||||
% hObject handle to editSubtr (see GCBO)
|
||||
global scCoeff scCoeffIni
|
||||
% Scaling coefficient to subtract angle-integrated spectrum
|
||||
scCoeff=field2num(handles.editSubtr,scCoeffIni);
|
||||
% set(handles.editSubtr,'String',num2str(scCoeffIni));
|
||||
|
||||
% --- Executes on button press in radiobuttonClipNormNeg.
|
||||
function radiobuttonClipNormNeg_Callback(hObject,~,~)
|
||||
global clipNormNeg; clipNormNeg=get(hObject,'value');
|
||||
Binary file not shown.
@@ -0,0 +1,44 @@
|
||||
function varargout = RawTableDisplay(varargin)
|
||||
% Created by X. Wang, 02-Feb-2021
|
||||
|
||||
% Begin initialization code - DO NOT EDIT
|
||||
gui_Singleton = 1;
|
||||
gui_State = struct('gui_Name', mfilename, ...
|
||||
'gui_Singleton', gui_Singleton, ...
|
||||
'gui_OpeningFcn', @RawTableDisplay_OpeningFcn, ...
|
||||
'gui_OutputFcn', @RawTableDisplay_OutputFcn, ...
|
||||
'gui_LayoutFcn', [] , ...
|
||||
'gui_Callback', []);
|
||||
if nargin && ischar(varargin{1})
|
||||
gui_State.gui_Callback = str2func(varargin{1});
|
||||
end
|
||||
if nargout
|
||||
[varargout{1:nargout}] = gui_mainfcn(gui_State, varargin{:});
|
||||
else
|
||||
gui_mainfcn(gui_State, varargin{:});
|
||||
end
|
||||
% End initialization code - DO NOT EDIT
|
||||
|
||||
% --- Executes just before RawTableDisplay is made visible.
|
||||
function RawTableDisplay_OpeningFcn(hObject,~, handles, varargin)
|
||||
% This function has no output args, see OutputFcn.
|
||||
% varargin command line arguments to RawTableDisplay (see VARARGIN)
|
||||
% Set table properties
|
||||
emptyRow = TableColumns.emptyRow(); numberColumns = TableColumns.Activate - 1; set(handles.tableRaw, 'Data', emptyRow(1:numberColumns));
|
||||
coledit = true(1, numberColumns); set(handles.tableRaw, 'ColumnEditable', coledit);
|
||||
colname = TableColumns.columnNames(); set(handles.tableRaw, 'ColumnName', colname(1:numberColumns));
|
||||
colformat = TableColumns.columnFormats(); set(handles.tableRaw, 'ColumnFormat', colformat(1:numberColumns));
|
||||
colwidth = TableColumns.columnWidth(); colwidth{TableColumns.File} = 0; colwidth{TableColumns.Comment} = 0;
|
||||
colwidth{TableColumns.Sweeps} = 50; colwidth{TableColumns.Y} = 'auto'; set(handles.tableRaw, 'ColumnWidth', colwidth);
|
||||
% Find main GUI from input argument
|
||||
rawData = varargin{1};
|
||||
set(handles.tableRaw, 'Data', rawData);
|
||||
handles.output = hObject;
|
||||
% Update handles structure
|
||||
guidata(hObject, handles); uiwait(hObject);
|
||||
|
||||
% --- Outputs from this function are returned to the command line.
|
||||
function varargout = RawTableDisplay_OutputFcn(~,~,~)
|
||||
% varargout cell array for returning output args (see VARARGOUT);
|
||||
% Get default command line output from handles structure
|
||||
%varargout{1} = handles.output;
|
||||
@@ -0,0 +1,72 @@
|
||||
% X. Wang, 02-Feb-2021
|
||||
classdef TableColumns < uint32
|
||||
enumeration
|
||||
% File
|
||||
File(1)
|
||||
Comment(2)
|
||||
% Beamline
|
||||
hv(3)
|
||||
Polarization(4)
|
||||
Slit(5)
|
||||
% Analyzer
|
||||
Mode(6)
|
||||
Epass(7)
|
||||
EbEk(8)
|
||||
Energy(9)
|
||||
dt(10)
|
||||
Sweeps(11)
|
||||
% Manipulator
|
||||
Theta(12)
|
||||
Tilt(13)
|
||||
Azimuth(14)
|
||||
X(15)
|
||||
Y(16)
|
||||
Z(17)
|
||||
% Control
|
||||
Activate(18)
|
||||
Action(19)
|
||||
Time(20)
|
||||
end
|
||||
methods(Static)
|
||||
function v = numberColumns()
|
||||
v = 20;
|
||||
end
|
||||
function v = vectorizableColumns()
|
||||
v = [hv, Theat, Tilt, Azimuth, X, Z];
|
||||
end
|
||||
function v = emptyRow()
|
||||
v = {'' '' ... % File
|
||||
'' '' [] ... % Beamline
|
||||
'' [] '' '' '' [] ... % Analyzer
|
||||
'' '' '' '' '' ''... % Manipulator
|
||||
false 'Select' '' % Control
|
||||
};
|
||||
end
|
||||
function v = columnNames()
|
||||
v = {'File', 'Comment', ...
|
||||
'<html><b><i>hv</i></b></html>', 'Pol', 'Slit', ...
|
||||
'Mode', 'Epass', 'Eb/k', 'Energy', 'dt(s)', 'Sweeps', ...
|
||||
'<html><b><i>Theta</i></b></html>', ...
|
||||
'<html><b><i>Tilt</i></b></html>', ...
|
||||
'<html><b><i>Azim</i></b></html>', ...
|
||||
'<html><b><i>X</i></b></html>', ...
|
||||
'<html><b><i>Y</i></b></html>', ...
|
||||
'<html><b><i>Z</i></b></html>', ...
|
||||
'Activate', 'Action', 'T(min)'};
|
||||
end
|
||||
function v = columnFormats()
|
||||
v = {'char', 'char', ...
|
||||
'char', {'LH','LV','C+','C-'}, 'char',...
|
||||
{'WAM','MAM','LAD'}, 'char', {'Eb','Ek'}, 'char', 'char', 'char', ...
|
||||
'char', 'char', 'char', 'char', 'char', 'char' ...
|
||||
'logical', {'Select','Clear','Copy','Paste','Edit Raw', 'Load Raw'}, 'char'};
|
||||
end
|
||||
function v = columnWidth()
|
||||
v = {122 122 ...
|
||||
80 40 40 ...
|
||||
45 40 40 80 30 0 ...
|
||||
70 70 70 70 0 70 ...
|
||||
50 70 70};
|
||||
end
|
||||
end
|
||||
end
|
||||
Binary file not shown.
@@ -0,0 +1,90 @@
|
||||
function varargout = ViewSetup(varargin)
|
||||
% VIEWSETUP MATLAB code for ViewSetup.fig
|
||||
% VIEWSETUP, by itself, creates a new VIEWSETUP or raises the existing
|
||||
% singleton*.
|
||||
% H = VIEWSETUP returns the handle to a new VIEWSETUP or the handle to
|
||||
% the existing singleton*.
|
||||
% VIEWSETUP('CALLBACK',hObject,eventData,handles,...) calls the local
|
||||
% function named CALLBACK in VIEWSETUP.M with the given input arguments.
|
||||
% VIEWSETUP('Property','Value',...) creates a new VIEWSETUP or raises the
|
||||
% existing singleton*. Starting from the left, property value pairs are
|
||||
% applied to the GUI before ViewSetup_OpeningFcn gets called. An
|
||||
% unrecognized property name or invalid value makes property application
|
||||
% stop. All inputs are passed to ViewSetup_OpeningFcn via varargin.
|
||||
% *See GUI Options on GUIDE's Tools menu. Choose "GUI allows only one
|
||||
% instance to run (singleton)".
|
||||
% Last Modified by GUIDE v2.5 05-Nov-2020 12:36:57
|
||||
% Begin initialization code - DO NOT EDIT
|
||||
gui_Singleton = 1;
|
||||
gui_State = struct('gui_Name', mfilename, ...
|
||||
'gui_Singleton', gui_Singleton, ...
|
||||
'gui_OpeningFcn', @ViewSetup_OpeningFcn, ...
|
||||
'gui_OutputFcn', @ViewSetup_OutputFcn, ...
|
||||
'gui_LayoutFcn', [] , ...
|
||||
'gui_Callback', []);
|
||||
if nargin && ischar(varargin{1})
|
||||
gui_State.gui_Callback = str2func(varargin{1});
|
||||
end
|
||||
if nargout
|
||||
[varargout{1:nargout}] = gui_mainfcn(gui_State, varargin{:});
|
||||
else
|
||||
gui_mainfcn(gui_State, varargin{:});
|
||||
end
|
||||
% End initialization code - DO NOT EDIT
|
||||
|
||||
% --- Executes just before ViewSetup is made visible.
|
||||
function ViewSetup_OpeningFcn(hObject,~,handles,varargin)
|
||||
% This function has no output args, see OutputFcn.
|
||||
% hObject handle to figure
|
||||
% varargin command line arguments to ViewSetup (see VARARGIN)
|
||||
% Choose default command line output for ViewSetup
|
||||
handles.output = hObject;
|
||||
% Update handles structure
|
||||
guidata(hObject, handles);
|
||||
% figure properties
|
||||
% set(gcf,'WindowStyle','modal')
|
||||
% global parameters
|
||||
% - initial values
|
||||
global FracView FracViewIni XRange YRange viewMode gamma gammaIni render renderIni
|
||||
if viewMode==2; set([handles.editFracView handles.editGamma handles.popupmenuRender],'Enable','Off');
|
||||
else set([handles.editFracView handles.editGamma handles.popupmenuRender],'Enable','On'); end
|
||||
if isempty(FracView); FracView=FracViewIni; end; set(handles.editFracView,'String',sprintf('%g:%g',FracView));
|
||||
if isempty(XRange); set(handles.editXRange,'String','Full'); else; set(handles.editXRange,'String',sprintf('%g:%g',XRange)); end
|
||||
if isempty(YRange); set(handles.editYRange,'String','Full'); else; set(handles.editYRange,'String',sprintf('%g:%g',YRange)); end
|
||||
gammaIni=1; if isempty(gamma); gamma=gammaIni; end; set(handles.editGamma,'String',gamma);
|
||||
renderIni='Flat'; if isempty(render); render=renderIni; end; if isequal(render,'Flat'); set(handles.popupmenuRender,'value',1); else set(handles.popupmenuRender,'value',2); end
|
||||
% % - figure position
|
||||
% global xPos_View yPos_View
|
||||
% Pos=get(gcf,'position'); offsetFigHeader=29;
|
||||
% set(gcf,'position',[xPos_View yPos_View-Pos(4)-offsetFigHeader Pos(3) Pos(4)]);
|
||||
|
||||
% --- Outputs from this function are returned to the command line.
|
||||
function varargout = ViewSetup_OutputFcn(~,~,handles)
|
||||
% varargout cell array for returning output args (see VARARGOUT);
|
||||
% hObject handle to figure
|
||||
% Get default command line output from handles structure
|
||||
varargout{1} = handles.output;
|
||||
|
||||
% --- Executes on button press in editFracView.
|
||||
function editFracView_Callback(hObject,~,~)
|
||||
global FracView FracViewIni
|
||||
FracView=field2num(hObject); if length(FracView)~=2; FracView=FracViewIni; set(hObject,'String',sprintf('%g:%g',FracView)); end
|
||||
|
||||
% --- Executes on button press in editXRange.
|
||||
function editXRange_Callback(hObject,~,~)
|
||||
global XRange
|
||||
XRange=field2num(hObject); if length(XRange)~=2; XRange=[]; set(hObject,'String','Full'); end
|
||||
|
||||
% --- Executes on button press in editYRange.
|
||||
function editYRange_Callback(hObject,~,~)
|
||||
global YRange
|
||||
YRange=field2num(hObject); if length(YRange)~=2; YRange=[]; set(hObject,'String','Full'); end
|
||||
|
||||
function editGamma_Callback(hObject,~,~)
|
||||
global gamma
|
||||
gamma=field2num(hObject,1); set(hObject,'String',num2str(gamma))
|
||||
|
||||
% --- Executes on selection change in popupmenuRender.
|
||||
function popupmenuRender_Callback(hObject,~,~)
|
||||
global render
|
||||
val=get(hObject,'Value'); if val==1; render='Flat'; else render='Interp'; end
|
||||
@@ -0,0 +1,16 @@
|
||||
function Num = field2num(Field,DefaultNum)
|
||||
% Num = field2num(Field [,DefaultNum]) reads numerical input in Field (scalar or
|
||||
% a two-element vector separated by colon) into Num relayed in the field. If input
|
||||
% is invalid and DefaultNum specified, Num and the field are set to DefaultNum.
|
||||
|
||||
% if ~isequal(Field,'hObject'); eval('Field=[''handles.'' Field];'); end % does not work
|
||||
Str=get(Field,'String'); if ~isempty(findstr(Str,' ')); Str='XXX'; end; Str=strrep(Str,':',' ');
|
||||
% Num=sort(str2num(Str));
|
||||
Num=str2num(Str);
|
||||
if nargin>1
|
||||
if isempty(Num)||length(Num)>2; Num=DefaultNum;
|
||||
if length(DefaultNum)==1; set(Field,'String',sprintf('%g',DefaultNum))
|
||||
else set(Field,'String',sprintf('%g:%g',DefaultNum))
|
||||
end
|
||||
end
|
||||
end
|
||||
@@ -0,0 +1,81 @@
|
||||
function [EAlign,EF,Fail]=AlignEF(Data,ECorr,eWin,dEWin,dESmooth,feat)
|
||||
% [EAlign,EF,Fail]=AlignEF(Data,ECorr [,eWin] [,dEWin] [,dESmooth] [,feat]) aligns the energy scale relative
|
||||
% to EF or peak . The inputs are 2D or 3D data array Data, corresponding 1D-column % vector or
|
||||
% (curvature corrected) 2D-matrix of energies ECorr, (optional scalar/vector of the length size(Data,3) or
|
||||
% empty value) approximate EF position eWin, (optional or empty value) width of the EF support dEWin,
|
||||
% (optional or empty value) Gaussian pre-smoothing energy width dESmooth, and (optional or empty
|
||||
% value) feat = 'Peak' (case-insensitive) defines the feature to align as a peak instead of the default Fermi
|
||||
% edge. If eWin,dEWin and dESmooth are skipped or empty values, they take reasonable automatic
|
||||
% values. The output EF is the determined EF positions in the input energy scale. Fail returns the indices
|
||||
% of the scans where the alignment failed and EF was set to eWin.
|
||||
% - Ver. 7 Mar 2020 (added vectorization of eWin)
|
||||
disp('- EF alignment')
|
||||
|
||||
% parameters
|
||||
% - dimensions
|
||||
nE=size(Data,1); nA=size(Data,2); nS=size(Data,3);
|
||||
% - energy matrix
|
||||
if size(ECorr,2)==1; rep=1; ECorr=repmat(ECorr,1,nA); else rep=0; end
|
||||
% - energy interval and step
|
||||
eMin=max(ECorr(1,:)); eMax=min(ECorr(end,:)); eInterval=eMax-eMin; dE=eInterval/(size(ECorr,1)-1);
|
||||
% - failed alignment indices
|
||||
Fail=[];
|
||||
% automatic parameters
|
||||
if nargin<6; feat='Edge'; end
|
||||
if nargin<5; dESmooth=[]; end; if isempty(dESmooth); dESmooth=0.01*eInterval; end
|
||||
if nargin<4; dEWin=[]; end; if isempty(dEWin); dEWin=0.1*eInterval; end
|
||||
if nargin<3; eWin=[]; end; if isempty(eWin); eWin=eMin+0.7*eInterval; dEWin=0.1*eInterval; end
|
||||
if isscalar(eWin); eWin=eWin*ones(1,size(Data,3)); end
|
||||
if length(eWin)~=size(Data,3); disp('- AlignEF: Incompatible eWin length'); return; end
|
||||
|
||||
% angle integration (can be replaced by evalc(IntAngle(...), where evalc suppresses text output)
|
||||
% - reference grid
|
||||
EInt=(eMin:dE:eMax)';
|
||||
% - cycle over angles in triads for speed
|
||||
AngleInt=zeros(length(EInt),nS);
|
||||
for iS=1:nS
|
||||
if nA>1
|
||||
for iA=round(0.05*nA)+1:3:round(0.95*nA)-1
|
||||
% - interpolation on the reference grid
|
||||
ACorr=interp1(ECorr(:,iA),sum(Data(:,iA-1:iA+1,iS),2),EInt);
|
||||
% - angle integration
|
||||
AngleInt(:,iS)=AngleInt(:,iS)+ACorr;
|
||||
end
|
||||
else
|
||||
AngleInt(:,iS)=Data(:,1,nS);
|
||||
end
|
||||
end
|
||||
|
||||
% processing
|
||||
% - logarithmic derivative if edge not peak
|
||||
if ~isequal(lower(feat),'peak')
|
||||
D=AngleInt(3:length(EInt),:)-AngleInt(1:length(EInt)-2,:); D=[D(1,:);D;D(end,:)];
|
||||
D=D./AngleInt;
|
||||
else D=-1*AngleInt; end
|
||||
% - smoothing (after the derivation to suppress the spikes)
|
||||
hwPts=dESmooth/dE; hsPts=3*hwPts; DS=Gaco1(D,hwPts,hsPts);
|
||||
|
||||
% alignment at EF
|
||||
% - cycle through scans
|
||||
EAlign=zeros(nE,nA,nS); EF=zeros(1,nS);
|
||||
for iS=1:nS
|
||||
% - alignment region
|
||||
DS1=DS(EInt>=eWin(iS)-dEWin/2&EInt<=eWin(iS)+dEWin/2,iS);
|
||||
ERef=EInt(EInt>=eWin(iS)-dEWin/2&EInt<=eWin(iS)+dEWin/2);
|
||||
% - locating the minimum
|
||||
L=DS1(1:end-2); C=DS1(2:end-1); R=DS1(3:end); IMinima=1+find(C<L&C<R);
|
||||
if isempty(IMinima)
|
||||
eF=eWin(iS); Fail=[Fail iS];
|
||||
disp(['Error in AlignEF.m: Failed to locate EF, scan = ' num2str(iS)]);
|
||||
else
|
||||
% - eF as the global minimum
|
||||
[~,iMin]=min(DS1(IMinima)); ind=IMinima(iMin);
|
||||
x=XYMax(-1*(DS1(ind-1:ind+1))');
|
||||
eF=ERef(ind-1)+x*(ERef(ind)-ERef(ind-1));
|
||||
end
|
||||
% - energy matrix alignment
|
||||
EAlign(:,:,iS)=ECorr-eF; EF(iS)=eF;
|
||||
end
|
||||
|
||||
% - reduction to energy vector
|
||||
if rep==1; EAlign=mean(EAlign,2); end
|
||||
Binary file not shown.
@@ -0,0 +1,50 @@
|
||||
function ECorr=CurveCorr(Angle,Energy,ep,CurveFit)
|
||||
% ECorr=CurveCorr(Angle,Energy [,ep] [,CurveFit]) returns curvature corrected matrix
|
||||
% of (binding or kinetic) energies ECorr for the vector of angles Angle, vector of
|
||||
% (binding or kinetic) energies Energy and pass energy ep with the curvature fit data
|
||||
% taken from the file CurveFit. If the input ep is omitted or empty, it is set to the
|
||||
% default value based on the input energy range.
|
||||
% Note: CurveCorr assumes the raw size of the data array as produced by
|
||||
% ReadARPES without trimming
|
||||
|
||||
disp('- Curvature correction')
|
||||
|
||||
% parameters
|
||||
nA=length(Angle);
|
||||
% default pass energy
|
||||
if nargin<3; ep=[]; end
|
||||
if isempty(ep)
|
||||
ep=(Energy(end)-Energy(1))/(2*0.066);
|
||||
end
|
||||
% default calibration file
|
||||
if nargin<4; CurveFit=[]; end
|
||||
if isempty(CurveFit)
|
||||
CurveFit='CurveFit.dat';
|
||||
end
|
||||
|
||||
% mode WAM/MAM/LAD/MAD = 1/2/3/4
|
||||
aRange=Angle(end)-Angle(1);
|
||||
mode=4; if aRange>12; mode=3; end; if aRange>18; mode=2; end; if aRange>24; mode=1; end;
|
||||
|
||||
% load curvature correction
|
||||
CurveFit=load(CurveFit);
|
||||
% select the mode
|
||||
ind=find(CurveFit(:,1)==mode);
|
||||
if isempty(ind); disp('- Error: Angular mode not curvature calibrated'); ECorr=[]; return
|
||||
else CurveFit=CurveFit(ind,2:end);
|
||||
end
|
||||
% interpolate fitting coefficients
|
||||
if size(CurveFit,1)==1
|
||||
curveFit=CurveFit(2:end);
|
||||
else
|
||||
Ep=[0;CurveFit(:,1);realmax];
|
||||
CurveFit=[CurveFit(1,2:end);CurveFit(:,2:end);CurveFit(end,2:end)];
|
||||
curveFit=interp1q(Ep',CurveFit,ep);
|
||||
end
|
||||
% append zero constant term
|
||||
curveFit=[curveFit 0];
|
||||
|
||||
% angle-dependent energy correction
|
||||
ECorr=polyval(curveFit,Angle)*ep;
|
||||
% corrected energy matrix
|
||||
ECorr=repmat(Energy,1,nA)-repmat(ECorr,length(Energy),1);
|
||||
@@ -0,0 +1,59 @@
|
||||
% WAM data: Derived from the data taken on 10.07.2013 with Ag 3d doublet,
|
||||
% only the high-energy peak, Ek~350eV, range +/-14deg, Uconv=-0.1*Ep
|
||||
1.0000000e+00 3.0000000e+01 5.7549797e-08 2.1158619e-07 -3.3674509e-05 -8.4042108e-05
|
||||
1.0000000e+00 3.5000000e+01 1.0505235e-07 7.1089350e-07 -5.1345310e-05 -1.5238416e-04
|
||||
1.0000000e+00 4.0000000e+01 9.2186459e-08 6.4460407e-07 -4.5949043e-05 -1.3554235e-04
|
||||
1.0000000e+00 5.0000000e+01 7.0686093e-08 5.2940559e-07 -3.9347857e-05 -1.1235947e-04
|
||||
1.0000000e+00 6.0000000e+01 5.6283692e-08 4.5041152e-07 -3.3508238e-05 -9.4024728e-05
|
||||
1.0000000e+00 7.0000000e+01 4.6072350e-08 3.8347197e-07 -3.0571355e-05 -8.1005505e-05
|
||||
1.0000000e+00 8.0000000e+01 2.9146535e-08 2.2734112e-07 -2.4364012e-05 -5.0864007e-05
|
||||
1.0000000e+00 9.0000000e+01 2.5496097e-08 1.9852660e-07 -2.4291307e-05 -4.4976466e-05
|
||||
1.0000000e+00 1.0000000e+02 3.1989259e-08 2.4854284e-07 -2.8141413e-05 -5.4139857e-05
|
||||
1.0000000e+00 1.1000000e+02 2.7389427e-08 2.5019251e-07 -2.6970258e-05 -5.4302099e-05
|
||||
1.0000000e+00 1.2000000e+02 2.2344655e-08 2.3894543e-07 -2.5521078e-05 -5.1900527e-05
|
||||
1.0000000e+00 1.3000000e+02 2.0850462e-08 2.2253980e-07 -2.4625183e-05 -4.9655316e-05
|
||||
1.0000000e+00 1.5000000e+02 1.8535201e-08 2.1325583e-07 -2.3211084e-05 -4.6419003e-05
|
||||
1.0000000e+00 1.7000000e+02 1.7530471e-08 1.9432319e-07 -2.2085372e-05 -4.2948120e-05
|
||||
1.0000000e+00 1.9000000e+02 1.7808490e-08 1.9211485e-07 -2.1718196e-05 -4.1936317e-05
|
||||
1.0000000e+00 2.1000000e+02 1.6743817e-08 1.7716850e-07 -2.1202846e-05 -3.9064115e-05
|
||||
1.0000000e+00 2.3000000e+02 1.5972928e-08 1.6835411e-07 -2.0703645e-05 -3.7292074e-05
|
||||
|
||||
% MAM data: Derived from the data taken on 06.02.2014 with Au 4f doublet,
|
||||
% only the high-energy peak, Ek=600eV, range +/-10deg, Uconv=-0.1*Ep
|
||||
2.0000000e+00 5.0000000e+01 -5.1437913e-08 -1.2542236e-08 -1.7764284e-05 -3.7514664e-05
|
||||
2.0000000e+00 6.0000000e+01 -1.8041414e-08 -2.4458453e-08 -2.3996694e-05 -4.1370343e-05
|
||||
2.0000000e+00 7.0000000e+01 2.9236181e-08 1.2566237e-07 -2.9297142e-05 -5.2360323e-05
|
||||
2.0000000e+00 8.0000000e+01 1.2752606e-08 7.8533778e-08 -2.7479533e-05 -4.9415261e-05
|
||||
2.0000000e+00 9.0000000e+01 7.5112234e-09 2.0679238e-08 -2.5652457e-05 -4.2271472e-05
|
||||
2.0000000e+00 1.0000000e+02 -1.4011202e-08 2.8402782e-09 -2.2424522e-05 -3.9853476e-05
|
||||
2.0000000e+00 1.1000000e+02 4.0507111e-09 5.9354326e-08 -2.4315809e-05 -4.3545690e-05
|
||||
2.0000000e+00 1.2000000e+02 1.5488383e-08 8.7218602e-08 -2.5835792e-05 -4.4856094e-05
|
||||
2.0000000e+00 1.3000000e+02 4.8677328e-09 1.4383923e-07 -2.3652203e-05 -4.6226302e-05
|
||||
2.0000000e+00 1.5000000e+02 -5.7244407e-08 -5.8666841e-08 -1.7606347e-05 -3.4487768e-05
|
||||
2.0000000e+00 1.7000000e+02 -4.1382132e-08 -2.8961874e-08 -1.9501614e-05 -3.6009241e-05
|
||||
2.0000000e+00 1.9000000e+02 -2.2639470e-08 3.7623335e-09 -2.1696643e-05 -3.8397051e-05
|
||||
2.0000000e+00 2.1000000e+02 -1.2801735e-08 -2.3204288e-08 -2.2944474e-05 -3.6757262e-05
|
||||
2.0000000e+00 2.4000000e+02 -1.1737097e-08 -5.1748812e-09 -2.2853740e-05 -3.6909846e-05
|
||||
2.0000000e+00 2.8000000e+02 -7.8257657e-09 1.2411199e-08 -2.3460122e-05 -3.7130127e-05
|
||||
2.0000000e+00 3.2000000e+02 2.7760873e-09 2.3242272e-08 -2.4619223e-05 -3.7341181e-05
|
||||
2.0000000e+00 3.6000000e+02 -1.5466724e-08 -1.2627854e-08 -2.2548439e-05 -3.4346397e-05
|
||||
2.0000000e+00 4.0000000e+02 -1.8199853e-08 -1.9653684e-08 -2.2350511e-05 -3.3019789e-05
|
||||
|
||||
% LAD data: Derived from the data taken on 10.07.2013 with As 3d doublet,
|
||||
% average of two peaks, Ek~450eV, range +/-7deg, Uconv=-0.1*Ep
|
||||
3.0000000e+00 2.0000000e+01 -5.6590710e-07 3.7657977e-07 -4.5918343e-05 -1.5095901e-04
|
||||
3.0000000e+00 2.5000000e+01 -4.7487888e-08 8.0426266e-07 -5.3329296e-05 -1.0409184e-04
|
||||
3.0000000e+00 3.0000000e+01 4.6092656e-08 5.1490354e-07 -5.7203510e-05 -9.6523178e-05
|
||||
3.0000000e+00 4.0000000e+01 -3.9284756e-08 5.1742300e-07 -5.2464655e-05 -5.7580797e-05
|
||||
3.0000000e+00 5.0000000e+01 -9.4676429e-08 3.5994451e-07 -5.5091213e-05 -4.8691923e-05
|
||||
3.0000000e+00 6.0000000e+01 -1.7565702e-09 3.6889550e-07 -5.9880389e-05 -4.8252266e-05
|
||||
3.0000000e+00 7.0000000e+01 -2.0084433e-08 4.1847882e-07 -5.8378467e-05 -4.8201603e-05
|
||||
3.0000000e+00 8.0000000e+01 -8.1540589e-09 3.3351325e-07 -5.7895254e-05 -4.5131684e-05
|
||||
3.0000000e+00 1.0000000e+02 6.1610583e-10 4.3373624e-07 -5.9036927e-05 -4.7745530e-05
|
||||
3.0000000e+00 1.2000000e+02 -6.0724832e-09 3.4058051e-07 -5.8828172e-05 -4.3386438e-05
|
||||
3.0000000e+00 1.4000000e+02 2.5038671e-08 2.7496880e-07 -6.0021915e-05 -3.9312189e-05
|
||||
3.0000000e+00 1.6000000e+02 2.1618208e-09 2.6940645e-07 -5.9964532e-05 -3.9010305e-05
|
||||
3.0000000e+00 1.8000000e+02 9.8608825e-09 2.5477795e-07 -6.0625964e-05 -3.6786976e-05
|
||||
3.0000000e+00 2.2000000e+02 3.6290369e-08 2.3779143e-07 -6.1622441e-05 -3.2874057e-05
|
||||
3.0000000e+00 2.6000000e+02 3.4024333e-08 2.3038477e-07 -6.0573206e-05 -3.1100064e-05
|
||||
3.0000000e+00 2.6000000e+02 3.4024333e-08 2.3038477e-07 -6.0573206e-05 -3.1100064e-05
|
||||
@@ -0,0 +1,35 @@
|
||||
% WAM data: Derived from the data taken on 10.07.2013 with Ag3d doublet,
|
||||
% only the high-energy peak, Ek~350eV, range +/-14deg, Uconv=0
|
||||
1.0000000e+00 3.0000000e+01 2.1306546e-08 1.4768044e-07 -2.8795764e-05 -8.5032310e-05
|
||||
% 1.0000000e+00 3.0000000e+01 1.0393199e-07 3.3741764e-07 -3.8090737e-05 -9.8030810e-05
|
||||
1.0000000e+00 3.5000000e+01 1.0631018e-07 7.5754682e-07 -5.1340744e-05 -1.5328049e-04
|
||||
1.0000000e+00 4.0000000e+01 1.0080948e-07 6.8498696e-07 -4.7175019e-05 -1.3615200e-04
|
||||
1.0000000e+00 5.0000000e+01 7.9379740e-08 5.8225266e-07 -4.1056249e-05 -1.1444108e-04
|
||||
1.0000000e+00 6.0000000e+01 6.4803800e-08 4.9031506e-07 -3.5221582e-05 -9.4853610e-05
|
||||
1.0000000e+00 7.0000000e+01 5.2840298e-08 4.0994889e-07 -3.2070365e-05 -8.0827960e-05
|
||||
1.0000000e+00 8.0000000e+01 3.4672706e-08 2.4991694e-07 -2.5523078e-05 -5.1622928e-05
|
||||
1.0000000e+00 9.0000000e+01 2.8673121e-08 2.1401474e-07 -2.5286271e-05 -4.5141067e-05
|
||||
1.0000000e+00 1.0000000e+02 2.7832710e-08 2.0968809e-07 -2.5140436e-05 -4.3153996e-05
|
||||
1.0000000e+00 1.1000000e+02 3.0312848e-08 2.7422049e-07 -2.8034394e-05 -5.4651777e-05
|
||||
1.0000000e+00 1.2000000e+02 2.7064196e-08 2.6192190e-07 -2.6748270e-05 -5.2730280e-05
|
||||
1.0000000e+00 1.3000000e+02 2.3602394e-08 2.4425979e-07 -2.5610484e-05 -5.0146420e-05
|
||||
1.0000000e+00 1.5000000e+02 2.1596039e-08 2.3548527e-07 -2.4195916e-05 -4.7598225e-05
|
||||
1.0000000e+00 1.7000000e+02 2.2027151e-08 2.2445147e-07 -2.3256239e-05 -4.4669348e-05
|
||||
1.0000000e+00 1.9000000e+02 2.1021630e-08 2.0826566e-07 -2.2647293e-05 -4.1608327e-05
|
||||
1.0000000e+00 2.1000000e+02 1.9713603e-08 1.9696854e-07 -2.2082909e-05 -3.9933074e-05
|
||||
1.0000000e+00 2.3000000e+02 1.6458739e-08 1.6959803e-07 -2.0449888e-05 -3.4962645e-05
|
||||
% LAD data: Derived from the data taken on 08.09.2011 with Bi4f doublet,
|
||||
% only the high-energy peak, Ek~335eV, range +/-8deg, Uconv=0.
|
||||
2.0000000e+00 2.0000000e+01 -3.8292981e-07 -6.8686463e-07 -2.0384950e-05 -4.4744837e-05
|
||||
2.0000000e+00 3.0000000e+01 -9.1341088e-08 -3.3673794e-07 -3.8264046e-05 -3.3915924e-05
|
||||
2.0000000e+00 4.0000000e+01 -1.9917581e-08 7.3363282e-08 -4.2197301e-05 -3.1728725e-05
|
||||
2.0000000e+00 5.0000000e+01 2.7592216e-08 -1.3185723e-07 -4.5099978e-05 -2.6869346e-05
|
||||
2.0000000e+00 6.0000000e+01 -4.6319220e-08 -8.6985546e-08 -4.2574396e-05 -2.9587033e-05
|
||||
2.0000000e+00 7.0000000e+01 6.3612583e-08 1.3971578e-07 -4.7547438e-05 -3.1673379e-05
|
||||
2.0000000e+00 8.0000000e+01 7.1098497e-08 7.5987040e-08 -4.7584179e-05 -3.1804050e-05
|
||||
2.0000000e+00 1.0000000e+02 3.7604619e-08 -9.4977276e-08 -4.7238403e-05 -2.3134884e-05
|
||||
2.0000000e+00 1.2500000e+02 -2.9897730e-08 -9.9245647e-08 -4.5563467e-05 -2.1980214e-05
|
||||
2.0000000e+00 1.5000000e+02 5.9584031e-08 1.8400067e-07 -4.9629554e-05 -2.9789333e-05
|
||||
2.0000000e+00 2.0000000e+02 6.7021293e-08 -6.2406963e-08 -4.9811175e-05 -2.2856145e-05
|
||||
2.0000000e+00 2.5000000e+02 4.3345596e-09 -6.4595199e-08 -4.7740393e-05 -2.3217752e-05
|
||||
2.0000000e+00 3.0000000e+02 3.1404303e-08 6.1270702e-08 -4.8883771e-05 -2.6030532e-05
|
||||
@@ -0,0 +1,74 @@
|
||||
function [XCut,DCut]=Cut(ACorr,ECorr,Data,xMode,Win)
|
||||
% [XCut,DCut]=Cut(ACorr,ECorr,Data,xMode,Win) calculates 1D array DCut of intensity as
|
||||
% a function of 1D array XCut(raw vector of angles/momenta) for xMode='mdc', or XCut
|
||||
% (column vector of energies in Energy dimension) for xMode='edc'. The input 2D array
|
||||
% Data of intensity is defined on the 1D (row) or 2D array ACorr of [warping corrected]
|
||||
% angles/momenta and the 1D (column) or 2D array ECorr of curvature corrected [aligned]
|
||||
% energies. DCut is integrated within the Win window [win1 win2] in energies (xMode='mdc')
|
||||
% or angles/momenta (xMode='edc'). XCut is calculated in the middle of Win.
|
||||
% Ver. 01.01.2021
|
||||
|
||||
% Revisions to Ver. 29.12.2017: Grossly reworked to correct the dimensions and linear/subscript indexing of the arrays meeting in the interpolation
|
||||
|
||||
disp('- Data cut formation')
|
||||
|
||||
% check inputs
|
||||
% - supported modes
|
||||
xMode=lower(xMode);
|
||||
if ~isequal(xMode,'mdc') && ~isequal(xMode,'edc')
|
||||
XCut=[]; DCut=[]; disp('Error: Only ''mdc'' and ''edc'' modes supported'); return;
|
||||
end
|
||||
% - integration window and its check
|
||||
Win=sort(Win);
|
||||
Win(1)=Win(1)+1e-10*diff(Win); Win(2)=Win(2)-1e-10*diff(Win); % to avoid the edge effects in the code
|
||||
if isequal(xMode,'mdc') Range=[max(ECorr(1,:)) min(ECorr(end,:))];
|
||||
else Range=[max(ACorr(:,1)) min(ACorr(:,end))]; end
|
||||
if Win(1)<Range(1)||Win(2)>Range(2)
|
||||
XCut=[]; DCut=[]; disp('Error: Inconsistent integration window'); return;
|
||||
end
|
||||
|
||||
% shaping the arrays
|
||||
% - remove NaNs spoiling the cumulative sum
|
||||
Data(isnan(Data))=0;
|
||||
% - expanding ACorr and ECorr if 1D arrays
|
||||
if size(ACorr,1)==1; ACorr=repmat(ACorr,size(Data,1),1); end
|
||||
if size(ECorr,2)==1; ECorr=repmat(ECorr,1,size(Data,2)); end
|
||||
% - array permutation to reduce the 'edc' mode to 'mdc'
|
||||
if isequal(xMode,'edc')
|
||||
ACorr=ACorr'; ECorr=ECorr'; Data=Data';
|
||||
T=ACorr; ACorr=ECorr; ECorr=T; clear T;
|
||||
end
|
||||
% - shifted energy arrays for locating the window
|
||||
ECorr1=ECorr(1:end-1,:); ECorr2=ECorr(2:end,:);
|
||||
|
||||
% parameters
|
||||
de=mean(mean(diff(ECorr,1)));
|
||||
|
||||
% array of intensity values DCut
|
||||
% cumulative array
|
||||
ISum=cumsum(Data(1:end,:),1)-0.5*Data(1:end,:)-0.5*Data(1,:);
|
||||
% - point 1
|
||||
% - - subscripts and linear indices of the grid point below Win(1)
|
||||
[I,J]=find(ECorr1<=Win(1)&ECorr2>Win(1)); Lin1=sub2ind(size(ECorr),I,J);
|
||||
% - - linear indices of the grid point above Win(1)
|
||||
Lin2=sub2ind(size(ECorr),I+1,J);
|
||||
% - - interpolation of the linear matrices defined by linear indices
|
||||
I1=ISum(Lin1)+(ISum(Lin2)-ISum(Lin1)).*(Win(1)-ECorr(Lin1))/de;
|
||||
% - point 2
|
||||
[I,J]=find(ECorr1<=Win(2)&ECorr2>Win(2)); Lin1=sub2ind(size(ECorr),I,J);
|
||||
Lin2=sub2ind(size(ECorr),I+1,J);
|
||||
I2=ISum(Lin1)+(ISum(Lin2)-ISum(Lin1)).*(Win(2)-ECorr(Lin1))/de;
|
||||
% integral value
|
||||
DCut=I2-I1;
|
||||
% normalization
|
||||
DCut=DCut*de/(eps+diff(Win));
|
||||
|
||||
% array of coordinate values XCut interpolated in the middle of Win
|
||||
% - this block runs ~25% of the integration block runtime
|
||||
midE=mean(Win);
|
||||
[I,J]=find(ECorr1<=midE&ECorr2>midE);
|
||||
Lin1=sub2ind(size(ECorr),I,J); Lin2=sub2ind(size(ECorr),I+1,J);
|
||||
XCut=ACorr(Lin1)+(ACorr(Lin2)-ACorr(Lin1)).*(midE-ECorr(Lin1))/de;
|
||||
|
||||
% transpose if the MDC mode
|
||||
if isequal(xMode,'mdc'); DCut=DCut'; XCut=XCut'; end
|
||||
@@ -0,0 +1,29 @@
|
||||
function AA=DiffFlt2(A,scheme,sharp,dX2dY)
|
||||
% AA=DiffFlt2(A,scheme,sharp [,dX2dY]) applies a curvature filter to sharpen the structure in the 2D array A.
|
||||
% Inputs:
|
||||
% scheme='1D' or '2D' selects 1D derivation along columns or 2D derivaton
|
||||
% sharp from 0 to 1 tunes the sharpening essentially from smooth f'' to singular 1/f'
|
||||
% dX2dY (if scheme='2D') is the step-width ratio between rows and columns
|
||||
% Algorithm: Zhang et al, "A precise method for visualizing dispersive features in image plots," Revi. Sci. Instr. 82 (2011) 043712
|
||||
|
||||
% check input
|
||||
if ~isequal(scheme,'1D')&&~isequal(scheme,'2D'); disp('Input error in CurvFlt2: scheme must be ''1D'' or ''2D'); AA=[]; return; end
|
||||
if sharp<0||sharp>1; disp('Input error in CurvFlt2: sharp must be between 0 and 1'); AA=[]; return; end
|
||||
|
||||
% sharpening constant
|
||||
c=1/(sharp+eps)-1;
|
||||
|
||||
% 1D derivation scheme
|
||||
if isequal(scheme,'1D')
|
||||
% - normalize the derivative
|
||||
A1Sq=DifC(A,1).^2; A1Sq=A1Sq./mean(A1Sq(~isnan(A1Sq)));
|
||||
% - calculate curvature
|
||||
AA=DifC(A,2)./(c+A1Sq).^(3/2);
|
||||
% 2D derivation scheme (neglecting cross-derivatives in the exact curvature)
|
||||
else
|
||||
% - normalize the partial derivatives along X and Y
|
||||
A1XSq=DifC(A',1).^2; A1XSq=A1XSq./mean(A1XSq(~isnan(A1XSq)));
|
||||
A1YSq=DifC(A,1).^2; A1YSq=A1YSq./mean(A1YSq(~isnan(A1YSq)));
|
||||
% - calculate curvature
|
||||
AA=(DifC(A',2)./(c+A1XSq).^(3/2))'+dX2dY^2*DifC(A,2)./(c+A1YSq).^(3/2);
|
||||
end
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -0,0 +1,54 @@
|
||||
function AA=Gaco2(A,hwX,hwY,hsX,hsY)
|
||||
% AA=Gaco2(A,hwX,hwY [,hsX] [,hsY]) convolves vector or matrix A with Gaussian of half-width/
|
||||
% half-support along the rows hwX/hsX (in inter-point distances > 0) and along the columns hwY/hsY.
|
||||
% If empty or skipped, the default hsX=3*hwX and hsY=3*hwY. Setting hwX or hwY to zero disables
|
||||
% convolution along the corresponding direction. The input A is padded by the end values.
|
||||
% Gaco2 is equivalent to Gaco1 except that it convolves along both dimensions.
|
||||
% Ver. 23.12.2020
|
||||
|
||||
% Update to Ver. 17.06.2017: 2D convolution changed to two 1D convolutions to keep the dimensionality at ~50% increase of runtime
|
||||
|
||||
% default supports
|
||||
if nargin<4||isempty(hsX); hsX=3*hwX; end; hsX=round(hsX);
|
||||
if nargin<5||isempty(hsY); hsY=3*hwY; end; hsY=round(hsY);
|
||||
|
||||
% convolution along rows
|
||||
if hwX~=0
|
||||
% - normalized kernel
|
||||
KX=-1*hsX:hsX; KX=exp(-1*(sqrt(log(2))*KX/(hwX)).^2); KX=KX/sum(KX);
|
||||
% - padding
|
||||
A=padarray(A,[0 hsX],'replicate','both');
|
||||
% - convolution
|
||||
A=conv2(1,KX,A,'valid');
|
||||
end
|
||||
|
||||
% convolution along columns
|
||||
if hwY~=0
|
||||
% - normalized kernel
|
||||
KY=(-1*hsY:hsY)'; KY=exp(-1*(sqrt(log(2))*KY/(hwY)).^2); KY=KY/sum(KY);
|
||||
% - padding
|
||||
A=padarray(A,[hsY 0],'replicate','both');
|
||||
% - convolution
|
||||
A=conv2(KY,1,A,'valid');
|
||||
end
|
||||
|
||||
% output
|
||||
AA=A;
|
||||
|
||||
% % Ver. 2017 (malfunctioning: changing dimensionality)
|
||||
% % normalized convolution kernels
|
||||
% % - along rows
|
||||
% if hwX==0; hsX=0; KX=1; else
|
||||
% KX=(-1*hsX:hsX)'; KX=exp(-1*(sqrt(log(2))*KX/(hwX)).^2);
|
||||
% KX=KX/sum(KX);
|
||||
% end
|
||||
% % - along columns
|
||||
% if hwY==0; hsY=0; KY=1; else
|
||||
% KY=-1*hsY:hsY; KY=exp(-1*(sqrt(log(2))*KY/(hwY)).^2); KY=KY/sum(KY);
|
||||
% end
|
||||
%
|
||||
% % padding A
|
||||
% A=padarray(A,[hsY hsX],'replicate','both');
|
||||
%
|
||||
% % convolution
|
||||
% AA=conv2(KY,KX,A,'valid');
|
||||
@@ -0,0 +1,44 @@
|
||||
function h=ImData(X,Y,Z,style)
|
||||
% [h=] ImData(X,Y,Z[,style]) plots image of Z(X,Y) using the style 'flat' (default)
|
||||
% or 'interp' style. X and Y are vectors or 2D arrays, Z is 2D array.
|
||||
% h (optional) can be used for further handling of the image (rotation, etc)
|
||||
|
||||
% default style
|
||||
if nargin==3; style='flat'; end
|
||||
|
||||
% squeeze input arrays to 2D
|
||||
% X=squeeze(X); Y=squeeze(X); Z=squeeze(Z);
|
||||
|
||||
% X and Y matrices
|
||||
% [X,Y]=meshgrid(X,Y); end
|
||||
if size(X,1)==1||size(X,2)==1
|
||||
if size(X,1)>size(X,2); X=X'; end
|
||||
X=repmat(X,size(Z,1),1);
|
||||
end
|
||||
if size(Y,1)==1||size(Y,2)==1
|
||||
if size(Y,1)<size(Y,2); Y=Y'; end
|
||||
Y=repmat(Y,1,size(Z,2));
|
||||
end
|
||||
|
||||
if sum(size(Z)-size(X))~=0 || sum(size(Z)-size(Y))~=0 error('Mismatch of input matrices'); end
|
||||
|
||||
switch lower(style)
|
||||
case('flat')
|
||||
% appending along X
|
||||
DX=diff(X,1,2)/2; XV=[X(:,1)-DX(:,1) X(:,1:end-1)+DX X(:,end)+DX(:,end)];
|
||||
DXV=XV(end,:)-XV(end-1,:); XV=[XV; XV(end,:)+DXV];
|
||||
% appending along Y
|
||||
DY=diff(Y,1,1)/2; YV=[Y(1,:)-DY(1,:); Y(1:end-1,:)+DY; Y(end,:)+DY(end,:)];
|
||||
DYV=YV(:,end)-YV(:,end-1); YV=[YV YV(:,end)+DYV];
|
||||
% appending Z
|
||||
ZV=[Z NaN*ones(size(Z,1),1)]; ZV=[ZV; NaN*ones(1,size(ZV,2))];
|
||||
% plotting
|
||||
h=pcolor(XV,YV,ZV); set(h,'EdgeColor','None','FaceColor','Flat');
|
||||
case ('interp')
|
||||
h=pcolor(X,Y,Z); set(h,'EdgeColor','None','FaceColor','Interp');
|
||||
otherwise
|
||||
error('Invalid image style')
|
||||
end
|
||||
|
||||
% axes on top and ticks
|
||||
set(gca,'Layer','Top','TickDir','Out');
|
||||
@@ -0,0 +1,56 @@
|
||||
function [DataInt,EInt]=IntAngle(Data,ACorr,ECorr,Interval)
|
||||
% [DataInt,EInt]=IntAngle(Data,ACorr,ECorr [,Interval]) integrates 2D/3D
|
||||
% array Data over 1D/2D array ACorr of angles within Interval (default
|
||||
% is 90% of the ACorr range). The outputs are respectively 1D/2D integrated
|
||||
% data array DataInt and 1D energy vector EInt
|
||||
% Rev. 07.07.2019
|
||||
|
||||
disp('- Angle integrating')
|
||||
% parameters
|
||||
% - angular interval
|
||||
if nargin<4; Interval=0.9*[max(ACorr(:,1)) min(ACorr(:,end))]; end
|
||||
% - dimensions
|
||||
nE=size(Data,1); nA=size(Data,2); nS=size(Data,3);
|
||||
% - extend energy array to the data array
|
||||
if size(ECorr,2)==1; ECorr=repmat(ECorr,1,nA); end
|
||||
if nS>1&&size(ECorr,3)==1; ECorr=repmat(ECorr,1,1,nS); end
|
||||
% - reference energy grid
|
||||
if nA==1&&nS==1; EInt=ECorr;
|
||||
else eMin=max(max(ECorr(1,:,:))); eMax=min(min(ECorr(end,:,:))); EInt=linspace(eMin,eMax,nE)';
|
||||
end
|
||||
% data within the angular interval/normalization
|
||||
if size(ACorr,1)==1
|
||||
% - 1D-ACorr
|
||||
Data=Data(:,Interval(1)<=ACorr&ACorr<=Interval(2),:);
|
||||
nA=size(Data,2); Data=Data/nA;
|
||||
else
|
||||
% - 2D-ACorr
|
||||
Out=find(Interval(1)>ACorr|ACorr>Interval(2)); Data(Out)=0;
|
||||
Supp=ones(size(Data)); Supp(Out)=0;
|
||||
Weight=sum(Supp,2); Weight=repmat(Weight,1,nA);
|
||||
Data=Data.*Supp./Weight;
|
||||
end
|
||||
|
||||
% cycle over scans
|
||||
DataInt=zeros(nE,nS);
|
||||
for iS=1:nS
|
||||
% cycle over angles in triads for speed
|
||||
IntScan=zeros(size(EInt));
|
||||
for iA=2:3:nA-1
|
||||
% interpolation on the reference grid
|
||||
if nS>1
|
||||
DCorr=interp1(ECorr(:,iA,iS),sum(Data(:,iA-1:iA+1,iS),2),EInt);
|
||||
else
|
||||
if nA>1
|
||||
DCorr=interp1(ECorr(:,iA),sum(Data(:,iA-1:iA+1),2),EInt);
|
||||
else DCorr=interp1(ECorr,sum(Data(:,iA-1:iA+1),2),EInt);
|
||||
end
|
||||
end
|
||||
% angle integration
|
||||
IntScan=IntScan+DCorr;
|
||||
end
|
||||
% check
|
||||
% figure; plot(EInt,DD,EInt,DDS);
|
||||
% output and normalization
|
||||
DataInt(:,iS)=IntScan;
|
||||
end
|
||||
@@ -0,0 +1 @@
|
||||
mcc -e KNavi.m
|
||||
Binary file not shown.
@@ -0,0 +1,211 @@
|
||||
function varargout = KNavi(varargin)
|
||||
% KNAVI MATLAB code for KNavi.fig
|
||||
% KNAVI, by itself, creates a new KNAVI or raises the existing
|
||||
% singleton*.
|
||||
% H = KNAVI returns the handle to a new KNAVI or the handle to
|
||||
% the existing singleton*.
|
||||
% KNAVI('CALLBACK',hObject,eventData,handles,...) calls the local
|
||||
% function named CALLBACK in KNAVI.M with the given input arguments.
|
||||
% KNAVI('Property','Value',...) creates a new KNAVI or raises the
|
||||
% existing singleton*. Starting from the left, property value pairs are
|
||||
% applied to the GUI before KNavi_OpeningFcn gets called. An
|
||||
% unrecognized property name or invalid value makes property application
|
||||
% stop. All inputs are passed to KNavi_OpeningFcn via varargin.
|
||||
% *See GUI Options on GUIDE's Tools menu. Choose "GUI allows only one
|
||||
% instance to run (singleton)".
|
||||
% See also: GUIDE, GUIDATA, GUIHANDLES
|
||||
% Edit the above text to modify the response to help KNavi
|
||||
% Last Modified by GUIDE v2.5 11-Aug-2022 19:48:25
|
||||
% Begin initialization code - DO NOT EDIT
|
||||
gui_Singleton = 1;
|
||||
gui_State = struct('gui_Name', mfilename, ...
|
||||
'gui_Singleton', gui_Singleton, ...
|
||||
'gui_OpeningFcn', @KNavi_OpeningFcn, ...
|
||||
'gui_OutputFcn', @KNavi_OutputFcn, ...
|
||||
'gui_LayoutFcn', [] , ...
|
||||
'gui_Callback', []);
|
||||
if nargin && ischar(varargin{1})
|
||||
gui_State.gui_Callback = str2func(varargin{1});
|
||||
end
|
||||
if nargout
|
||||
[varargout{1:nargout}] = gui_mainfcn(gui_State, varargin{:});
|
||||
else
|
||||
gui_mainfcn(gui_State, varargin{:});
|
||||
end
|
||||
% End initialization code - DO NOT EDIT
|
||||
|
||||
% --- Executes just before KNavi is made visible.
|
||||
function KNavi_OpeningFcn(hObject,~,handles,varargin)
|
||||
% This function has no output args, see OutputFcn.
|
||||
% hObject handle to figure
|
||||
% eventdata reserved - to be defined in a future version of MATLAB
|
||||
% handles structure with handles and user data (see GUIDATA)
|
||||
% varargin command line arguments to KNavi (see VARARGIN)
|
||||
% Choose default command line output for KNavi
|
||||
handles.output = hObject;
|
||||
% Update handles structure
|
||||
guidata(hObject, handles);
|
||||
% parameters
|
||||
clear global
|
||||
global ePhi alpha eB
|
||||
ePhi=4.5; alpha=9; eB=0; % surfNx calculated for arbitrary eB, and all other calculations assume eB=0
|
||||
% image the scheme
|
||||
% - read in image
|
||||
IS=imread('Scheme.png');
|
||||
% - match the axis size to image
|
||||
Origin=get(handles.axes1,'Position'); Origin=Origin(1:2);
|
||||
WH=size(IS); WH=WH(1:2);
|
||||
set(handles.axes1,'Position',[Origin WH]);
|
||||
% - plot image
|
||||
image(IS,'Parent',handles.axes1); axis image off
|
||||
|
||||
% UIWAIT makes KNavi wait for user response (see UIRESUME)
|
||||
% uiwait(handles.figure1);
|
||||
|
||||
% --- Outputs from this function are returned to the command line.
|
||||
function varargout = KNavi_OutputFcn(~,~,handles)
|
||||
% Get default command line output from handles structure
|
||||
varargout{1} = handles.output;
|
||||
|
||||
% ---------------- Nominal X-ray incidence ----------------
|
||||
% --- Executes on selection change in popupmenuAlpha.
|
||||
function popupmenuAlpha_Callback(hObject,~,handles)
|
||||
% hObject handle to popupmenuAlpha (see GCBO)
|
||||
global alpha
|
||||
if get(hObject,'Value')==1; alpha=9; else alpha=20; end
|
||||
% update all outputs if the parameters available
|
||||
try pushbuttonOrgCalc_Callback(handles.pushbuttonOrgCalc,[],handles); end
|
||||
try pushbuttonKxCalc_Callback(handles.pushbuttonKxCalc,[],handles); end
|
||||
try pushbuttonKyCalc_Callback(handles.pushbuttonKyCalc,[],handles); end
|
||||
try pushbuttonKzCalc_Callback(handles.pushbuttonKzCalc,[],handles); end
|
||||
|
||||
% ---------------- Origin section ----------------
|
||||
|
||||
% --- Executes on button press in pushbuttonOrgCalc.
|
||||
function pushbuttonOrgCalc_Callback(~,~,handles)
|
||||
global ePhi alpha
|
||||
% initial parameters
|
||||
set(handles.textOrgSurfNormX,'String','')
|
||||
% read in the parameters
|
||||
hv=str2num(get(handles.editOrgHv,'String')); if hv<ePhi; hv=[]; end
|
||||
eB=str2num(get(handles.editOrgEB,'String'));
|
||||
kx=str2num(get(handles.editOrgKx,'String'));
|
||||
thtM=str2num(get(handles.editOrgThtM,'String'));
|
||||
thtA=str2num(get(handles.editOrgThtA,'String'));
|
||||
% surface normal calculations
|
||||
surfNx = SurfNormX(hv,eB,kx,thtM,thtA,alpha);
|
||||
% display results
|
||||
set(handles.textOrgSurfNormX,'String',['surfNx = ' num2str(surfNx)])
|
||||
set([handles.editKxSurfNx handles.editKySurfNx handles.editKzSurfNx], 'String',num2str(surfNx))
|
||||
|
||||
% ---------------- Kx section ----------------
|
||||
|
||||
% --- Executes on button press in pushbuttonKxCalc
|
||||
function pushbuttonKxCalc_Callback(~,~,handles)
|
||||
global ePhi alpha eB
|
||||
% read in the parameters
|
||||
surfNx=str2num(get(handles.editKxSurfNx,'String'));
|
||||
hv=str2num(get(handles.editKxHv,'String')); if hv<ePhi; hv=[]; end
|
||||
kx=str2num(get(handles.editKxKx,'String'));
|
||||
thtM=str2num(get(handles.editKxThtM,'String')); thtMPhys=thtM+surfNx;
|
||||
thtA=str2num(get(handles.editKxThtA,'String'));
|
||||
% calculation of kx/thtM/thtA
|
||||
switch get(handles.popupmenuKx,'Value')
|
||||
case 1
|
||||
if isempty(surfNx*hv*thtM*thtA); msgbox('Empty inputs','modal'); return; end
|
||||
kx=0.5124*sqrt(hv-ePhi+eB)*sind(thtMPhys+thtA)-2*pi*hv*cosd(alpha+thtMPhys)/12400;
|
||||
set(handles.editKxKx,'String',num2str(kx))
|
||||
case 2
|
||||
if isempty(surfNx*hv*kx*thtA); msgbox('Empty inputs','modal'); return; end
|
||||
[thtM,~,exitFlag]=fsolve(@(x) 0.5124*sqrt(hv-ePhi+eB)*sind(x+surfNx+thtA)-...
|
||||
2*pi*hv*cosd(alpha+x+surfNx)/12400-kx,0,optimset('Display','off','TolFun',1e-12));
|
||||
if exitFlag~=1; thtM=[]; msgbox('Solver failure: Check input parameters','modal'); end
|
||||
set(handles.editKxThtM,'String',num2str(thtM))
|
||||
case 3
|
||||
if isempty(surfNx*hv*kx*thtM); msgbox('Empty inputs','modal'); return; end
|
||||
[thtA,~,exitFlag]=fsolve(@(x) 0.5124*sqrt(hv-ePhi+eB)*sind(thtMPhys+x)-...
|
||||
2*pi*hv*cosd(alpha+thtMPhys)/12400-kx,0,optimset('Display','off','TolFun',1e-12));
|
||||
if exitFlag~=1; thtA=[]; msgbox('Solver failure: Check input parameters','modal'); end
|
||||
set(handles.editKxThtA,'String',num2str(thtA))
|
||||
end
|
||||
% transfer hv value to the Ky and Kz sections
|
||||
set([handles.editKyHv handles.editKzHv],'String',num2str(hv))
|
||||
% transfer Kx to the Kz section
|
||||
set(handles.editKzKx,'String',num2str(kx))
|
||||
% transfer thtM value to the Ky and Kz sections
|
||||
set([handles.editKyThtM handles.editKzThtM],'String',num2str(thtM))
|
||||
|
||||
% ---------------- Ky section ----------------
|
||||
|
||||
% --- Executes on button press in pushbuttonKyCalc
|
||||
function pushbuttonKyCalc_Callback(~,~,handles)
|
||||
global ePhi alpha eB
|
||||
% read in the parameters
|
||||
thtA=str2num(get(handles.editKyThtA,'String'));
|
||||
surfNx=str2num(get(handles.editKySurfNx,'String'));
|
||||
thtM=str2num(get(handles.editKyThtM,'String')); thtMPhys=thtM+surfNx;
|
||||
hv=str2num(get(handles.editKyHv,'String')); if hv<ePhi; hv=[]; end
|
||||
ky=str2num(get(handles.editKyKy,'String'));
|
||||
tlt=str2num(get(handles.editKyTlt,'String'));
|
||||
% calculation of ky/TLT
|
||||
switch get(handles.popupmenuKy,'Value')
|
||||
case 1
|
||||
if isempty(thtA*thtM*surfNx*hv*tlt); msgbox('Empty inputs','modal'); return; end
|
||||
ky=0.5124*sqrt(hv-ePhi+eB)*sind(tlt)*cosd(thtA+thtMPhys)+2*pi*hv*sind(alpha+thtMPhys)*sind(tlt)/12400;
|
||||
set(handles.editKyKy,'String',num2str(ky))
|
||||
case 2
|
||||
if isempty(thtA*thtM*surfNx*hv*ky); msgbox('Empty inputs','modal'); return; end
|
||||
[tlt,~,exitFlag]=fsolve(@(x) 0.5124*sqrt(hv-ePhi+eB)*sind(x)*cosd(thtA+thtMPhys)+...
|
||||
2*pi*hv*sind(alpha+thtMPhys)*sind(x)/12400-ky,0,optimset('Display','off','TolFun',1e-12));
|
||||
if exitFlag~=1; tlt=[]; msgbox('Solver failure: Check input parameters','modal'); end
|
||||
set(handles.editKyTlt,'String',num2str(tlt))
|
||||
end
|
||||
% transfer Ky to the Kz section
|
||||
set(handles.editKzKy,'String',num2str(ky))
|
||||
|
||||
% ---------------- Kz section ----------------
|
||||
|
||||
% --- Executes on button press in pushbuttonKzCalc.
|
||||
function pushbuttonKzCalc_Callback(~,~,handles)
|
||||
global ePhi alpha eB
|
||||
% inputs
|
||||
surfNx=str2num(get(handles.editKzSurfNx,'String'));
|
||||
thtM=str2num(get(handles.editKzThtM,'String')); thtMPhys=thtM+surfNx;
|
||||
tlt=str2num(get(handles.editKzTlt,'String'));
|
||||
kx=str2num(get(handles.editKzKx,'String'));
|
||||
ky=str2num(get(handles.editKzKy,'String'));
|
||||
if tlt*ky==0&&(tlt+ky)~=0; msgbox('Incompatible tlt and Ky','modal'); return; end
|
||||
v000=str2num(get(handles.editKzV000,'String'));
|
||||
hv=str2num(get(handles.editKzHv,'String')); if hv<ePhi; hv=[]; end
|
||||
kz=str2num(get(handles.editKzKz,'String'));
|
||||
c=str2num(get(handles.editKzC,'String')); if ~isempty(c); tpc=2*pi/c; else tpc=[]; end
|
||||
% calculation of kz/hv/V000
|
||||
switch get(handles.popupmenuKz,'Value')
|
||||
case 1
|
||||
if isempty(thtM*surfNx*kx*ky*v000*hv); msgbox('Empty inputs','modal'); return; end
|
||||
% kz=0.5124*sqrt(hv+eB+v000-3.81*(kx^2+ky^2))+2*pi*hv*sind(alpha+thtMPhys)/12400;
|
||||
kx_f=kx+2*pi*hv*cosd(alpha+thtMPhys)/12400; ky_f=ky-2*pi*hv*sind(alpha+thtMPhys)*sind(tlt)/12400;
|
||||
kz=0.5124*sqrt(hv+eB+v000-3.81*(kx_f^2+ky_f^2))+2*pi*hv*sind(alpha+thtMPhys)/12400;
|
||||
if get(handles.popupmenuKzUnits,'Value')==2; kz=kz/tpc; end % kz units
|
||||
set(handles.editKzKz,'String',num2str(kz))
|
||||
case 2
|
||||
if isempty(thtM*surfNx*kx*ky*v000*kz); msgbox('Empty inputs','modal'); return; end
|
||||
if get(handles.popupmenuKzUnits,'Value')==2; kz=kz*tpc; end % kz units
|
||||
[hv,~,exitFlag]=fsolve(@(x) 0.5124*sqrt(x+eB+v000-3.81*((kx+2*pi*x*cosd(alpha+thtMPhys)/12400).^2+(ky-2*pi*x*sind(alpha+thtMPhys)*sind(tlt)/12400).^2))+...
|
||||
2*pi*x*sind(alpha+thtMPhys)/12400-kz,0,optimset('Display','off','TolFun',1e-12));
|
||||
if exitFlag~=1; hv=[]; msgbox('Solver failure: Check input parameters','modal'); end
|
||||
hv=real(hv); % trim the imaginary residual error
|
||||
set(handles.editKzHv,'String',num2str(hv))
|
||||
case 3
|
||||
if isempty(thtM*surfNx*kx*ky*hv*kz); msgbox('Empty inputs','modal'); return; end
|
||||
if get(handles.popupmenuKzUnits,'Value')==2; kz=kz*tpc; end % kz units
|
||||
v000=((kz-2*pi*hv*sind(alpha+thtMPhys)/12400)/0.5124)^2-hv-eB+3.81*((kx+2*pi*hv*cosd(alpha+thtMPhys)/12400)^2+(ky-2*pi*hv*sind(alpha+thtMPhys)*sind(tlt)/12400).^2);
|
||||
set(handles.editKzV000,'String',num2str(v000))
|
||||
end
|
||||
% --- Executes on selection change in popupmenuKzUnits.
|
||||
function popupmenuKzUnits_Callback(hObject,~,handles)
|
||||
if get(hObject,'Value')==1
|
||||
set([handles.editKzC handles.textKzC],'Enable','off');
|
||||
else
|
||||
set([handles.editKzC handles.textKzC],'Enable','on');
|
||||
end
|
||||
Binary file not shown.
|
After Width: | Height: | Size: 9.8 KiB |
@@ -0,0 +1,54 @@
|
||||
function Kx = Kxx(HV,Eb,thtM,ThtA,surfNormX,incAlpha)
|
||||
% Kx = Kxx(HV,Eb,thtM,ThtA,surfNormX) calculates k// along the analyzer slit
|
||||
% Inputs:
|
||||
% HV (scalar or 1D vector) - photon energies
|
||||
% Eb (Eb<0; scalar/column vector/2D/3D array) - binding energies
|
||||
% thtM (scalar) - manipulator primary rotation
|
||||
% ThtA (scalar/row vector/2D/3D array) - analyzer scale angles
|
||||
% surfNormX - surface normal primary angle returned by SurfNormX.m
|
||||
% incAlpha - nominal X-ray incidence angle, for the present geometry equal to 9deg. If omitted, old geometry with 20deg implied.
|
||||
% Ver. 11.08.2022
|
||||
|
||||
% parameters
|
||||
global alpha ePhi thtMPhys nA nE
|
||||
if nargin<6; alpha=20; else alpha=incAlpha; end % nominal incidence angle
|
||||
ePhi=4.5; % workfunction
|
||||
thtMPhys=thtM+surfNormX;
|
||||
nA=size(ThtA,2); nE=size(Eb,1);
|
||||
nS=max(length(HV),size(Eb,3)); % scan is either HV or tilt encoded in Eb
|
||||
|
||||
% conversion of iso-E 2D-arrays to 3D-arrays
|
||||
if isscalar(Eb) && ~isvector(ThtA); ThtA=permute(ThtA,[3,2,1]); sq=1; else sq=0; end
|
||||
|
||||
% hv-independent data (scalar HV) including single image
|
||||
Kx=[];
|
||||
if isscalar(HV)
|
||||
% - cycle through tilt
|
||||
for iS=1:nS
|
||||
EbF=Eb(:,:,min(iS,size(Eb,3))); ThtAF=ThtA;
|
||||
KxF=Kx1(HV,EbF,ThtAF);
|
||||
Kx=cat(3,Kx,KxF);
|
||||
end
|
||||
% hv-dependent data (non-scalar HV)
|
||||
else
|
||||
% - cycle through HV
|
||||
for iS=1:nS
|
||||
EbF=Eb(:,:,min(iS,size(Eb,3))); ThtAF=ThtA(:,:,min(iS,size(ThtA,3)));
|
||||
KxF=Kx1(HV(iS),EbF,ThtAF);
|
||||
Kx=cat(3,Kx,KxF);
|
||||
end
|
||||
end
|
||||
|
||||
% back conversion of iso-E 3D-arrays to 2D-arrays as required for ImData
|
||||
if sq==1; Kx=(squeeze(Kx))'; end
|
||||
|
||||
% single image conversion
|
||||
function Kx1 = Kx1(hv,Eb,ThtA)
|
||||
% Kx1 = Kx1(hv,Eb,ThtA) calculates Kx for single Eb/ThtA image with scalar hv
|
||||
global alpha ePhi thtMPhys nA nE
|
||||
% Eb=squeeze(Eb); ThtA=squeeze(ThtA);
|
||||
% forming 2D arrays unless scalars
|
||||
if size(Eb,2)==1&&size(Eb,1)~=1; EbF=repmat(Eb,1,nA); else EbF=Eb; end
|
||||
if size(ThtA,1)==1&&size(ThtA,2)~=1; ThtAF=repmat(ThtA,nE,1); else ThtAF=ThtA; end
|
||||
% Kx calculation
|
||||
Kx1=0.5124*sqrt(hv-ePhi+EbF).*sind(ThtAF+thtMPhys)-2*pi*hv*cosd(alpha+thtMPhys)/12400;
|
||||
@@ -0,0 +1,64 @@
|
||||
function Ky = Kyy(HV,Eb,ThtA,thtM,TltM,surfNormX,incAlpha,TltE)
|
||||
% Ky = Kyy(HV,Eb,ThtA,thtM,TltM,surfNormX [,incAlpha] [,TltE]) calculates k// perpendicular to the analyzer slit
|
||||
% Inputs:
|
||||
% HV (scalar/vector) - photon energies
|
||||
% Eb (Eb<0; scalar/column vector/2D/3D array) - binding energies
|
||||
% ThtA (scalar/row vector/2D/3D array) - analyzer scale angles (may include angular warping)
|
||||
% thtM - manipulator primary rotation
|
||||
% TltM (scalar/row vector) - manipulator tilt relative to the surface normal
|
||||
% surfNormX - surface normal primary angle returned by SurfNormX.m
|
||||
% incAlpha - nominal X-ray incidence angle, for the present geometry equal to 9deg. If omitted, old geometry with 20deg implied.
|
||||
% TltE (scalar/row vector) - angular deflection. If omitted, TltE=0.
|
||||
% Ver. 02.12.2022
|
||||
|
||||
% parameters
|
||||
global alpha ePhi thtMPhys nA nE
|
||||
if nargin<8; TltE=0; end % nominal incidence angle
|
||||
if nargin<7; alpha=20; else alpha=incAlpha; end % nominal incidence angle
|
||||
ePhi=4.5; % workfunction
|
||||
nA=size(ThtA,2); nE=size(Eb,1); nH=length(HV); nT=length(TltM); nD=length(TltE);
|
||||
if length(find([nH nT nD]>1))>1; disp('Error in Kyy: Only one of hv/tilt/defection can be vectorized'); return; end
|
||||
if size(ThtA,1)==1&&size(ThtA,2)~=1; ThtA=repmat(ThtA,nE,1); end % form 2D array of ThtA unless scalar or 3D
|
||||
if size(Eb,2)==1&&size(Eb,1)~=1; Eb=repmat(Eb,1,nA); end % form 2D array of Eb unless scalar or 3D
|
||||
thtMPhys=thtM+surfNormX;
|
||||
nS=max([length(HV) length(TltM) length(TltE)]); % scan is either HV or TltM or TltE
|
||||
|
||||
% conversion of iso-E 2D-arrays to 3D-arrays (immune to scalars)
|
||||
% if isscalar(Eb); HV=permute(HV,[3,2,1]); TltM=permute(TltM,[3,2,1]); sq=1; else sq=0; end
|
||||
if isscalar(Eb); ThtA=permute(ThtA,[3,2,1]); sq=1; else sq=0; end
|
||||
|
||||
% % hv-independent data (scalar HV) including single image
|
||||
% Ky=[];
|
||||
% if isscalar(HV)
|
||||
% % - cycle through tilt (non-scalar TltM)
|
||||
% for iS=1:nS
|
||||
% KyF=Ky1(HV,Eb(:,:,min(iS,size(Eb,3))),ThtA,TltM(iS));
|
||||
% Ky=cat(3,Ky,KyF);
|
||||
% end
|
||||
% % hv-dependent data (non-scalar HV)
|
||||
% else
|
||||
% % - cycle through HV
|
||||
% for iS=1:nS
|
||||
% KyF=Ky1(HV(iS),Eb(:,:,min(iS,size(Eb,3))),ThtA(:,:,min(iS,size(ThtA,3))),TltM);
|
||||
% Ky=cat(3,Ky,KyF);
|
||||
% end
|
||||
% end
|
||||
|
||||
% Ky conversion
|
||||
Ky=[]; for iS=1:nS
|
||||
KyF=Ky1(HV(min(nH,iS)),squeeze(Eb(:,:,min(iS,size(Eb,3)))),squeeze(ThtA(:,:,min(iS,size(ThtA,3)))),TltM(min(nT,iS)),TltE(min(nD,iS)));
|
||||
% Note: by default all Matlab scalars and arrays have infinite number of singleton dimensions
|
||||
Ky=cat(3,Ky,KyF);
|
||||
end
|
||||
% back conversion of iso-E 3D-arrays to 2D-arrays as required for ImData
|
||||
if sq==1; Ky=(squeeze(Ky))'; end
|
||||
|
||||
% single 2D-image conversion
|
||||
function Ky1 = Ky1(hv,Eb,ThtA,tltM,tltE)
|
||||
% Ky1 = Ky1(hv,Eb,ThtAF,tltM) calculates Ky for single Eb/ThtA image with scalar hv, tltM and tltE
|
||||
global alpha ePhi thtMPhys nA nE
|
||||
% forming 2D arrays if vectors
|
||||
if size(Eb,2)==1&&size(Eb,1)~=1; Eb=repmat(Eb,1,nA); end
|
||||
if size(ThtA,1)==1&&size(ThtA,2)~=1; ThtA=repmat(ThtA,nE,1); end
|
||||
% Ky calculation
|
||||
Ky1=0.5124*sqrt(hv-ePhi+Eb)*sind(tltM+tltE).*cosd(ThtA+thtMPhys)+2*pi*hv*sind(alpha+thtMPhys).*sind(tltM)/12400;
|
||||
@@ -0,0 +1,61 @@
|
||||
function Kz = Kzz(HV,Eb,thtM,ThtA,TltM,v000,surfNormX,incAlpha)
|
||||
% Kz = Kzz(HV,Eb,thtM,ThtA,TltM,v000,surfNormX,incAlpha) calculates kz along the surface normal
|
||||
% Inputs:
|
||||
% HV (scalar or vector) - photon energies
|
||||
% Eb (Eb<0; scalar/column vector/2D/3D array) - binding energies
|
||||
% ThtA (scalar/row vector/2D/3D array) - analyzer scale angles
|
||||
% TltM (scalar/row vector) - manipulator tilt relative to the surface normal + deflection angle
|
||||
% ThtA and TltM (scalar/column vector/2D/3D array) - angles along the x- and y-axis
|
||||
% v000 >0 - inner potential relative to EF
|
||||
% thtM - the manipulator primary rotation
|
||||
% surfNormX - surface normal primary angle returned by SurfNormX.m
|
||||
% incAlpha - nominal X-ray incidence angle. If omitted, 20deg is implied
|
||||
% Ver. 02.12.2022
|
||||
|
||||
% parameters
|
||||
global alpha ePhi thtMPhys v0001 nA nE
|
||||
if nargin<8; alpha=20; else alpha=incAlpha; end % nominal incidence angle
|
||||
ePhi=4.5; % workfunction
|
||||
nH=length(HV); nT=length(TltM);
|
||||
if length(find([nH nT]>1))>1; disp('Error in Kyy: Only one of hv/tilt/defection can be vectorized'); return; end
|
||||
thtMPhys=thtM+surfNormX;
|
||||
v0001=v000;
|
||||
nA=size(ThtA,2); nE=size(Eb,1); nH=length(HV); nT=length(TltM);
|
||||
nS=max(nH,size(TltM,3)); % number of scans in HV or in tilt encoded in TltM
|
||||
if size(ThtA,1)==1&&size(ThtA,2)~=1; ThtA=repmat(ThtA,nE,1); end % form 2D array of ThtA unless scalar or 3D
|
||||
if size(Eb,2)==1&&size(Eb,1)~=1; Eb=repmat(Eb,1,nA); end % form 2D array of Eb unless scalar or 3D
|
||||
|
||||
% conversion of iso-E/iso-K 2D-arrays from Slice to 3D-arrays (immune to scalars)
|
||||
if isscalar(Eb); ThtA=permute(ThtA,[3,2,1]); TltM=permute(TltM,[3,2,1]); sq=1; else sq=0; end
|
||||
if isscalar(ThtA); Eb=permute(Eb,[1,3,2]); TltM=permute(TltM,[1,3,2]); sq=2; end
|
||||
|
||||
% % extension of Eb to 3D (if not extended by AlignEF)
|
||||
% if nS>1 && size(Eb,3)==1; Eb=repmat(Eb,1,1,nS); end
|
||||
% % extension of ThtA,TltM to 3D
|
||||
% if nS>1 && size(ThtA,3)==1; ThtA=repmat(ThtA,1,1,nS); end
|
||||
% if nS>1 && size(TltM,3)==1; TltM=repmat(TltM,1,1,nS); end
|
||||
|
||||
% Kz conversion
|
||||
Kz=[]; for iS=1:nS
|
||||
KzF=Kz1(HV(min(nH,iS)),squeeze(Eb(:,:,min(iS,size(Eb,3)))),squeeze(ThtA(:,:,min(iS,size(ThtA,3)))),TltM(min(nT,iS)));
|
||||
% Note: by default all Matlab scalars and arrays have infinite number of singleton dimensions
|
||||
Kz=cat(3,Kz,KzF);
|
||||
end
|
||||
|
||||
% back conversion of iso-E/iso-K 3D-arrays to 2D-arrays as required for ImData
|
||||
if sq==1; Kz=(squeeze(Kz))'; end
|
||||
if sq==2; Kz=squeeze(Kz); end
|
||||
|
||||
% single 2D-image conversion
|
||||
function Kz1 = Kz1(hv,Eb,ThtA,tltM)
|
||||
% Kz1 = Kz1(hv,Eb,ThtA,tltM) calculates Kz for single Eb/ThtA image with scalar hv
|
||||
global alpha ePhi thtMPhys v0001 nA nE
|
||||
% forming 2D arrays if vectors
|
||||
if size(Eb,2)==1&&size(Eb,1)~=1; Eb=repmat(Eb,1,nA); end
|
||||
if size(ThtA,1)==1&&size(ThtA,2)~=1; ThtA=repmat(ThtA,nE,1); end
|
||||
% final-state Kz
|
||||
Kx1_2=(hv-ePhi+Eb).*sind(ThtA+thtMPhys).^2;
|
||||
Ky1_2=(hv-ePhi+Eb).*(sind(tltM).*cosd(ThtA+thtMPhys)).^2;
|
||||
Kz1=0.5124*sqrt(hv+Eb+v0001-(Kx1_2+Ky1_2));
|
||||
% photon momentum corrected initial-state Kz
|
||||
Kz1=Kz1+2*pi*hv*sind(alpha+thtMPhys)/12400;
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -0,0 +1,43 @@
|
||||
function [Angle,Energy,Scan,Data,ep,Note,RawTable]=ReadARPES(file)
|
||||
% [Angle,Energy,Scan,Data,ep,Note]=ReadARPES(file) reads in HDF5 and SP2 files
|
||||
% to return Angle (row), Energy (column), Scan (empty for 2D arrays and row
|
||||
% for 3D arrays, Data (2- or 3-dim array), ep (pass energy) and Note (info)
|
||||
% Ver. 17.08.2022
|
||||
|
||||
disp(['- Reading in ' file])
|
||||
|
||||
RawTable = [];
|
||||
if strcmp(file(end-1:end),'h5')
|
||||
% read in HDF5
|
||||
[Data,Axes,Note]=ReaderHDF5(file);
|
||||
try; RawTable = load(file, 'SmartTable', '-mat').SmartTable.rawData; end
|
||||
Angle=Axes{1};
|
||||
Energy=(Axes{2})';
|
||||
if size(Axes,1)==3; Scan=Axes{3}; else Scan=[]; end
|
||||
if ndims(Data)==3; Data=double(permute(Data,[2 1 3])); else Data=double(Data'); end
|
||||
% pos=strfind(Note,'Epass'); ep=str2double(Note(pos+9:pos+12));
|
||||
else
|
||||
% read in SP2
|
||||
[data,NoteCell]=ReaderSP2(file);
|
||||
Data=data.image; Data=double(Data');
|
||||
Angle=linspace(data.arange(1),data.arange(2),size(Data,2));
|
||||
Energy=(linspace(data.erange(1),data.erange(2),size(Data,1)))';
|
||||
Scan=[];
|
||||
% ep=str2double(NoteCell{10}(22:27));
|
||||
% convert Note from cell to string
|
||||
Note = ''; for i=1:size(NoteCell)
|
||||
Note = sprintf('%s\n%s', Note, NoteCell{i});
|
||||
end
|
||||
end
|
||||
% ep evaluation
|
||||
pos=strfind(Note,'Ep =');
|
||||
% - sp2 or sp2/hdf5 converted file
|
||||
if ~isempty(pos)
|
||||
hash=strfind(Note(pos:end),'#');
|
||||
ep=str2double(Note(pos+20:pos+hash(1)-2));
|
||||
else
|
||||
% - hdf5 file
|
||||
pos1=strfind(Note,'Epass =');
|
||||
pos2=strfind(Note,'Ek/Eb =');
|
||||
ep=str2double(Note(pos1+9:pos2-1));
|
||||
end
|
||||
@@ -0,0 +1,43 @@
|
||||
function [XR,YR,DataR]=Remap(XM,YM,Data)
|
||||
% [XR,YR,DataR]=Remap(XM,YM,Data) remaps the data array Data defined on the raw
|
||||
% vector/2D/3D array XM of x-coordinates (usually the corrected angles ACorr) and
|
||||
% column vector/2D/3D array YM of y-coordinates (usually aligned energies EAlign)
|
||||
% onto DataR defined on the rectangular grid formed by the equidistant vectors XR and YR
|
||||
% Ver. 8 Jan 2021
|
||||
|
||||
disp('- Re-mapping')
|
||||
|
||||
% check if XM and YM are already equidistant vectors
|
||||
if ndims(XM)==1&&ndims(YM)==1
|
||||
if all([diff(diff(XM))==0 diff(diff(XM))]==0)
|
||||
disp('- No remapping of the output data because the input coordinates are already equidistant vectors');
|
||||
XR=XM; YR=YM; DataR=Data; return
|
||||
end
|
||||
end
|
||||
|
||||
% parameters
|
||||
nA=size(XM,2); nA3=size(XM,3);
|
||||
nE=size(YM,1); nE3=size(YM,3);
|
||||
nS=size(Data,3);
|
||||
|
||||
% extending 1D arrays to 2D
|
||||
if size(XM,1)==1; XM=repmat(XM,nE,1); end
|
||||
if size(YM,2)==1; YM=repmat(YM,1,nA); end
|
||||
% output grid
|
||||
XR=linspace(min(min(min(XM))),max(max(max(XM))),nA);
|
||||
YR=linspace(min(min(min(YM))),max(max(max(YM))),nE);
|
||||
[XRM,YRM]=meshgrid(XR,YR);
|
||||
% NaN-wrapping against the edge triangulation errors
|
||||
XM=[2*XM(1,:,:)-XM(2,:,:); XM; 2*XM(end,:,:)-XM(end-1,:,:)]; XM=[2*XM(:,1,:)-XM(:,2,:) XM 2*XM(:,end,:)-XM(:,end-1,:)];
|
||||
YM=[2*YM(1,:,:)-YM(2,:,:); YM; 2*YM(end,:,:)-YM(end-1,:,:)]; YM=[2*YM(:,1,:)-YM(:,2,:) YM 2*YM(:,end,:)-YM(:,end-1,:)];
|
||||
Data=[NaN*Data(1,:,:); Data; NaN*Data(end,:,:)]; Data=[NaN*Data(:,1,:) Data NaN*Data(:,end,:)];
|
||||
|
||||
% re-mapping
|
||||
DataR=zeros(nE,nA,nS);
|
||||
for iS=1:nS
|
||||
iA=min(nA3,iS); X=XM(:,:,iA); X=X(:);
|
||||
iE=min(nE3,iS); Y=YM(:,:,iE); Y=Y(:);
|
||||
DL=Data(:,:,iS); DL=DL(:);
|
||||
% DataR(:,:,iS)=griddata(X,Y,D,AngleM,EnergyM);
|
||||
F=TriScatteredInterp(X,Y,DL); DataR(:,:,iS)=F(XRM,YRM);
|
||||
end
|
||||
@@ -0,0 +1 @@
|
||||
mcc -e ResBeamline.m
|
||||
Binary file not shown.
@@ -0,0 +1,242 @@
|
||||
function varargout = ResBeamline(varargin)
|
||||
%RESBEAMLINE M-file for ResBeamline.fig
|
||||
% RESBEAMLINE, by itself, creates a new RESBEAMLINE or raises the existing
|
||||
% singleton*.
|
||||
% H = RESBEAMLINE returns the handle to a new RESBEAMLINE or the handle to
|
||||
% the existing singleton*.
|
||||
% RESBEAMLINE('Property','Value',...) creates a new RESBEAMLINE using the
|
||||
% given property value pairs. Unrecognized properties are passed via
|
||||
% varargin to ResBeamline_OpeningFcn. This calling syntax produces a
|
||||
% warning when there is an existing singleton*.
|
||||
% RESBEAMLINE('CALLBACK') and RESBEAMLINE('CALLBACK',hObject,...) call the
|
||||
% local function named CALLBACK in RESBEAMLINE.M with the given input
|
||||
% arguments.
|
||||
% *See GUI Options on GUIDE's Tools menu. Choose "GUI allows only one
|
||||
% instance to run (singleton)".
|
||||
% See also: GUIDE, GUIDATA, GUIHANDLES
|
||||
|
||||
% Edit the above text to modify the response to help ResBeamline
|
||||
% Last Modified by GUIDE v2.5 14-Feb-2023 18:06:32
|
||||
% Begin initialization code - DO NOT EDIT
|
||||
gui_Singleton = 1;
|
||||
gui_State = struct('gui_Name', mfilename, ...
|
||||
'gui_Singleton', gui_Singleton, ...
|
||||
'gui_OpeningFcn', @ResBeamline_OpeningFcn, ...
|
||||
'gui_OutputFcn', @ResBeamline_OutputFcn, ...
|
||||
'gui_LayoutFcn', [], ...
|
||||
'gui_Callback', []);
|
||||
if nargin && ischar(varargin{1})
|
||||
gui_State.gui_Callback = str2func(varargin{1});
|
||||
end
|
||||
if nargout
|
||||
[varargout{1:nargout}] = gui_mainfcn(gui_State, varargin{:});
|
||||
else
|
||||
gui_mainfcn(gui_State, varargin{:});
|
||||
end
|
||||
% End initialization code - DO NOT EDIT
|
||||
|
||||
% --- Executes just before ResBeamline is made visible.
|
||||
function ResBeamline_OpeningFcn(hObject,~, handles, varargin)
|
||||
% This function has no output args, see OutputFcn.
|
||||
% hObject handle to figure
|
||||
% Choose default command line output for ResBeamline
|
||||
handles.output = hObject;
|
||||
% beamline parameters
|
||||
handles.sigmaSizeV_ID=0.014; % rms vertical source size
|
||||
handles.sigmaDivV_ID=0.014E-3; % rms vertical divergence of the coherent core
|
||||
handles.fCM=17750; % distance between the source and CM
|
||||
handles.graLength=90; % grating optical surface length
|
||||
handles.fFM=9510; % dispersion length
|
||||
handles.Gratings=get(handles.popupmenuGrating,'String'); % available gratings
|
||||
handles.Cff=[2.15 3 2.55]; % default Cff values
|
||||
handles.Orders=get(handles.popupmenuOrder,'String'); % available orders
|
||||
handles.sigmaSE_PM=1e-6*0.252; % rms slope error PM = 0.052 arcsec
|
||||
handles.sigmaSE_Gr=1e-6*[0.07*4.848137 0.35 0.079]; % rms slope error of the grating
|
||||
% handles.Cff=Res(:,1); handles.SigmaV=Res(:,2:end)/4;
|
||||
% Update handles structure
|
||||
guidata(hObject, handles);
|
||||
% UIWAIT makes ResBeamline wait for user response (see UIRESUME)
|
||||
% uiwait(handles.figure1);
|
||||
|
||||
% --- Outputs from this function are returned to the command line.
|
||||
function varargout = ResBeamline_OutputFcn(~,~, handles)
|
||||
% varargout cell array for returning output args (see VARARGOUT);
|
||||
% hObject handle to figure
|
||||
% Get default command line output from handles structure
|
||||
varargout{1} = handles.output;
|
||||
|
||||
% % --- Executes on button press in pushbuttonUpdate.
|
||||
% function pushbuttonUpdate_Callback(hObject, eventdata, handles)
|
||||
% % hObject handle to pushbuttonUpdate (see GCBO)
|
||||
% set([handles.editSlitWidth handles.editResolution],'BackgroundColor','w')
|
||||
% % retrieve the actual parameters
|
||||
% [hEnergy,hGratingNo,hOrd,hCff,hSlitWidth]=mcaopen('X03MA-PGM:energy','X03MA-PGM-GRCH:GRATING',...
|
||||
% 'X03MA-PGM:difforder0','X03MA-PGM:cff','X03MA-OP-SL:TRY_AP');
|
||||
% [energy,gratingNo,ord,cff,slitWidth]=mcaget(hEnergy,hGratingNo,hOrd,hCff,hSlitWidth);
|
||||
% mcaexit()
|
||||
% % display the actual parameters
|
||||
% set(handles.editEnergy,'String',num2str(energy));
|
||||
% % gratingNo=2-gratingNo; % reverse grating order from EPICS
|
||||
% set(handles.popupmenuGrating,'Value',gratingNo+1);
|
||||
% set(handles.popupmenuOrder,'Value',ord+1);
|
||||
% set(handles.editCff,'String',num2str(cff));
|
||||
% set(handles.editSlitWidth,'String',num2str(slitWidth)); slitWidth=slitWidth/1000;
|
||||
% % try to calculate the resolution parameters
|
||||
% [resLimit,resCoeff]=resParams(handles); if isempty(resLimit*resCoeff) return; end
|
||||
% % slit limited resolution
|
||||
% resSlit=slitWidth*energy^2/(resCoeff*1240*1e-6);
|
||||
% % total resolution
|
||||
% resTotal=sqrt(resSlit^2+resLimit^2);
|
||||
% % display resolution
|
||||
% set(handles.editResolution,'String',num2str(1000*resTotal))
|
||||
|
||||
% Cff solver
|
||||
function alphabeta=cffSolver(cff,N,k,lambda)
|
||||
% alphabeta=cffSolver(cff,N,k,lambda) finds the incident and exit angles
|
||||
% [alpha beta](rad) from the cff value, groove density N(l/mm),
|
||||
% diffraction order k and wavelength lambda(mm)
|
||||
a=1-(1/cff)^2; b=-2*N*k*lambda; c=(1/cff)^2+(N*k*lambda)^2-1;
|
||||
if cff==1
|
||||
disp('cffSolver => error: invalid cff=1'); beta=NaN;
|
||||
else
|
||||
X=[-1*b-sqrt(b^2-4*a*c) -1*b+sqrt(b^2-4*a*c)]/(2*a);
|
||||
Beta=asin(X);
|
||||
[~,ind]=min( abs( imag(Beta) ) ); beta=Beta(ind); % selecting the real value
|
||||
end
|
||||
% alpha
|
||||
alpha=asin(N*k*lambda-sin(beta));
|
||||
% output
|
||||
alphabeta=[alpha beta];
|
||||
|
||||
function editEnergy_Callback(hObject,~, handles)
|
||||
% hObject handle to editEnergy (see GCBO)
|
||||
% Hints: get(hObject,'String') returns contents of editEnergy as text
|
||||
% str2double(get(hObject,'String')) returns contents of editEnergy as a double
|
||||
set([handles.editSlitWidth handles.editResolution],'String','')
|
||||
% get energy value
|
||||
energy=str2num(get(hObject,'String'));
|
||||
if ~isempty(energy) && (energy<160 || energy>1800); set(hObject,'String',''); return; end
|
||||
% try to calculate the resolution parameters
|
||||
resParams(handles);
|
||||
|
||||
% --- Executes on selection change in popupmenuGrating.
|
||||
function popupmenuGrating_Callback(hObject,~, handles)
|
||||
% hObject handle to popupmenuGrating (see GCBO)
|
||||
% Hints: contents = get(hObject,'String') returns popupmenuGrating contents as cell array
|
||||
% contents{get(hObject,'Value')} returns selected item from popupmenuGrating
|
||||
set([handles.editSlitWidth handles.editResolution],'String','')
|
||||
% default Cff
|
||||
gratingNo=get(hObject,'Value'); cff=handles.Cff(gratingNo); set(handles.editCff,'String',num2str(cff))
|
||||
% try to calculate the resolution parameters
|
||||
resParams(handles);
|
||||
|
||||
% --- Executes on selection change in popupmenuOrder.
|
||||
function popupmenuOrder_Callback(~,~, handles)
|
||||
% hObject handle to popupmenuOrder (see GCBO)
|
||||
% Hints: contents = get(hObject,'String') returns popupmenuOrder contents as cell array
|
||||
% contents{get(hObject,'Value')} returns selected item from popupmenuOrder
|
||||
set([handles.editSlitWidth handles.editResolution],'String','')
|
||||
% try to calculate the resolution parameters
|
||||
resParams(handles);
|
||||
|
||||
function editCff_Callback(hObject,~, handles)
|
||||
% hObject handle to editCff (see GCBO)
|
||||
% Hints: get(hObject,'String') returns contents of editCff as text
|
||||
% str2double(get(hObject,'String')) returns contents of editCff as a double
|
||||
set([handles.editSlitWidth handles.editResolution],'String','')
|
||||
% get Cff value
|
||||
cff=str2num(get(hObject,'String'));
|
||||
if isempty(cff) || cff<1 || cff>10; set(hObject,'String',''); return; end
|
||||
% try to calculate the resolution parameters
|
||||
resParams(handles);
|
||||
|
||||
function editSlitWidth_Callback(hObject,~,handles)
|
||||
% hObject handle to editSlitWidth (see GCBO)
|
||||
% Hints: get(hObject,'String') returns contents of editSlitWidth as text
|
||||
% str2double(get(hObject,'String')) returns contents of editSlitWidth as a double
|
||||
set(handles.editResolution,'String','')
|
||||
slitWidth=str2num(get(hObject,'String'))/1000;
|
||||
if isempty(slitWidth); set([hObject handles.editResolution],'String',''); return; end
|
||||
energy=str2num(get(handles.editEnergy,'String'));
|
||||
% try to calculate the resolution parameters
|
||||
[resLimit,resCoeff]=resParams(handles); if isempty(resLimit*resCoeff) return; end
|
||||
% slit limited resolution
|
||||
resSlit=slitWidth*energy^2/(resCoeff*1240*1e-6);
|
||||
% total resolution
|
||||
resTotal=sqrt(resSlit^2+resLimit^2);
|
||||
% display resolution
|
||||
set(handles.editResolution,'String',num2str(round(1e6*resTotal)/1000))
|
||||
|
||||
function editResolution_Callback(hObject,~,handles)
|
||||
% hObject handle to editResolution (see GCBO)
|
||||
% Hints: get(hObject,'String') returns contents of editResolution as text
|
||||
% str2double(get(hObject,'String')) returns contents of editResolution as a double
|
||||
set(handles.editSlitWidth,'String','')
|
||||
res=str2num(get(hObject,'String'))/1000;
|
||||
if isempty(res); set([hObject handles.editSlitWidth],'String',''); return; end
|
||||
energy=str2num(get(handles.editEnergy,'String'));
|
||||
% try to calculate the resolution parameters
|
||||
[resLimit,resCoeff]=resParams(handles); if isempty(resLimit*resCoeff) return; end
|
||||
% check the resolution limit
|
||||
if res<resLimit res=resLimit; set(hObject,'String',num2str(res*1000)); end
|
||||
% slit limited resolution
|
||||
resSlit=sqrt(res^2-resLimit^2);
|
||||
% slit width
|
||||
slitWidth=resSlit*resCoeff*1240*1e-6/energy^2;
|
||||
% display slit width
|
||||
set(handles.editSlitWidth,'String',num2str(1000*slitWidth))
|
||||
|
||||
% --- Evaluates the resolution parameters from energy, groove density and cff
|
||||
function [resLimit,resCoeff]=resParams(handles)
|
||||
% input
|
||||
% rms to fwhm
|
||||
rms2fwhm=2*sqrt(2*log(2));
|
||||
% - energy
|
||||
energy=str2num(get(handles.editEnergy,'String'));
|
||||
% - n
|
||||
gratingNo=get(handles.popupmenuGrating,'Value');
|
||||
n=str2num(handles.Gratings{gratingNo});
|
||||
% - k
|
||||
orderNo=get(handles.popupmenuOrder,'Value'); k=str2num(handles.Orders{orderNo});
|
||||
% - Cff
|
||||
cff=str2num(get(handles.editCff,'String')); if isempty(cff); resLimit=[]; return; end
|
||||
% % sigmaV
|
||||
% sigmaV=interp1(handles.Cff,handles.SigmaV(:,gratingNo),cff,'pchip');
|
||||
% % display spot size
|
||||
% set(handles.textSpotSize,'String',['Spot Size FWHM (um) = ' num2str(1000*2*sqrt(2*log(2))*sigmaV)])
|
||||
% set(handles.textSpotSize,'String',['4-sigma Spot Size (um) = ' num2str(1000*4*sigmaV)])
|
||||
% % if not zero order
|
||||
% set([handles.editResolution handles.editSlitWidth],'Enable','On');
|
||||
% wavelength
|
||||
lambda=1e-6*1240/energy;
|
||||
% alpha and beta
|
||||
alphabeta=cffSolver(cff,n,k,lambda); alpha=alphabeta(1); beta=alphabeta(2);
|
||||
% T-parameter
|
||||
T=sqrt(lambda*k*n*(cff^2-1)/2);
|
||||
% 4-sigma grating illumination
|
||||
gratingIllumination=(4*handles.sigmaDivV_ID*handles.fCM/cos(alpha));
|
||||
set(handles.textGratingIllumination,'String',['Grating Illumination (mm) = ' num2str(gratingIllumination)])
|
||||
% resolving power
|
||||
% - source contribution
|
||||
handles.sigmaSizeV_ID*rms2fwhm;
|
||||
R_source=handles.fCM*T/(handles.sigmaSizeV_ID*rms2fwhm);
|
||||
% - PM-SE contribution
|
||||
R_PM=T/(2*handles.sigmaSE_PM*rms2fwhm);
|
||||
% - grating-SE contribution
|
||||
R_Gr=T/(handles.sigmaSE_Gr(gratingNo)*rms2fwhm*(1+cff));
|
||||
% - illuminated grooves
|
||||
incAngleGra=pi/2-alpha; footGraV=handles.sigmaDivV_ID*rms2fwhm*handles.fCM/sin(incAngleGra);
|
||||
R_N=min(handles.graLength,footGraV)*n;
|
||||
% - total
|
||||
R_tot=1/sqrt(R_source^-2+R_PM^-2+R_Gr^-2+R_N^-2);
|
||||
resLimit=energy/R_tot;
|
||||
% display resolution limit
|
||||
set(handles.textResolutionLimit,'String',['Resolution Limit (meV) = ' num2str(1000*resLimit)])
|
||||
% spot size at the slit
|
||||
slitV=sqrt( (handles.sigmaSizeV_ID*rms2fwhm*handles.fFM/(cff*handles.fCM))^2 + ...
|
||||
(2*handles.sigmaSE_PM*rms2fwhm*handles.fFM/cff)^2 + ...
|
||||
(handles.sigmaSE_Gr(gratingNo)*rms2fwhm*(1+1/cff)*handles.fFM)^2 );
|
||||
% display spot size at the slit
|
||||
set(handles.textSpotSize,'String',['Focused spot size (um) = ' num2str(1000*slitV)])
|
||||
% resolution coefficient
|
||||
resCoeff=handles.fFM*n*k/cos(beta);
|
||||
@@ -0,0 +1,26 @@
|
||||
function DataC=SetContrast(Data,minFrac,maxFrac,gamma)
|
||||
% DataC=SetContrast(Data,minFrac,maxFrac [,gamma]) increases the image contrast
|
||||
% by saturating the lowest and highest data values within the minFrac and maxFrac
|
||||
% fractions of all data points and (optionally) introducing the gamma-correction.
|
||||
% The function ignores NaN elements. DataC is offset to zero in its minimum.
|
||||
% Ver. 11.02.2018
|
||||
|
||||
% inputs
|
||||
if nargin<4; gamma=1; end
|
||||
|
||||
% normalization to vary between 0 and 1 required for image processing functions
|
||||
dMin=min(min(Data)); Data=Data-dMin; scale=max(max(Data)); Data=Data/scale;
|
||||
|
||||
% reference array without NaNs
|
||||
DataR=Data(:); DataR=DataR(~isnan(DataR));
|
||||
if isempty(DataR); DataC=Data; return; end
|
||||
|
||||
% histogram enhancement; the output arrays varies between 0 and 1
|
||||
Lims=stretchlim(DataR,[minFrac maxFrac]);
|
||||
DataC=imadjust(Data,Lims,[0 1],gamma);
|
||||
|
||||
% recovery of the NaNs removed by imadjust
|
||||
DataC(isnan(Data))=NaN;
|
||||
|
||||
% scaling back
|
||||
DataC=scale*DataC/diff(Lims)+dMin;
|
||||
@@ -0,0 +1,100 @@
|
||||
function [DSlice,XSlice]=Slice(ACorr,ECorr,Data,xMode,Win)
|
||||
% [DSlice,XSlice]=Slice(ACorr,ECorr,Data,xMode,Win) slices the 3D array Data defined as a
|
||||
% function of the [warping corrected] angles/parallel momenta ACorr and curvature corrected
|
||||
% [aligned] energies ECorr. The calculated 2D array DSlice is defined as a function of 2D
|
||||
% array XSlice(angles/momenta in Angle dimension, angles/momenta/hv in Scan dimension) for
|
||||
% xMode='IsoE' (case-insensitive) or XSlice(angles/momenta/hv in Scan dimension, energies
|
||||
% in Energy dimension) for xMode='isoK'. DSlice is integrated within the Win window
|
||||
% [win1 win2] of energies (xMode='isoE') or angles/momenta (xMode='isoK'). XSlice is
|
||||
% calculated in the middle of Win.
|
||||
% Ver. 06.06.2020 (ver. 15.12.2017 + permanent ACorr/ECorr)
|
||||
|
||||
disp('- Data slice formation')
|
||||
|
||||
% persistent DataSave ISum
|
||||
persistent ACorrSave ECorrSave DataSave ISumE ISumK
|
||||
|
||||
% check supported modes
|
||||
xMode=lower(xMode);
|
||||
if ~isequal(xMode,'isoe') && ~isequal(xMode,'isok')
|
||||
XSlice=[]; DSlice=[]; disp('Error in Slice: Only ''IsoE'' and ''IsoK'' modes supported'); return;
|
||||
end
|
||||
|
||||
% reset if new data (cumulative sum for another integration direction is persistent)
|
||||
if ~isequal(ACorr,ACorrSave) || ~isequal(ECorr,ECorrSave) || ~isequal(Data,DataSave)
|
||||
ISumE=[]; ISumK=[]; ACorrSave=ACorr; ECorrSave=ECorr; DataSave=Data;
|
||||
end
|
||||
|
||||
% array permutation to reduce the 'isoK' mode to 'isoE'
|
||||
if isequal(xMode,'isok')
|
||||
ACorr=permute(ACorr,[2 1 3]); ECorr=permute(ECorr,[2 1 3]); Data=permute(Data,[2 1 3]);
|
||||
T=ACorr; ACorr=ECorr; ECorr=T; clear T;
|
||||
end
|
||||
|
||||
% check integration window
|
||||
Win=sort(Win);
|
||||
% if Win(1)>max(max(max(ECorr))) || Win(2)<min(min(min(ECorr)))
|
||||
if Win(1)<max(max(ECorr(1,:,:))) || Win(2)>min(min(ECorr(end,:,:)))
|
||||
XSlice=[]; DSlice=[]; disp('Error in Slice: Inconsistent integration window'); return;
|
||||
end
|
||||
|
||||
% remove NaNs spoiling the cumulative sum
|
||||
Data(isnan(Data))=0;
|
||||
|
||||
% expanding angle and energy arrays
|
||||
% - 1D arrays
|
||||
if size(ACorr,1)==1; ACorr=repmat(ACorr,size(Data,1),1); end
|
||||
if size(ECorr,2)==1; ECorr=repmat(ECorr,1,size(Data,2)); end
|
||||
% - 2D arrays
|
||||
if size(ACorr,3)==1; ACorr=repmat(ACorr,[1 1 size(Data,3)]); end
|
||||
if size(ECorr,3)==1; ECorr=repmat(ECorr,[1 1 size(Data,3)]); end
|
||||
|
||||
% shifted angle and energy arrays
|
||||
ACorr1=ACorr(1:end-1,:,:); ECorr1=ECorr(1:end-1,:,:); ECorr2=ECorr(2:end,:,:);
|
||||
|
||||
% parameters
|
||||
nA=size(Data,2); nS=size(Data,3); de=mean(mean(mean(diff(ECorr,1,1))));
|
||||
|
||||
% cumulative arrays
|
||||
if isequal(xMode,'isoe')
|
||||
if isempty(ISumE); ISumE=cumsum(Data(1:end-1,:,:),1)-0.5*Data(1:end-1,:,:); end
|
||||
ISum=ISumE;
|
||||
else
|
||||
if isempty(ISumK); ISumK=cumsum(Data(1:end-1,:,:),1)-0.5*Data(1:end-1,:,:); end
|
||||
ISum=ISumK;
|
||||
end
|
||||
|
||||
% slice values
|
||||
% point 1
|
||||
Lin1=find(ECorr1<=Win(1)&ECorr2>Win(1));
|
||||
% - subscript indices of the next point in energy
|
||||
[I,J,K]=ind2sub(size(ECorr1),Lin1); Lin2=sub2ind(size(ECorr1),I+1,J,K);
|
||||
% - interpolation of the linear matrices defined by linear indices
|
||||
I1=ISum(Lin1)+(ISum(Lin2)-ISum(Lin1)).*(Win(1)-ECorr1(Lin1))/de;
|
||||
% point 2
|
||||
Lin1=find(ECorr1<=Win(2)&ECorr2>Win(2));
|
||||
[I,J,K]=ind2sub(size(ECorr1),Lin1); Lin2=sub2ind(size(ECorr1),I+1,J,K);
|
||||
I2=ISum(Lin1)+(ISum(Lin2)-ISum(Lin1)).*(Win(2)-ECorr1(Lin1))/de;
|
||||
% integral value
|
||||
% size(ISum)
|
||||
% size(I2)
|
||||
% size(I1)
|
||||
DSlice=I2-I1;
|
||||
% normalization
|
||||
DSlice=DSlice*de/diff(Win);
|
||||
% reshape back to array
|
||||
DSlice=(reshape(DSlice,nA,nS))';
|
||||
|
||||
% XSlice values interpolated in the middle of Win
|
||||
% - this block runs ~25% of the integration block runtime
|
||||
midE=mean(Win);
|
||||
Lin1=find(ECorr1<=midE&ECorr2>midE);
|
||||
[I,J,K]=ind2sub(size(ECorr1),Lin1); Lin2=sub2ind(size(ECorr1),I+1,J,K);
|
||||
XSlice=ACorr1(Lin1)+(ACorr1(Lin2)-ACorr1(Lin1)).*(midE-ECorr1(Lin1))/de;
|
||||
% - reshape back to array
|
||||
XSlice=(reshape(XSlice,nA,nS))';
|
||||
|
||||
% permutate back if the 'IsoK' mode
|
||||
if isequal(xMode,'isok')
|
||||
XSlice=XSlice'; DSlice=DSlice';
|
||||
end
|
||||
@@ -0,0 +1,42 @@
|
||||
function A=SubtrBkg(ACorr,EAlign,Data,EWinNorm,scCoeff,clipNeg)
|
||||
% A=SubtrBkg(ACorr,EAlign,Data [,EWinNorm] [,scCoeff] [,clipNeg]) subtracts angle-integrated spectral weight from
|
||||
% the 2D/3D data array Data. Before the subtraction, the data is normalized to the spectral intensity integrated within
|
||||
% the energy window EWinNorm (default 90% of the EAlign range). scCoeff scales the subtracted angle-integrated
|
||||
% intensity (default 0.7) and clipNeg indicates whether the negative values are set to zero (default 1) or not (0).
|
||||
% Ver. 11.07.2022
|
||||
|
||||
% default arguments
|
||||
if nargin<6||isempty(clipNeg); clipNeg=1; end
|
||||
if nargin<5||isempty(scCoeff); scCoeff=0.7; end
|
||||
if nargin<4||isempty(EWinNorm); EWinNorm=[]; end
|
||||
|
||||
% validity check
|
||||
if ~isnumeric(scCoeff)||~isequal(size(scCoeff),[1 1]); disp ('Error in SubtrBkg: scCoeff should be scalar'); A=[]; return; end
|
||||
if ~isequal(clipNeg,0)&&~isequal(clipNeg,1); disp ('Error in SubtrBkg: clipNeg should be 0 or 1'); A=[]; return; end
|
||||
if ~isempty(EWinNorm)&&~isequal(size(EWinNorm),[1 2])&&~isequal(size(EWinNorm),[2 1]); disp('Error in SubtrBkg: EWinNorm should be a two-element vector'); A=[]; return; end
|
||||
|
||||
% normalization energy window
|
||||
ERange=[min(min(EAlign(:,1,:))) max(max(EAlign(:,end,:)))];
|
||||
if isempty(EWinNorm)
|
||||
EWinNorm=[0.9*ERange(1)+0.1*ERange(2) 0.1*ERange(1)+0.9*ERange(2)];
|
||||
else
|
||||
if min(EWinNorm)<ERange(1)||max(EWinNorm)>ERange(2) disp('Error in SubtrBkg: Inconsistent normalization energy window'); A=[]; return; end
|
||||
end
|
||||
% normalizing data
|
||||
disp('- Normalizing data')
|
||||
IDiv=Slice(ACorr,EAlign,Data,'isoE',EWinNorm);
|
||||
IDiv=Gaco2(IDiv,5,0); % HWHM adjusted to suppress uneven sensitivity of the CCD channels
|
||||
IDiv=repmat(IDiv,1,1,size(Data,1)); IDiv=permute(IDiv,[3 2 1]);
|
||||
Data=Data./IDiv;
|
||||
|
||||
% angle-integration window
|
||||
aMin=max(max(ACorr(:,1,:))); aMax=min(min(ACorr(:,end,:)));
|
||||
AWin=[0.95*aMin+0.05*aMax 0.05*aMin+0.95*aMax];
|
||||
% subtract angle-integrated spectrum and clip negative values
|
||||
if scCoeff~=0
|
||||
disp('- Subtracting angle-integrated background')
|
||||
ISubtr=Slice(ACorr,EAlign,Data,'isoK',AWin);
|
||||
ISubtr=repmat(ISubtr,1,1,size(Data,2)); ISubtr=permute(ISubtr,[1 3 2]);
|
||||
A=Data-scCoeff*ISubtr;
|
||||
if clipNeg==1; A(A<0)=0; end
|
||||
end
|
||||
@@ -0,0 +1,65 @@
|
||||
function [DataXC,OffsE]=SumScanXC(Energy,Data,maxLagE,Win)
|
||||
% [DataXC,OffsE] = SumScanXC(Energy,Data,maxLagE[,WinE]) summs up the separate scan frames from 3D
|
||||
% array Data with energy offsets calculated by cross-correlation within the lag interval % +-maxLagE.
|
||||
% The cross-correlation energy window is Win (default 80% of Energy) and angular window is fixed to
|
||||
% default 90%. The returned offsets OffsE are discrete on energy grid without interpolation.
|
||||
% Note: The cross-correlation algorithm subtracts linear background fixed at the end points of the
|
||||
% energy window. For better accuracy choose the window ends at valleys between the spectral peaks
|
||||
% and not far above EF.
|
||||
% Ver. 17.06.2017
|
||||
disp('- Correlating scans')
|
||||
% check input
|
||||
if size(Data,3)<2; DataXC=Data; OffsE=0; return; end
|
||||
% parameters
|
||||
nE=length(Energy); dE=mean(diff(Energy)); nA=size(Data,2); nS=size(Data,3);
|
||||
maxLag=round(maxLagE/dE); Lag=-1*maxLag:maxLag;
|
||||
% XC-window
|
||||
% - default window of 80% in energy and 90% in angle
|
||||
EWin=(1+round(0.1*nE)):round(0.9*nE);
|
||||
AWin=(1+round(0.05*nA)):round(0.95*nA); nAWin=length(AWin);
|
||||
% - energy window
|
||||
if nargin>3;
|
||||
Win=sort(Win);
|
||||
EWin=round([max(1,interp1(Energy,1:nE,Win(1))):min(nE,interp1(Energy,1:nE,Win(2)))]);
|
||||
end
|
||||
nEWin=length(EWin);
|
||||
|
||||
% data window
|
||||
DWin=Data(EWin(1):EWin(end),AWin(1):AWin(end),:);
|
||||
X=repmat(1:nAWin,nEWin,1); Y=repmat((1:nEWin)',1,nAWin);
|
||||
% figure; surf(X,Y,DWin(:,:,1),'edgecolor','none');
|
||||
% suppress the window edge effects by 1D linear fit of the edge values
|
||||
% - window edge values averaged over 3 end points
|
||||
D1=sum(DWin(1:3,:,:),1)/3; D2=sum(DWin(end-2:end,:,:),1)/3;
|
||||
for iS=1:nS
|
||||
D1S=D1(1,:,iS); D2S=D2(1,:,iS);
|
||||
Bkg=repmat(D1S,nEWin,1)+repmat((D2S-D1S)./(Y(end,:)-Y(1,:)),nEWin,1).*Y;
|
||||
% figure; surf(X,Y,Bkg,'edgecolor','none');
|
||||
DWin(:,:,iS)=DWin(:,:,iS)-Bkg;
|
||||
% figure; surf(X,Y,DWin(:,:,iS),'edgecolor','none');
|
||||
end
|
||||
|
||||
% padded reference
|
||||
Ref=DWin(:,:,1); RPad=[zeros(maxLag,nAWin);Ref;zeros(maxLag,nAWin)];
|
||||
% cycle over scans
|
||||
OffsE=0; DataXC=Data(:,:,1)/nS;
|
||||
for iS=2:nS
|
||||
% - cycle over lags
|
||||
XC=[]; for lag=Lag
|
||||
DPad=[zeros(maxLag+lag,nAWin);DWin(:,:,iS);zeros(maxLag-lag,nAWin)];
|
||||
xc=sum(sum(RPad.*DPad));
|
||||
%/(size(Ref,1)-abs(lag)); % Note: Unbiased correlation may fail for flat-topped functions like y=x^2 (see TestXC.m)
|
||||
XC=[XC xc];
|
||||
end
|
||||
% figure; plot(dE*Lag,XC);
|
||||
% - offset at maximal correlation
|
||||
[~,indMax]=max(XC); offs=Lag(indMax); offsE=offs*dE; OffsE=[OffsE; offsE];
|
||||
disp(['Scan = ' num2str(iS) ': Offset = ' num2str(offsE)])
|
||||
% - appending/truncation of the correlated images
|
||||
% Note: negative arguments of ones(n,m) return empty array
|
||||
Data(:,:,iS)=[NaN*ones(offs,nA); ...
|
||||
Data(max(1,1-offs):min(nE,nE-offs),:,iS); ...
|
||||
NaN*ones(-1*offs,nA)];
|
||||
% - summation normalized by nS
|
||||
DataXC=DataXC+Data(:,:,iS)/nS;
|
||||
end
|
||||
@@ -0,0 +1,62 @@
|
||||
% -------------------------------------------------------------------------
|
||||
% FUNCTION CALL: Img = CurvatureFlt2(Img [,order] [,CX] [,CY])
|
||||
% -------------------------------------------------------------------------
|
||||
% DESCRIPTION:
|
||||
% This function computes the 1D or the 2D curvature as presented in [1]
|
||||
% of the image.
|
||||
% -------------------------------------------------------------------------
|
||||
% INPUT:
|
||||
% Img inpute image
|
||||
% order dim parameter [String]: '1D', '2D' (1D or 2D curvature method)
|
||||
% CX weighting parameter x direction (in 2D: exact parameter defined in [1])
|
||||
% CY weighting parameter y direction (in 2D: exact parameter defined in [1])
|
||||
% [1] P. P. Zhang, "A precise method for visualizing dispersive features
|
||||
% in image plots," Review of Scientific Instruments, vol. 82,
|
||||
% no. 4, 2011.
|
||||
% -------------------------------------------------------------------------
|
||||
% OUTPUT:
|
||||
% Img filtered image (image is normalized to value range between (0,1))
|
||||
% -------------------------------------------------------------------------
|
||||
function [img] = CurvatureFlt2(img,varargin)
|
||||
if(isempty(varargin))
|
||||
img = curvature2D(img, 1,1);
|
||||
else
|
||||
switch varargin{1}
|
||||
case '1D'
|
||||
img = curvature1D(img,varargin{2},varargin{3});
|
||||
case '2D'
|
||||
img = curvature2D(img,varargin{2},varargin{3});
|
||||
end
|
||||
end
|
||||
end
|
||||
function AA = curvature2D(A,CX,CY)
|
||||
%compute 1st,2nd derivative along x,y
|
||||
|
||||
AX = DifC(A',1)';
|
||||
AXX = DifC(A',2)';
|
||||
AY = (DifC(A,1));
|
||||
AYY = (DifC(A,2));
|
||||
AXY = (DifC(AX,1));
|
||||
|
||||
%compute curvature
|
||||
|
||||
AA = subplus(-(...
|
||||
((1+CX*AX.^2).*CY.*AYY) -...
|
||||
(2*CX*CY*(AX.*AY.*AXY)) +...
|
||||
((1+CY*AY.^2)*CX.*AXX)) ./...
|
||||
(...
|
||||
(1 + CX*AX.^2 +CY*AY.^2).^(1.5)));
|
||||
AA = mat2gray(AA);
|
||||
end
|
||||
|
||||
function AA = curvature1D(A,hw,vw)
|
||||
AX = DifC(A',1)';
|
||||
AXX = DifC(A',2)';
|
||||
AY = (DifC(A,1));
|
||||
AYY = (DifC(A,2));
|
||||
|
||||
AA = hw*AXX./(1+AX.^2).^(3/2) + vw*AYY./(1+AY.^2).^(3/2);
|
||||
AA = subplus(-AA);
|
||||
|
||||
AA = mat2gray(AA);
|
||||
end
|
||||
@@ -0,0 +1,40 @@
|
||||
% -------------------------------------------------------------------------
|
||||
% FUNCTION CALL: GaussFlt2(Img,hwX,hwY,hsX,hsY)
|
||||
% -------------------------------------------------------------------------
|
||||
% DESCRIPTION:
|
||||
% The image is convolved with a gaussian kernel. The gaussian kernel is a
|
||||
% kernel with [hsX,hsY] size and incorporates the horicontal, vertical
|
||||
% half widths. The kernel is normalized.
|
||||
% -------------------------------------------------------------------------
|
||||
% HINT:
|
||||
% For medianfilter use the MATLAB function medfilt2 (help medfilt2)
|
||||
% -------------------------------------------------------------------------
|
||||
% INPUT:
|
||||
% Img 2D intensity image
|
||||
% hwX horizontal half width
|
||||
% hwY vertical half width
|
||||
% hsX horizontal kernel length
|
||||
% hsY vertical kernel length
|
||||
% -------------------------------------------------------------------------
|
||||
% OUTPUT:
|
||||
% Img image convolved with gaussian kernel
|
||||
% -------------------------------------------------------------------------
|
||||
function Img = GaussFlt2(Img,hwX,hwY,hsX,hsY)
|
||||
sigx = hwX/(2*sqrt(2*log(2)));
|
||||
sigy = hwY/(2*sqrt(2*log(2)));
|
||||
cov = [sigx, 0; 0 sigy];
|
||||
kernel = getGauss(hsX,hsY,cov);
|
||||
Img = imfilter(Img,kernel);
|
||||
end
|
||||
|
||||
function gauss = getGauss(hsX, hsY, cov)
|
||||
halfx = (hsX-1)/2;
|
||||
halfy = (hsY-1)/2;
|
||||
[x,y] = meshgrid(-halfx:halfx,-halfy:halfy);
|
||||
A = inv(cov);
|
||||
a1 = A(1,1)*x + A(1,2)*y;
|
||||
a2 = A(2,1)*x + A(2,2)*y;
|
||||
gauss = exp(-0.5*(x.*a1 + y.*a2));
|
||||
gauss = gauss./sum(gauss(:));
|
||||
end
|
||||
|
||||
@@ -0,0 +1,159 @@
|
||||
% -------------------------------------------------------------------------
|
||||
% FUNCTION CALL: LaplaceFlt2(Img [,y2xRatio] [,order])
|
||||
% -------------------------------------------------------------------------
|
||||
% DESCRIPTION:
|
||||
% For laplacian computation a 2nd and 4th order scheme is used, for details
|
||||
% please see (https://en.wikipedia.org/wiki/Finite_difference_coefficient).
|
||||
% The 2nd order scheme needs a x_(i-1) and x_(i+1) for computation of the
|
||||
% 2nd derivative at x_i. While the 4th order scheme needs x_(i-2),...,
|
||||
% x_(i+2) values for x_i computation. For boundary pixels padding is
|
||||
% therefore needed. Padding is done by mirroring boundary pixels.
|
||||
% -------------------------------------------------------------------------
|
||||
% EXAMPLE USE:
|
||||
% img = imread('cameraman.tif');
|
||||
% img = Laplacian2(img,1,'4th');
|
||||
% imshow(img)
|
||||
% -------------------------------------------------------------------------
|
||||
% INPUT:
|
||||
% Img --- image (NxM array)
|
||||
% y2xRatio --- weigthing ratio between y and x laplacian
|
||||
% order --- laplacian order [String]; '2nd','4th'
|
||||
% -------------------------------------------------------------------------
|
||||
% OUTPUT:
|
||||
% Img --- output image (NxM array), image is normalized between
|
||||
% (0,1)
|
||||
% -------------------------------------------------------------------------
|
||||
|
||||
function [img] = LaplaceFlt2(img, varargin)
|
||||
if(isempty(varargin))
|
||||
img = laplacian2nd(img,1);
|
||||
elseif(length(varargin)==2)
|
||||
y2x = varargin{1};
|
||||
|
||||
switch varargin{2}
|
||||
case '2nd'
|
||||
img = laplacian2nd(img, y2x);
|
||||
|
||||
case '4th'
|
||||
img = laplacian4th(img, y2x);
|
||||
end
|
||||
end
|
||||
|
||||
end
|
||||
|
||||
function [img] = laplacian2nd(img, y2x)
|
||||
a = 1;
|
||||
b = -2;
|
||||
|
||||
%resize array
|
||||
|
||||
[nsz, msz] = size(img);
|
||||
AA = zeros(nsz+2,msz+2);
|
||||
AA(2:end-1,2:end-1) = img;
|
||||
AA(1,2:end-1) = (img(1,:));
|
||||
AA(end,2:end-1) = (img(end,:));
|
||||
AA(:,1) = (AA(:,2));
|
||||
AA(:,end) = (AA(:,end-1));
|
||||
|
||||
img = AA;
|
||||
|
||||
% horizontal
|
||||
|
||||
Am = b*img(2:end-1,2:end-1);
|
||||
Al = a*img(2:end-1,1:end-2);
|
||||
Ar = a*img(2:end-1,3:end);
|
||||
|
||||
Ah = subplus(-(Am + Al + Ar));
|
||||
% vertical
|
||||
|
||||
Am = b*img(2:end-1,2:end-1);
|
||||
Al = a*img(1:end-2,2:end-1);
|
||||
Ar = a*img(3:end,2:end-1);
|
||||
|
||||
Av = subplus(-(Am + Al + Ar));
|
||||
|
||||
% % diag-1
|
||||
%
|
||||
% Am = b*img(2:end-1,2:end-1);
|
||||
% Al = a*img(1:end-2,1:end-2);
|
||||
% Ar = a*img(3:end,3:end);
|
||||
%
|
||||
% Ad = dw1*subplus(-(Am + Al + Ar)/2);
|
||||
%
|
||||
%
|
||||
% % diag-2
|
||||
%
|
||||
% Am = b*img(2:end-1,2:end-1);
|
||||
% Al = a*img(3:end,1:end-2);
|
||||
% Ar = a*img(1:end-2,3:end);
|
||||
%
|
||||
% Add = dw2*subplus(-(Am + Al + Ar)/2);
|
||||
|
||||
Av = y2x*mat2gray(Av);
|
||||
Ah = mat2gray(Ah);
|
||||
% Add = mat2gray(Add);
|
||||
% Ad = mat2gray(Ad);
|
||||
% img = max(max(Av,Ah),max(Add,Ad));
|
||||
img = max(Av,Ah);
|
||||
end
|
||||
|
||||
function [img] = laplacian4th(A,y2x)
|
||||
%coeff 4th order
|
||||
|
||||
a = -1/12;
|
||||
b = 4/3;
|
||||
c = -5/2;
|
||||
|
||||
%enlarge array
|
||||
[nsz, msz] = size(A);
|
||||
AA = zeros(nsz+4,msz+4);
|
||||
AA(3:end-2,3:end-2) = A;
|
||||
AA(1:2,3:end-2) = repmat(A(1,:),[2 1]);
|
||||
AA(end-1:end,3:end-2) = repmat(A(end,:),[2 1]);
|
||||
AA(:,1:2) = repmat(AA(:,3),[1 2]);
|
||||
AA(:,end-1:end) = repmat(AA(:,end-2),[1 2]);
|
||||
|
||||
A = AA;
|
||||
% horizontal
|
||||
Am = c*A(3:end-2,3:end-2);
|
||||
All = a*A(3:end-2,1:end-4);
|
||||
Al = b*A(3:end-2,2:end-3);
|
||||
Arr = a*A(3:end-2,5:end);
|
||||
Ar = b*A(3:end-2,4:end-1);
|
||||
|
||||
Axx = subplus(-(All + Al + Am + Ar + Arr));
|
||||
|
||||
% vertical
|
||||
Am = c*A(3:end-2,3:end-2);
|
||||
All = a*A(1:end-4,3:end-2);
|
||||
Al = b*A(2:end-3,3:end-2);
|
||||
Arr = a*A(5:end,3:end-2);
|
||||
Ar = b*A(4:end-1,3:end-2);
|
||||
|
||||
Ayy = subplus(-(All + Al + Am + Ar + Arr));
|
||||
|
||||
% % diag-1
|
||||
% Am = c*A(3:end-2,3:end-2);
|
||||
% All = a*A(1:end-4,1:end-4);
|
||||
% Al = b*A(2:end-3,2:end-3);
|
||||
% Arr = a*A(5:end,5:end);
|
||||
% Ar = b*A(4:end-1,4:end-1);
|
||||
%
|
||||
% Aud = dw1 * subplus(-(All + Al + Am + Ar + Arr)/2);
|
||||
%
|
||||
% % diag-2
|
||||
% Am = c*A(3:end-2,3:end-2);
|
||||
% All = a*A(5:end,1:end-4);
|
||||
% Al = b*A(4:end-1,2:end-3);
|
||||
% Arr = a*A(1:end-4,5:end);
|
||||
% Ar = b*A(2:end-3,4:end-1);
|
||||
%
|
||||
% Abu = dw2 * subplus(-(All + Al + Am + Ar + Arr)/2);
|
||||
|
||||
Axx = mat2gray(Axx);
|
||||
Ayy = y2x*mat2gray(Ayy);
|
||||
% Aud = mat2gray(Aud);
|
||||
% Abu = mat2gray(Abu);
|
||||
% img = max(max(Axx,Ayy),max(Aud,Abu));
|
||||
img = max(Axx,Ayy);
|
||||
end
|
||||
@@ -0,0 +1,46 @@
|
||||
function DataCorr=SkewCorr(Angle,Energy,Data,AngleC,EnergyC,DataC,eLoc,feat)
|
||||
% SkewCorr.m removes skewing of Data in energy scale as function of angle, which may result from
|
||||
% certain irreproducibility of the analyzer slit setting. The algorithm uses 2-order polynomial fit
|
||||
% of the Fermi edge or spectral peak in the calibration data, averaged within 20 angular bins, and
|
||||
% AlignEF.m with default energy window and pre-smoothing parameters.
|
||||
% Inputs: Angle (1D-row), Energy (1D-column) and Data (2D or 3D) are the input data arrays;
|
||||
% AngleC (1D-row), EnergyC (1D-column) and DataC (2D) are the calibration data arrays; optional eLoc
|
||||
% (default eLoc=0) specifies approximate energy of the calibration spectral structure, and optional
|
||||
% feat = 'EF' or 'Peak' (case-insensitive, default 'EF') the type of this structure.
|
||||
% Outputs: DataCorr as a function of the same Angle and Energy
|
||||
|
||||
% calibration data and parameters
|
||||
%[AngleC,EnergyC,~,DataC,~,~]=ReadARPES(CalibFile); % the previous version
|
||||
nA=size(DataC,2); nBin=20;
|
||||
if nargin<7; eLoc=[]; end; if isempty(eLoc); eLoc=0; end
|
||||
if nargin<8; feat=[]; end; if isempty(feat); feat='EF'; end;
|
||||
|
||||
% alignment and fit of the calibration data
|
||||
% - global EF alignment to help reliability of the local alignment
|
||||
[EnergyC,~,Fail]=AlignEF(DataC,EnergyC,eLoc,[],[],feat);
|
||||
if ~isempty(Fail); DataCorr=[]; disp('Global EF alignment error'); return; end
|
||||
% - local EF alignment
|
||||
width=floor(nA/nBin);
|
||||
n1=round((nA-nBin*width)/2);
|
||||
A=[]; EF=[];
|
||||
for j=n1:width:n1+width*(nBin-1);
|
||||
[~,ef,Fail]=AlignEF(DataC(:,j:j+width),EnergyC,0,[],[],feat);
|
||||
if isempty(Fail);
|
||||
A=[A (AngleC(floor(j+width/2))+AngleC(ceil(j+width/2)))/2]; EF=[EF ef];
|
||||
end
|
||||
end
|
||||
% - polynomial fit
|
||||
P=polyfit(A,EF,2);
|
||||
% figure; plot(A,EF,'b',AngleC,polyval(P,AngleC),'r')
|
||||
% - removal of constant offset
|
||||
P(end)=0;
|
||||
|
||||
% input data alignment
|
||||
% - interpolation matrices
|
||||
AngleM=repmat(Angle,size(Data,1),1);
|
||||
EnergyCorr=repmat(Energy,1,size(Data,2))+repmat(polyval(P,Angle),size(Data,1),1);
|
||||
% - cycle through scans
|
||||
DataCorr=Data; for iScan=1:size(Data,3)
|
||||
% - interpolating the corrected data
|
||||
DataCorr(:,:,iScan)=interp2(Angle,Energy,Data(:,:,iScan),AngleM,EnergyCorr,'pchip');
|
||||
end
|
||||
@@ -0,0 +1,21 @@
|
||||
function surfNormX = SurfNormX(hv,eB,kx,thtM,thtA,incAlpha)
|
||||
% surfNormX = SurfNormX(hv,eB,kx,thtM,thtA,incAlpha) calculates the surface normal
|
||||
% angle in the measurement plane. Inputs:
|
||||
% hv - photon energy;
|
||||
% eB and kx - binding energy (eB<0) and known k// of some reference feature;
|
||||
% thtN and thtA - corresponding angle of the sample rotation and angle on
|
||||
% the analyser scale.
|
||||
% incAlpha - nominal X-ray incidence angle, for the present geometry equal to 9deg. If omitted, old geometry with 20deg implied.
|
||||
% Ver. 08.11.2022
|
||||
|
||||
% parameters
|
||||
if nargin<6; alpha=20; else alpha=incAlpha; end % nominal incidence angle
|
||||
ePhi=4.5; % workfunction
|
||||
% inputs check
|
||||
if isempty(hv*eB*kx*thtM*thtA); surfNormX=[]; return; end
|
||||
% physical reference THT
|
||||
[thtMPhys,~,exitFlag]=fsolve(@(x) 0.5124*sqrt(hv-ePhi+eB)*sind(thtA+x)-...
|
||||
2*pi*hv*cosd(alpha+x)/12400-kx,0,optimset('Display','off','TolFun',1e-10));
|
||||
if exitFlag~=1||imag(thtMPhys)~=0; thtMPhys=[]; msgbox('Error: Failed to find the surface normal'); end
|
||||
% surface normal
|
||||
surfNormX=thtMPhys-thtM;
|
||||
@@ -0,0 +1,58 @@
|
||||
function [AA,ClipIm]=UnDisperse(A,hwSm,threshD2,threshD1)
|
||||
% [AA,ClipIm]=UnDisperse(A,hwSm,threshD2,threshD1) clips from the ARPES image A the band-dispersion regions and
|
||||
% evaluates the spectrum AA which is angle-integrated and normalized by the number of points outside these regions.
|
||||
% The dispersion regions are identified by the condition -d2I/dE2>threshD2 (between the peak inflexion points) or,
|
||||
% if the fourth parameter provided, by |d2I/dE2|>threshD2 and |dI/dE|>threshD1 (larger peak base width). Before
|
||||
% the derivation, the image A is Gaussian pre-smoothed in the energy direction with hwSm, and the resulting
|
||||
% spectrum AA post-smoothed with hwSm/2. If the -d2I/dE2>threshD2 condition is used, the corresponding peak
|
||||
% width underestimate can be compensted by an increase of hwSm (which simultaneously reduces noise).
|
||||
% Example: [AA,ClipIm]=UnDisperse(Z,0.5/dE,0.04); ImData(X,Y,SetContrast(ClipIm,0.001,0.999)); plot(AA)
|
||||
|
||||
% parameters
|
||||
histMax=0.999; Mask=ones(size(A));
|
||||
% pre-smoothing
|
||||
SmA=Gaco2(A,0,hwSm);
|
||||
|
||||
% peak identification from second derivative only
|
||||
if nargin<4
|
||||
% - derivatives in the Y-direction
|
||||
DA2=-1*DifC(SmA,2); DA2(DA2<0)=0; DA2(isnan(DA2))=0;
|
||||
% - normalization to histogrammic maximum
|
||||
DA2=DA2/max(max(DA2)); limDA2=stretchlim(DA2,[0 histMax]); DA2=DA2/limDA2(2);
|
||||
% - clipping mask
|
||||
Mask(DA2>threshD2)=0;
|
||||
|
||||
% peak identification from second and first derivatives
|
||||
else
|
||||
% - derivatives in the Y-direction
|
||||
DA1=abs(DifC(SmA,1)); DA1(isnan(DA1))=0;
|
||||
DA2=-1*DifC(SmA,2); DA2(DA2<0)=0; DA2(isnan(DA2))=0; % peak width within -d2I/dY2 maximum
|
||||
% DA2=abs(DifC(SmA,2)); DA2(isnan(DA2))=0; % peak width between -d2I/dY2 minima
|
||||
% - normalization to histogrammic maximum
|
||||
DA1=DA1/max(max(DA1)); limDA1=stretchlim(DA1,[0 histMax]); DA1=DA1/limDA1(2);
|
||||
DA2=DA2/max(max(DA2)); limDA2=stretchlim(DA2,[0 histMax]); DA2=DA2/limDA2(2);
|
||||
% - clipping mask
|
||||
Mask(DA2>threshD2|DA1>threshD1)=0;
|
||||
end
|
||||
|
||||
% angle-integrated unstructure
|
||||
% - input data with the clipped dispersion regions
|
||||
ClipIm=A; ClipIm(Mask==0)=NaN;
|
||||
% - nput data with zeros in the clipped regions
|
||||
A(Mask==0)=0;
|
||||
% - angle-integrated data normalized by number of points outside the clipped regions
|
||||
nA=size(A,2); nE=size(A,1); AA=IntAngle(A,1:nA,(1:nE)',[1+0.05*(nA-1) 1+0.95*(nA-1)]);
|
||||
% [~,AA]=Cut(1:nA,(1:nE)',A,'edc',[1+0.05*(nA-1) 1+0.95*(nA-1)]); % for some reasons does not work
|
||||
MSum=IntAngle(Mask,1:nA,(1:nE)',[1+0.05*(nA-1) 1+0.95*(nA-1)]);
|
||||
AA=AA./MSum;
|
||||
% post-smoothing
|
||||
AA=Gaco2(AA,0,hwSm/2);
|
||||
|
||||
% SmoZ=Gaco2(ExpZ,0,0.1/dE);
|
||||
% figure; ImData(ExpX,ExpY,SmoZ); colormap hot; colorbar
|
||||
% Di2Z=-DifC(SmoZ,2);
|
||||
% Diff1=DifC(SmoZ,1);
|
||||
% Cl2Z=Di2Z; Cl2Z(abs(Di2Z)>max(max(abs(Di2Z)))/40|abs(Diff1)>max(max(abs(Diff1)))/10)=NaN;
|
||||
% figure; ImData(ExpX,ExpY,Cl2Z); colormap hot; colorbar;
|
||||
% Cl2Z=Di2Z; Cl2Z(abs(Di2Z)>max(max(abs(Di2Z)))/20|abs(Diff1)>max(max(abs(Diff1)))/10)=NaN;
|
||||
% figure; ImData(ExpX,ExpY,Cl2Z); colormap hot; colorbar;
|
||||
@@ -0,0 +1,22 @@
|
||||
function D=DifC(X,n)
|
||||
% D = DifC(X,n) calculates the central differencies for the vector X of
|
||||
% the n=1 or 2 order. The result is end-padded to keep the length of X.
|
||||
% If A is matrix, the differences are calculated along the columns.
|
||||
|
||||
% consistency check
|
||||
if n~=1 && n~=2; disp('DifC: Error, only n=1 or 2 are supported'); return; end
|
||||
|
||||
% transpose the row vector input
|
||||
if size(X,1)==1; X=X'; tra=1; else tra=0; end
|
||||
|
||||
% central differences
|
||||
if n==1
|
||||
D=( X(3:end,:)-X(1:end-2,:) )/2;
|
||||
else
|
||||
D=X(3:end,:)+X(1:end-2,:)-2*X(2:end-1,:);
|
||||
end
|
||||
% padding
|
||||
D=[D(1,:); D; D(end,:)];
|
||||
|
||||
% back transpose when the row vector input
|
||||
if tra==1; D=D'; end
|
||||
@@ -0,0 +1,25 @@
|
||||
function [XMIN, XMAX] = ExLoc(X,Y)
|
||||
% [XMIN, XMAX] = ExLoc(X,Y) finds all local extrema and interpolates their position
|
||||
% inputs/outputs:
|
||||
% X,Y - vectors of x- and y-values
|
||||
% XMIN, XMAX - interpolated x-values of the local minima and maxima
|
||||
|
||||
% size check and reshape to rows
|
||||
nx=length(X); ny=length(Y); if (nx-ny)~=0 error('Mismatch of input vectors'); end
|
||||
X=reshape(X,[1 nx]); Y=reshape(Y,[1 ny]);
|
||||
|
||||
% - locating the extrema
|
||||
L=Y(1:size(Y,2)-2); C=Y(2:size(Y,2)-1); R=Y(3:size(Y,2));
|
||||
IMIN=1+find(C<L&C<R); IMAX=1+find(C>L&C>R);
|
||||
|
||||
% - interpolating
|
||||
XMIN=[];
|
||||
for imin=IMIN
|
||||
[x dummy]=XYMax( [Y(imin-1) Y(imin) Y(imin+1)] );
|
||||
XMIN=[XMIN X(imin-1)+x*(X(imin)-X(imin-1))];
|
||||
end
|
||||
XMAX=[];
|
||||
for imax=IMAX
|
||||
[x dummy]=XYMax( [Y(imax-1) Y(imax) Y(imax+1)] );
|
||||
XMAX=[XMAX X(imax-1)+x*(X(imax)-X(imax-1))];
|
||||
end
|
||||
@@ -0,0 +1,38 @@
|
||||
function [XMin,YMin,XMax,YMax] = ExtremeXY(X,Y)
|
||||
% [XMin,YMin,XMax,YMax] = ExtremeXY(X,Y) finds and interpolates all local extremes
|
||||
% Inputs/outputs:
|
||||
% X,Y - vectors (rows or columns) of x- and y-values
|
||||
% XMin,YMin,XMax,YMax - interpolated x- and y-values of the local minima and maxima
|
||||
% Note: X shall not necessarily be equidistant, but plaid and not repeating values
|
||||
|
||||
% locating indices of the extremes
|
||||
L=Y(1:end-2); C=Y(2:end-1); R=Y(3:end);
|
||||
IMin=1+find(C<L&C<R); IMax=1+find(C>L&C>R);
|
||||
|
||||
% offsets to pre-condition the polynom fit
|
||||
xOffset=mean(X); yOffset=mean(Y);
|
||||
X=X-xOffset; Y=Y-yOffset;
|
||||
|
||||
% interpolating minima and offset backcorrection
|
||||
XMin=[]; YMin=[];
|
||||
if ~isempty(IMin)
|
||||
for iMin=IMin
|
||||
X(iMin-1:iMin+1); Y(iMin-1:iMin+1);
|
||||
Fit=polyfit(X(iMin-1:iMin+1),Y(iMin-1:iMin+1),2);
|
||||
xMin=-0.5*Fit(2)/Fit(1); XMin=[XMin xMin];
|
||||
yMin=polyval(Fit,xMin); YMin=[YMin yMin];
|
||||
end;
|
||||
XMin=XMin+xOffset; YMin=YMin+yOffset;
|
||||
end
|
||||
|
||||
% interpolating maxima and offset backcorrection
|
||||
XMax=[]; YMax=[];
|
||||
if ~isempty(IMax)
|
||||
for iMax=IMax
|
||||
Fit=polyfit(X(iMax-1:iMax+1),Y(iMax-1:iMax+1),2);
|
||||
xMax=-0.5*Fit(2)/Fit(1); XMax=[XMax xMax];
|
||||
yMax=polyval(Fit,xMax); YMax=[YMax yMax];
|
||||
end;
|
||||
XMax=XMax+xOffset; YMax=YMax+yOffset;
|
||||
end
|
||||
|
||||
@@ -0,0 +1,14 @@
|
||||
function [AFlat,Coeffs]=Flat(Angle,Scan,Slice)
|
||||
% AFlat=Flat(Angle,Scan,Slice) returns a bilinear fit of Slice
|
||||
|
||||
% flatten the arrays
|
||||
SliceF=Slice(:);
|
||||
[AngleM,ScanM]=meshgrid(Angle,Scan); AngleF=AngleM(:); ScanF=ScanM(:);
|
||||
OnesF=ones(size(SliceF));
|
||||
% fitting
|
||||
Coeffs=[AngleF ScanF OnesF]\SliceF;
|
||||
% fitting plane
|
||||
AFlat=Coeffs(1)*AngleM+Coeffs(2)*ScanM+Coeffs(3);
|
||||
% figure; imagesc(Angle,Scan,Slice); set(gca,'TickDir','Out'); axis equal tight;
|
||||
% figure; imagesc(Angle,Scan,FitM); set(gca,'TickDir','Out'); axis equal tight;
|
||||
|
||||
@@ -0,0 +1,27 @@
|
||||
function AA=Gaco1(A,hw,hs)
|
||||
% AA=Gaco1(A,hw [,hs]) convolutes vector or matrix A with Gaussian of
|
||||
% half-width hw and half-support hs(in inter-point distances). If skipped,
|
||||
% the default hs=3*hw. The ends are padded symmetrically. If A is matrix,
|
||||
% the convolution proceeds along the columns.
|
||||
|
||||
% transpose the row vector input
|
||||
if size(A,1)==1; A=A'; tra=1; else tra=0; end
|
||||
|
||||
% default support
|
||||
if nargin<3; hs=3*hw; end; hs=ceil(hs);
|
||||
|
||||
% convolution kernel
|
||||
% - formation
|
||||
K=(-1*hs:1:hs)'; K=exp(-1*(sqrt(log(2))*K/(hw+eps)).^2);
|
||||
% - normalization
|
||||
K=K/sum(K);
|
||||
|
||||
% padding A
|
||||
% ALow=flipud(A(2:hs+1,:)); AHi=flipud(A(end-hs:end-1,:)); A=[ALow;A;AHi];
|
||||
A=padarray(A,[hs 0],'replicate','both');
|
||||
|
||||
% convolution
|
||||
AA=conv2(K,1,A,'valid');
|
||||
|
||||
% back transpose when the row vector input
|
||||
if tra==1; AA=AA'; end
|
||||
File diff suppressed because it is too large.
Load diff
@@ -0,0 +1,16 @@
|
||||
function Fit=LinFit(X,Y,Z,FString)
|
||||
% linear fit of Z(X,Y) with the functions of X and Y specified in FString
|
||||
% (space separated). The constant term is represented by leading 1.
|
||||
% Example: Fit=LinFit(X,Y,Z,'1 X.^2 X.*Y Y.^2')
|
||||
|
||||
% replacing the constant term
|
||||
if isequal(FString(1),'1'); FString=['ones(size(X))' FString(2:end)]; end
|
||||
|
||||
% flattening
|
||||
X=X(:); Y=Y(:); Z=Z(:);
|
||||
if length(Y)~=length(X) || length(Z)~=length(X)
|
||||
Fit=[]; disp('LinFit error: Incompatible input arrays'); return
|
||||
end
|
||||
|
||||
% - fitting
|
||||
eval(['Fit=[' FString ']\Z;']); Fit=Fit';
|
||||
@@ -0,0 +1,25 @@
|
||||
function Z=LinVal(FString,Coeffs,X,Y)
|
||||
% Z=LinVal(FString,Coeffs,X,Y) returns values of the linear combination of
|
||||
% the functions of X and Y defined in FString (space separated) with
|
||||
% the coefficients defined in Coeffs.
|
||||
% Example: Z=LinVal('1 X.^2 X.Y Y.^2',Coeffs,X,Y)
|
||||
|
||||
% squeeze multiple spaces from FString
|
||||
while ~isempty(strfind(FString,' '))
|
||||
FString=strrep(FString,' ',' ');
|
||||
end
|
||||
|
||||
% consistency check
|
||||
if length(strfind(FString,' '))~=length(Coeffs)-1
|
||||
Z=[]; disp('LinVal error: FString misfits with Coeffs'); return
|
||||
end
|
||||
|
||||
% formation of the linear combination string
|
||||
FString=['Coeffs(1)*' FString]; % leading term
|
||||
for iCoeff=2:length(Coeffs)
|
||||
iSep=strfind(FString,' '); iSep=iSep(1);
|
||||
FString=[FString(1:iSep-1) '+Coeffs(' num2str(iCoeff) ')*' FString(iSep+1:end)];
|
||||
end
|
||||
|
||||
% values
|
||||
eval(['Z=' FString ';']);
|
||||
@@ -0,0 +1,26 @@
|
||||
function [xMax,yMax,zMax]=MaxLoc2(X,Y,Z)
|
||||
% [xMax,yMax,zMax]=MaxLoc2(X,Y,Z) finds the global maximum of Z(X,Y) and
|
||||
% quadratically interpolates its coordinates and value
|
||||
|
||||
% locate the global maximum
|
||||
ZMax=max(max(Z)); [iMax,jMax]=find(Z==ZMax);
|
||||
X=X(jMax-1:jMax+1); Y=Y(iMax-1:iMax+1); Z=Z(iMax-1:iMax+1,jMax-1:jMax+1);
|
||||
% test
|
||||
% figure; ImData(X,Y,Z);
|
||||
|
||||
% quadratic fit of the global maximum
|
||||
% - flatten the arrays
|
||||
[XM,YM]=meshgrid(X,Y); XF=XM(:); YF=YM(:);
|
||||
ZF=Z(:);
|
||||
OnesF=ones(size(ZF));
|
||||
% - fit coeffs
|
||||
A=[XF.^2 YF.^2 XF.*YF XF YF OnesF]\ZF;
|
||||
% - fit surface
|
||||
ZFit=A(1)*XM.^2+A(2)*YM.^2+A(3)*XM.*YM+A(4)*XM+A(5)*YM+A(6);
|
||||
% - output test
|
||||
% figure; ImData(X,Y,ZFit);
|
||||
|
||||
% - coordinates and value of the global maximum
|
||||
xMax=(2*A(2).*A(4)-A(3).*A(5))/(A(3).^2-4*A(1).*A(2));
|
||||
yMax=(-2*A(1)*xMax-A(4))/A(3);
|
||||
zMax=A(1)*xMax.^2+A(2)*yMax.^2+A(3)*xMax.*yMax+A(4)*xMax+A(5)*yMax+A(6);
|
||||
@@ -0,0 +1,35 @@
|
||||
function DataCorr=PolyAlignEF(Angle,Energy,Data,CalibFile)
|
||||
% PolyCorrEF.m aligns Data in energy scale relative to EF varying as function of angle. The
|
||||
% algorithm uses 3-order polynomial fit of the Fermi edge, averaged within 20 angular bins.
|
||||
% Inputs: Angle (1D-row), Energy (1D-column) and Data (2D or 3D) are the input array; CalibFile
|
||||
% is the EF calibration file. Outputs: DataCorr as a function of the same Angle and Energy
|
||||
|
||||
% calibration data and parameters
|
||||
[AngleC,EnergyC,~,DataC,~,~]=ReadARPES(CalibFile);
|
||||
nA=size(DataC,2); nBin=20;
|
||||
% - global EF alignment to help reliability of the local alignment
|
||||
[EnergyC,~,Fail]=AlignEF(DataC,EnergyC,0);
|
||||
if ~isempty(Fail); DataCorr=[]; disp('Global EF alignment error'); return; end
|
||||
% - local EF alignment
|
||||
width=floor(nA/nBin);
|
||||
n1=round((nA-nBin*width)/2);
|
||||
A=[]; EF=[];
|
||||
for j=n1:width:n1+width*(nBin-1);
|
||||
[~,ef,Fail]=AlignEF(DataC(:,j:j+width),EnergyC,0);
|
||||
if isempty(Fail);
|
||||
A=[A (AngleC(floor(j+width/2))+AngleC(ceil(j+width/2)))/2]; EF=[EF ef];
|
||||
end
|
||||
end
|
||||
% - polynomial fit
|
||||
P=polyfit(A,EF,3);
|
||||
% figure; plot(A,EF,'b',AngleC,polyval(P,AngleC),'r')
|
||||
|
||||
% input data alignment
|
||||
% - interpolation matrices
|
||||
AngleM=repmat(Angle,size(Data,1),1);
|
||||
EnergyCorr=repmat(Energy,1,size(Data,2))+repmat(polyval(P,Angle),size(Data,1),1);
|
||||
% - cycle through scans
|
||||
DataCorr=Data; for iScan=1:size(Data,3)
|
||||
% - interpolating the corrected data
|
||||
DataCorr(:,:,iScan)=interp2(Angle,Energy,Data(:,:,iScan),AngleM,EnergyCorr,'pchip');
|
||||
end
|
||||
@@ -0,0 +1,16 @@
|
||||
function [Angle,Energy,Scan,DataXC,ep,Note]=ReadSumXC(Files)
|
||||
% ReadSumXC reads and adds separate sp2- or hdf5-files with x-correlation.
|
||||
% The files are assumed to have the same size and energy scale.
|
||||
% The input parameter Files is a cell array like {'A','B','C'}.
|
||||
|
||||
% load files
|
||||
DataXC=[];
|
||||
for iFile=1:size(Files,2)
|
||||
try [Angle,Energy,Scan,Data,ep,Note]=ReadARPES(Files{iFile});
|
||||
catch msgbox(['Input Error in ' Files{iFile}],'modal'); return; end
|
||||
DataXC=cat(3,DataXC,Data);
|
||||
end
|
||||
|
||||
% reduction
|
||||
disp('- X-correlating data')
|
||||
maxLagE=0.25; [Energy,DataXC]=SumScanXC(Energy,DataXC,maxLagE);
|
||||
@@ -0,0 +1,19 @@
|
||||
function [data, axes, note] = ReaderHDF5(fname)
|
||||
% Read HDF5 file saved by SmartGUI
|
||||
% data is the possible multidimensional matrix.
|
||||
% axes is a cell object. Each row holds the scale array for
|
||||
% corresponding dimension.
|
||||
axes = {};
|
||||
% data dimensions are reversed
|
||||
data = h5read(fname, '/Matrix');
|
||||
data = permute(data, ndims(data):-1:1);
|
||||
% notes
|
||||
note = h5readatt(fname, '/Matrix', 'IGORWaveNote');
|
||||
% scale information for each dimension
|
||||
scale = h5readatt(fname, '/Matrix', 'IGORWaveScaling');
|
||||
[~, ncols] = size(scale);
|
||||
for n=2:ncols
|
||||
axis = scale(2,n)+[0:size(data,n-1)-1]*scale(1, n);
|
||||
axes = vertcat(axes, axis);
|
||||
end
|
||||
end
|
||||
@@ -0,0 +1,45 @@
|
||||
function [data,comments,transform] = ReaderSP2(filename)
|
||||
data = struct('image',[], ...
|
||||
'raw', [], ... % raw image without correction
|
||||
'erange',[], ... % in the format of [EkinStart, EkinEnd]
|
||||
'arange',[], ... % in the format of [aStart, aEnd]
|
||||
'edelta',[], ... % in the format of [EkinStart, EkinDelta]
|
||||
'adelta',[] ... % in the format of [aStart, aDelta]
|
||||
);
|
||||
d = readsp2(filename);
|
||||
if (isempty(d.image))
|
||||
return
|
||||
end
|
||||
data.image = d.image;
|
||||
data.raw = d.raw;
|
||||
comments = d.comment;
|
||||
|
||||
% Parse ERange and aRange
|
||||
ini = IniConfig();
|
||||
ini.ReadStream(comments,'#');
|
||||
|
||||
value = ini.GetValues('Transform','ERange','');
|
||||
erange = value{1};
|
||||
delta = (erange(2)-erange(1))/(size(data.image,2)-1);
|
||||
data.erange = erange;
|
||||
data.edelta = [erange(1) delta];
|
||||
|
||||
value = ini.GetValues('Transform','aRange','');
|
||||
arange = value{1};
|
||||
delta = (arange(2)-arange(1))/(size(data.image,1)-1);
|
||||
data.arange = arange;
|
||||
data.adelta = [arange(1) delta];
|
||||
|
||||
% Parse Transform section
|
||||
transform = [];
|
||||
keys = {'lensmode', 'Ek', 'Ep', 'WF', 'ERange', 'aRange', 'De1', 'aInner', ...
|
||||
'eShift', 'Da1', 'Da3', 'Da5', 'Da7', 'pixel_size', 'magnification', ...
|
||||
'offset', 'interpolation_mode', 'intensity_scaling', 'aUnit', ...
|
||||
'eGrid', 'aGrid', 'source'};
|
||||
for key=keys
|
||||
keyname = key{1};
|
||||
value = ini.GetValues('Transform', keyname, '');
|
||||
value = value{1};
|
||||
transform.(keyname) = value;
|
||||
end
|
||||
end
|
||||
@@ -0,0 +1,65 @@
|
||||
function [data,comments] = ReaderSP2(filename)
|
||||
% Read SP2 files.
|
||||
% It read the image as well as the scale information.
|
||||
|
||||
data = struct('image',[], ...
|
||||
'erange',[], ... % in the format of [EkinStart, EkinEnd]
|
||||
'arange',[], ... % in the format of [aStart, aEnd]
|
||||
'edelta',[], ... % in the format of [EkinStart, EkinDelta]
|
||||
'adelta',[] ... % in the format of [aStart, aDelta]
|
||||
);
|
||||
|
||||
|
||||
% Read image data
|
||||
% This is much slower than read with textscan
|
||||
% try
|
||||
% data.image = imread(filename);
|
||||
% lastwarn('');
|
||||
% catch ME
|
||||
% disp(ME.message)
|
||||
% return
|
||||
% end
|
||||
|
||||
% Valid SP2 file?
|
||||
file = fopen(filename);
|
||||
line = fgetl(file);
|
||||
if ~strcmp(line, 'P2')
|
||||
fclose(file);
|
||||
return
|
||||
end
|
||||
|
||||
% Read comments
|
||||
comments = {};
|
||||
line = fgetl(file);
|
||||
while ischar(line)
|
||||
if line(1)~='#', break; end
|
||||
comments = vertcat(comments,regexprep(line, '^#(.*)', '$1'));
|
||||
line = fgetl(file);
|
||||
end
|
||||
|
||||
% Read dimension information
|
||||
dims = sscanf(line, '%d %d %d');
|
||||
% Read data
|
||||
raw = textscan(file, '%d');
|
||||
data.image = double(reshape(raw{1}, dims(1), dims(2))');
|
||||
% Close file
|
||||
fclose(file);
|
||||
|
||||
% Parse ERange and aRange
|
||||
ini = IniConfig();
|
||||
ini.ReadStream(comments,'#');
|
||||
|
||||
value = ini.GetValues('Transform','ERange','');
|
||||
range = value{1};
|
||||
delta = (range(2)-range(1))/(size(data.image,2)-1);
|
||||
data.erange = range;
|
||||
data.edelta = [range(1) delta];
|
||||
|
||||
value = ini.GetValues('Transform','aRange','');
|
||||
range = value{1};
|
||||
delta = (range(2)-range(1))/(size(data.image,1)-1);
|
||||
data.arange = range;
|
||||
data.adelta = [range(1) delta];
|
||||
|
||||
end
|
||||
|
||||
@@ -0,0 +1,48 @@
|
||||
function AA=VGaco(A,HW,hs,PadMethod)
|
||||
% AA=VGaco(A,HW [,hs] [,PadMethod]) convolutes A (vector) with Gaussian
|
||||
% having varying half-width HW (vector or scalar, in inter-point distances)
|
||||
% and fixed half-support hs (scalar, in inter-point distances). If skipped
|
||||
% or empty, the default hs=3*hw. Reduction of the end effects is controlled
|
||||
% by PadMethod (optional): default symmetric padding if skipped or 'symm',
|
||||
% or padding by hs-wide arrays linearly extrapolated from the HW-wide end
|
||||
% intervals if 'extrap'
|
||||
|
||||
% default support
|
||||
if nargin<3; hs=[]; end
|
||||
if isempty(hs); hs=3*HW; end
|
||||
|
||||
% check the PadMethod arguments
|
||||
if nargin==4 && ~strcmp(PadMethod,'extrap') && ~strcmp(PadMethod,'symm')
|
||||
error('''symm'' (default) and ''extrap'' padding methods are supported');
|
||||
end
|
||||
|
||||
% parameters
|
||||
na=length(A); AA=A; A=reshape(A,[1 na]);
|
||||
HW=HW/sqrt(log(2))+eps; if length(HW)==1; HW=HW*ones(1,na); end
|
||||
hs=ceil(hs);
|
||||
|
||||
% convolution with padding by linear extrapolation
|
||||
if nargin==4 && strcmp(PadMethod,'extrap')
|
||||
% - linear fit within HW
|
||||
rangeL=1:1+ceil(HW(1)); PL=polyfit(rangeL,A(rangeL),1); AL=polyval(PL,1-hs:0);
|
||||
rangeR=na-ceil(HW(end)):na; PR=polyfit(rangeR,A(rangeR:na),1); AR=polyval(PR,na+1:na+hs);
|
||||
% - appending
|
||||
if size(A,1)<size(A,2) A=[AL A AR]; else A=[AL; A; AR]; end
|
||||
% - convolution
|
||||
for i=1:na
|
||||
RANGE=i-hs:i+hs;
|
||||
WEIGHTS=exp( -1*((i-RANGE)/HW(i)).^2 );
|
||||
AA(i)=dot( A(RANGE+hs),WEIGHTS )/sum( WEIGHTS );
|
||||
end
|
||||
|
||||
% convolution with symmetric padding (default)
|
||||
else
|
||||
% - convolution with re-weighting at the ends
|
||||
for i=1:na
|
||||
RANGE=max([1 i-hs]):min([na i+hs]);
|
||||
WEIGHTS=exp( -1*((i-RANGE)/HW(i)).^2 );
|
||||
AA(i)=dot( A(RANGE),WEIGHTS )/sum( WEIGHTS );
|
||||
end
|
||||
end
|
||||
|
||||
% end of VGaco
|
||||
@@ -0,0 +1,14 @@
|
||||
function [x,y]=XYMax(PTS)
|
||||
% [x,y]=xymax(PTS) quadraticly interpolates a 3-point vector to find the maximum.
|
||||
% The points are assumed located at [0 1 2]. The maximum may be outside.
|
||||
% Based on QUAD2 from the Optimization toolbox.
|
||||
|
||||
% input check
|
||||
if size(PTS,1)>size(PTS,2); pts=PTS; else pts=PTS'; end
|
||||
|
||||
c=pts(1);
|
||||
ab=[-1 0.5; 2 -0.5]*(pts(2:3)-c*ones(2,1));
|
||||
x=-ab(2)/(2*ab(1));
|
||||
y=ab(1)*x^2+ab(2)*x+c;
|
||||
|
||||
|
||||
@@ -0,0 +1,8 @@
|
||||
function dispname(varargin)
|
||||
% dispname(x [,...]) displays variables in coma-separated argument list with names
|
||||
for i=1:nargin
|
||||
disp([inputname(i) '= ' num2str(varargin{i})])
|
||||
end
|
||||
% function dispname(name)
|
||||
% % dispname(X) -- Display scalar variable(s) in argument list with name(s)
|
||||
% disp([inputname(1) '= ' num2str(name)])
|
||||
Binary file not shown.
@@ -0,0 +1,482 @@
|
||||
function [z,s,exitflag,Wtot] = smoothn(varargin)
|
||||
|
||||
%SMOOTHN Robust spline smoothing for 1-D to N-D data.
|
||||
% SMOOTHN provides a fast, automatized and robust discretized smoothing
|
||||
% spline for data of any dimension.
|
||||
%
|
||||
% Z = SMOOTHN(Y) automatically smoothes the uniformly-sampled array Y. Y
|
||||
% can be any N-D noisy array (time series, images, 3D data,...). Non
|
||||
% finite data (NaN or Inf) are treated as missing values.
|
||||
%
|
||||
% Z = SMOOTHN(Y,S) smoothes the array Y using the smoothing parameter S.
|
||||
% S must be a real positive scalar. The larger S is, the smoother the
|
||||
% output will be. If the smoothing parameter S is omitted (see previous
|
||||
% option) or empty (i.e. S = []), it is automatically determined using
|
||||
% the generalized cross-validation (GCV) method.
|
||||
%
|
||||
% Z = SMOOTHN(Y,W) or Z = SMOOTHN(Y,W,S) specifies a weighting array W of
|
||||
% real positive values, that must have the same size as Y. Note that a
|
||||
% nil weight corresponds to a missing value.
|
||||
%
|
||||
% Robust smoothing
|
||||
% ----------------
|
||||
% Z = SMOOTHN(...,'robust') carries out a robust smoothing that minimizes
|
||||
% the influence of outlying data.
|
||||
%
|
||||
% [Z,S] = SMOOTHN(...) also returns the calculated value for S so that
|
||||
% you can fine-tune the smoothing subsequently if needed.
|
||||
%
|
||||
% An iteration process is used in the presence of weighted and/or missing
|
||||
% values. Z = SMOOTHN(...,OPTION_NAME,OPTION_VALUE) smoothes with the
|
||||
% termination parameters specified by OPTION_NAME and OPTION_VALUE. They
|
||||
% can contain the following criteria:
|
||||
% -----------------
|
||||
% TolZ: Termination tolerance on Z (default = 1e-3)
|
||||
% TolZ must be in ]0,1[
|
||||
% MaxIter: Maximum number of iterations allowed (default = 100)
|
||||
% Initial: Initial value for the iterative process (default =
|
||||
% original data)
|
||||
% -----------------
|
||||
% Syntax: [Z,...] = SMOOTHN(...,'MaxIter',500,'TolZ',1e-4,'Initial',Z0);
|
||||
%
|
||||
% [Z,S,EXITFLAG] = SMOOTHN(...) returns a boolean value EXITFLAG that
|
||||
% describes the exit condition of SMOOTHN:
|
||||
% 1 SMOOTHN converged.
|
||||
% 0 Maximum number of iterations was reached.
|
||||
%
|
||||
% Class Support
|
||||
% -------------
|
||||
% Input array can be numeric or logical. The returned array is of class
|
||||
% double.
|
||||
%
|
||||
% Notes
|
||||
% -----
|
||||
% The N-D (inverse) discrete cosine transform functions <a
|
||||
% href="matlab:web('http://www.biomecardio.com/matlab/dctn.html')"
|
||||
% >DCTN</a> and <a
|
||||
% href="matlab:web('http://www.biomecardio.com/matlab/idctn.html')"
|
||||
% >IDCTN</a> are required.
|
||||
%
|
||||
% To be made
|
||||
% ----------
|
||||
% Estimate the confidence bands (see Wahba 1983, Nychka 1988).
|
||||
%
|
||||
% Reference
|
||||
% ---------
|
||||
% Garcia D, Robust smoothing of gridded data in one and higher dimensions
|
||||
% with missing values. Computational Statistics & Data Analysis, 2010.
|
||||
% <a
|
||||
% href="matlab:web('http://www.biomecardio.com/pageshtm/publi/csda10.pdf')">PDF download</a>
|
||||
%
|
||||
% Examples:
|
||||
% --------
|
||||
% % 1-D example
|
||||
% x = linspace(0,100,2^8);
|
||||
% y = cos(x/10)+(x/50).^2 + randn(size(x))/10;
|
||||
% y([70 75 80]) = [5.5 5 6];
|
||||
% z = smoothn(y); % Regular smoothing
|
||||
% zr = smoothn(y,'robust'); % Robust smoothing
|
||||
% subplot(121), plot(x,y,'r.',x,z,'k','LineWidth',2)
|
||||
% axis square, title('Regular smoothing')
|
||||
% subplot(122), plot(x,y,'r.',x,zr,'k','LineWidth',2)
|
||||
% axis square, title('Robust smoothing')
|
||||
%
|
||||
% % 2-D example
|
||||
% xp = 0:.02:1;
|
||||
% [x,y] = meshgrid(xp);
|
||||
% f = exp(x+y) + sin((x-2*y)*3);
|
||||
% fn = f + randn(size(f))*0.5;
|
||||
% fs = smoothn(fn);
|
||||
% subplot(121), surf(xp,xp,fn), zlim([0 8]), axis square
|
||||
% subplot(122), surf(xp,xp,fs), zlim([0 8]), axis square
|
||||
%
|
||||
% % 2-D example with missing data
|
||||
% n = 256;
|
||||
% y0 = peaks(n);
|
||||
% y = y0 + rand(size(y0))*2;
|
||||
% I = randperm(n^2);
|
||||
% y(I(1:n^2*0.5)) = NaN; % lose 1/2 of data
|
||||
% y(40:90,140:190) = NaN; % create a hole
|
||||
% z = smoothn(y); % smooth data
|
||||
% subplot(2,2,1:2), imagesc(y), axis equal off
|
||||
% title('Noisy corrupt data')
|
||||
% subplot(223), imagesc(z), axis equal off
|
||||
% title('Recovered data ...')
|
||||
% subplot(224), imagesc(y0), axis equal off
|
||||
% title('... compared with original data')
|
||||
%
|
||||
% % 3-D example
|
||||
% [x,y,z] = meshgrid(-2:.2:2);
|
||||
% xslice = [-0.8,1]; yslice = 2; zslice = [-2,0];
|
||||
% vn = x.*exp(-x.^2-y.^2-z.^2) + randn(size(x))*0.06;
|
||||
% subplot(121), slice(x,y,z,vn,xslice,yslice,zslice,'cubic')
|
||||
% title('Noisy data')
|
||||
% v = smoothn(vn);
|
||||
% subplot(122), slice(x,y,z,v,xslice,yslice,zslice,'cubic')
|
||||
% title('Smoothed data')
|
||||
%
|
||||
% % Cardioid
|
||||
% t = linspace(0,2*pi,1000);
|
||||
% x = 2*cos(t).*(1-cos(t)) + randn(size(t))*0.1;
|
||||
% y = 2*sin(t).*(1-cos(t)) + randn(size(t))*0.1;
|
||||
% z = smoothn(complex(x,y));
|
||||
% plot(x,y,'r.',real(z),imag(z),'k','linewidth',2)
|
||||
% axis equal tight
|
||||
%
|
||||
% % Cellular vortical flow
|
||||
% [x,y] = meshgrid(linspace(0,1,24));
|
||||
% Vx = cos(2*pi*x+pi/2).*cos(2*pi*y);
|
||||
% Vy = sin(2*pi*x+pi/2).*sin(2*pi*y);
|
||||
% Vx = Vx + sqrt(0.05)*randn(24,24); % adding Gaussian noise
|
||||
% Vy = Vy + sqrt(0.05)*randn(24,24); % adding Gaussian noise
|
||||
% I = randperm(numel(Vx));
|
||||
% Vx(I(1:30)) = (rand(30,1)-0.5)*5; % adding outliers
|
||||
% Vy(I(1:30)) = (rand(30,1)-0.5)*5; % adding outliers
|
||||
% Vx(I(31:60)) = NaN; % missing values
|
||||
% Vy(I(31:60)) = NaN; % missing values
|
||||
% Vs = smoothn(complex(Vx,Vy),'robust'); % automatic smoothing
|
||||
% subplot(121), quiver(x,y,Vx,Vy,2.5), axis square
|
||||
% title('Noisy velocity field')
|
||||
% subplot(122), quiver(x,y,real(Vs),imag(Vs)), axis square
|
||||
% title('Smoothed velocity field')
|
||||
%
|
||||
% See also SMOOTH, SMOOTH3, DCTN, IDCTN.
|
||||
%
|
||||
% -- Damien Garcia -- 2009/03, revised 2010/11
|
||||
% Visit my <a
|
||||
% href="matlab:web('http://www.biomecardio.com/matlab/smoothn.html')">website</a> for more details about SMOOTHN
|
||||
|
||||
% Check input arguments
|
||||
error(nargchk(1,12,nargin));
|
||||
|
||||
%% Test & prepare the variables
|
||||
%---
|
||||
k = 0;
|
||||
while k<nargin && ~ischar(varargin{k+1}), k = k+1; end
|
||||
%---
|
||||
% y = array to be smoothed
|
||||
y = double(varargin{1});
|
||||
sizy = size(y);
|
||||
noe = prod(sizy); % number of elements
|
||||
if noe<2, z = y; return, end
|
||||
%---
|
||||
% Smoothness parameter and weights
|
||||
W = ones(sizy);
|
||||
s = [];
|
||||
if k==2
|
||||
if isempty(varargin{2}) || isscalar(varargin{2}) % smoothn(y,s)
|
||||
s = varargin{2}; % smoothness parameter
|
||||
else % smoothn(y,W)
|
||||
W = varargin{2}; % weight array
|
||||
end
|
||||
elseif k==3 % smoothn(y,W,s)
|
||||
W = varargin{2}; % weight array
|
||||
s = varargin{3}; % smoothness parameter
|
||||
end
|
||||
if ~isequal(size(W),sizy)
|
||||
error('MATLAB:smoothn:SizeMismatch',...
|
||||
'Arrays for data and weights must have same size.')
|
||||
elseif ~isempty(s) && (~isscalar(s) || s<0)
|
||||
error('MATLAB:smoothn:IncorrectSmoothingParameter',...
|
||||
'The smoothing parameter must be a scalar >=0')
|
||||
end
|
||||
%---
|
||||
% "Maximal number of iterations" criterion
|
||||
I = find(strcmpi(varargin,'MaxIter'),1);
|
||||
if isempty(I)
|
||||
MaxIter = 100; % default value for MaxIter
|
||||
else
|
||||
try
|
||||
MaxIter = varargin{I+1};
|
||||
catch ME
|
||||
error('MATLAB:smoothn:IncorrectMaxIter',...
|
||||
'MaxIter must be an integer >=1')
|
||||
end
|
||||
if ~isnumeric(MaxIter) || ~isscalar(MaxIter) ||...
|
||||
MaxIter<1 || MaxIter~=round(MaxIter)
|
||||
error('MATLAB:smoothn:IncorrectMaxIter',...
|
||||
'MaxIter must be an integer >=1')
|
||||
end
|
||||
end
|
||||
%---
|
||||
% "Tolerance on smoothed output" criterion
|
||||
I = find(strcmpi(varargin,'TolZ'),1);
|
||||
if isempty(I)
|
||||
TolZ = 1e-3; % default value for TolZ
|
||||
else
|
||||
try
|
||||
TolZ = varargin{I+1};
|
||||
catch ME
|
||||
error('MATLAB:smoothn:IncorrectTolZ',...
|
||||
'TolZ must be in ]0,1[')
|
||||
end
|
||||
if ~isnumeric(TolZ) || ~isscalar(TolZ) || TolZ<=0 || TolZ>=1
|
||||
error('MATLAB:smoothn:IncorrectTolZ',...
|
||||
'TolZ must be in ]0,1[')
|
||||
end
|
||||
end
|
||||
%---
|
||||
% "Initial Guess" criterion
|
||||
I = find(strcmpi(varargin,'Initial'),1);
|
||||
if isempty(I)
|
||||
isinitial = false; % default value for TolZ
|
||||
else
|
||||
isinitial = true;
|
||||
try
|
||||
z0 = varargin{I+1};
|
||||
catch ME
|
||||
error('MATLAB:smoothn:IncorrectInitialGuess',...
|
||||
'Z0 must be a valid initial guess for Z')
|
||||
end
|
||||
if ~isnumeric(z0) || ~isequal(size(z0),sizy)
|
||||
error('MATLAB:smoothn:IncorrectTolZ',...
|
||||
'Z0 must be a valid initial guess for Z')
|
||||
end
|
||||
end
|
||||
%---
|
||||
% "Weighting function" criterion
|
||||
I = find(strcmpi(varargin,'Weights'),1);
|
||||
if isempty(I)
|
||||
weightstr = 'bisquare'; % default weighting function
|
||||
else
|
||||
try
|
||||
weightstr = lower(varargin{I+1});
|
||||
catch ME
|
||||
error('MATLAB:smoothn:IncorrectWeights',...
|
||||
'A valid weighting function must be chosen')
|
||||
end
|
||||
if ~ischar(weightstr)
|
||||
error('MATLAB:smoothn:IncorrectWeights',...
|
||||
'A valid weighting function must be chosen')
|
||||
end
|
||||
end
|
||||
%---
|
||||
% Weights. Zero weights are assigned to not finite values (Inf or NaN),
|
||||
% (Inf/NaN values = missing data).
|
||||
IsFinite = isfinite(y);
|
||||
nof = nnz(IsFinite); % number of finite elements
|
||||
W = W.*IsFinite;
|
||||
if any(W<0)
|
||||
error('MATLAB:smoothn:NegativeWeights',...
|
||||
'Weights must all be >=0')
|
||||
else
|
||||
W = W/max(W(:));
|
||||
end
|
||||
%---
|
||||
% Weighted or missing data?
|
||||
isweighted = any(W(:)<1);
|
||||
%---
|
||||
% Robust smoothing?
|
||||
isrobust = any(strcmpi(varargin,'robust'));
|
||||
%---
|
||||
% Automatic smoothing?
|
||||
isauto = isempty(s);
|
||||
%---
|
||||
% DCTN and IDCTN are required
|
||||
test4DCTNandIDCTN
|
||||
|
||||
%% Creation of the Lambda tensor
|
||||
%---
|
||||
% Lambda contains the eingenvalues of the difference matrix used in this
|
||||
% penalized least squares process.
|
||||
d = ndims(y);
|
||||
Lambda = zeros(sizy);
|
||||
for i = 1:d
|
||||
siz0 = ones(1,d);
|
||||
siz0(i) = sizy(i);
|
||||
Lambda = bsxfun(@plus,Lambda,...
|
||||
cos(pi*(reshape(1:sizy(i),siz0)-1)/sizy(i)));
|
||||
end
|
||||
Lambda = -2*(d-Lambda);
|
||||
if ~isauto, Gamma = 1./(1+s*Lambda.^2); end
|
||||
|
||||
%% Upper and lower bound for the smoothness parameter
|
||||
% The average leverage (h) is by definition in [0 1]. Weak smoothing occurs
|
||||
% if h is close to 1, while over-smoothing appears when h is near 0. Upper
|
||||
% and lower bounds for h are given to avoid under- or over-smoothing. See
|
||||
% equation relating h to the smoothness parameter (Equation #12 in the
|
||||
% referenced CSDA paper).
|
||||
N = sum(sizy~=1); % tensor rank of the y-array
|
||||
hMin = 1e-6; hMax = 0.99;
|
||||
sMinBnd = (((1+sqrt(1+8*hMax.^(2/N)))/4./hMax.^(2/N)).^2-1)/16;
|
||||
sMaxBnd = (((1+sqrt(1+8*hMin.^(2/N)))/4./hMin.^(2/N)).^2-1)/16;
|
||||
|
||||
%% Initialize before iterating
|
||||
%---
|
||||
Wtot = W;
|
||||
%--- Initial conditions for z
|
||||
if isweighted
|
||||
%--- With weighted/missing data
|
||||
% An initial guess is provided to ensure faster convergence. For that
|
||||
% purpose, a nearest neighbor interpolation followed by a coarse
|
||||
% smoothing are performed.
|
||||
%---
|
||||
if isinitial % an initial guess (z0) has been provided
|
||||
z = z0;
|
||||
else
|
||||
z = InitialGuess(y,IsFinite);
|
||||
end
|
||||
else
|
||||
z = zeros(sizy);
|
||||
end
|
||||
%---
|
||||
z0 = z;
|
||||
y(~IsFinite) = 0; % arbitrary values for missing y-data
|
||||
%---
|
||||
tol = 1;
|
||||
RobustIterativeProcess = true;
|
||||
RobustStep = 1;
|
||||
nit = 0;
|
||||
%--- Error on p. Smoothness parameter s = 10^p
|
||||
errp = 0.1;
|
||||
opt = optimset('TolX',errp);
|
||||
%--- Relaxation factor RF: to speedup convergence
|
||||
RF = 1 + 0.75*isweighted;
|
||||
|
||||
%% Main iterative process
|
||||
%---
|
||||
while RobustIterativeProcess
|
||||
%--- "amount" of weights (see the function GCVscore)
|
||||
aow = sum(Wtot(:))/noe; % 0 < aow <= 1
|
||||
%---
|
||||
while tol>TolZ && nit<MaxIter
|
||||
nit = nit+1;
|
||||
DCTy = dctn(Wtot.*(y-z)+z);
|
||||
if isauto && ~rem(log2(nit),1)
|
||||
%---
|
||||
% The generalized cross-validation (GCV) method is used.
|
||||
% We seek the smoothing parameter s that minimizes the GCV
|
||||
% score i.e. s = Argmin(GCVscore).
|
||||
% Because this process is time-consuming, it is performed from
|
||||
% time to time (when nit is a power of 2)
|
||||
%---
|
||||
fminbnd(@gcv,log10(sMinBnd),log10(sMaxBnd),opt);
|
||||
end
|
||||
z = RF*idctn(Gamma.*DCTy) + (1-RF)*z;
|
||||
|
||||
% if no weighted/missing data => tol=0 (no iteration)
|
||||
tol = isweighted*norm(z0(:)-z(:))/norm(z(:));
|
||||
|
||||
z0 = z; % re-initialization
|
||||
end
|
||||
exitflag = nit<MaxIter;
|
||||
|
||||
if isrobust %-- Robust Smoothing: iteratively re-weighted process
|
||||
%--- average leverage
|
||||
h = sqrt(1+16*s); h = sqrt(1+h)/sqrt(2)/h; h = h^N;
|
||||
%--- take robust weights into account
|
||||
Wtot = W.*RobustWeights(y-z,IsFinite,h,weightstr);
|
||||
%--- re-initialize for another iterative weighted process
|
||||
isweighted = true; tol = 1; nit = 0;
|
||||
%---
|
||||
RobustStep = RobustStep+1;
|
||||
RobustIterativeProcess = RobustStep<4; % 3 robust steps are enough.
|
||||
else
|
||||
RobustIterativeProcess = false; % stop the whole process
|
||||
end
|
||||
end
|
||||
|
||||
%% Warning messages
|
||||
%---
|
||||
if isauto
|
||||
if abs(log10(s)-log10(sMinBnd))<errp
|
||||
warning('MATLAB:smoothn:SLowerBound',...
|
||||
['s = ' num2str(s,'%.3e') ': the lower bound for s ',...
|
||||
'has been reached. Put s as an input variable if required.'])
|
||||
elseif abs(log10(s)-log10(sMaxBnd))<errp
|
||||
warning('MATLAB:smoothn:SUpperBound',...
|
||||
['s = ' num2str(s,'%.3e') ': the upper bound for s ',...
|
||||
'has been reached. Put s as an input variable if required.'])
|
||||
end
|
||||
end
|
||||
if nargout<3 && ~exitflag
|
||||
warning('MATLAB:smoothn:MaxIter',...
|
||||
['Maximum number of iterations (' int2str(MaxIter) ') has ',...
|
||||
'been exceeded. Increase MaxIter option or decrease TolZ value.'])
|
||||
end
|
||||
|
||||
|
||||
%% GCV score
|
||||
%---
|
||||
function GCVscore = gcv(p)
|
||||
% Search the smoothing parameter s that minimizes the GCV score
|
||||
%---
|
||||
s = 10^p;
|
||||
Gamma = 1./(1+s*Lambda.^2);
|
||||
%--- RSS = Residual sum-of-squares
|
||||
if aow>0.9 % aow = 1 means that all of the data are equally weighted
|
||||
% very much faster: does not require any inverse DCT
|
||||
RSS = norm(DCTy(:).*(Gamma(:)-1))^2;
|
||||
else
|
||||
% take account of the weights to calculate RSS:
|
||||
yhat = idctn(Gamma.*DCTy);
|
||||
RSS = norm(sqrt(Wtot(IsFinite)).*(y(IsFinite)-yhat(IsFinite)))^2;
|
||||
end
|
||||
%---
|
||||
TrH = sum(Gamma(:));
|
||||
GCVscore = RSS/nof/(1-TrH/noe)^2;
|
||||
end
|
||||
|
||||
end
|
||||
|
||||
%% Robust weights
|
||||
function W = RobustWeights(r,I,h,wstr)
|
||||
% weights for robust smoothing.
|
||||
MAD = median(abs(r(I)-median(r(I)))); % median absolute deviation
|
||||
u = abs(r/(1.4826*MAD)/sqrt(1-h)); % studentized residuals
|
||||
if strcmp(wstr,'cauchy')
|
||||
c = 2.385; W = 1./(1+(u/c).^2); % Cauchy weights
|
||||
elseif strcmp(wstr,'talworth')
|
||||
c = 2.795; W = u<c; % Talworth weights
|
||||
else
|
||||
c = 4.685; W = (1-(u/c).^2).^2.*((u/c)<1); % bisquare weights
|
||||
end
|
||||
W(isnan(W)) = 0;
|
||||
end
|
||||
|
||||
%% Test for DCTN and IDCTN
|
||||
function test4DCTNandIDCTN
|
||||
if ~exist('dctn','file')
|
||||
error('MATLAB:smoothn:MissingFunction',...
|
||||
['DCTN and IDCTN are required. Download DCTN <a href="matlab:web(''',...
|
||||
'http://www.biomecardio.com/matlab/dctn.html'')">here</a>.'])
|
||||
elseif ~exist('idctn','file')
|
||||
error('MATLAB:smoothn:MissingFunction',...
|
||||
['DCTN and IDCTN are required. Download IDCTN <a href="matlab:web(''',...
|
||||
'http://www.biomecardio.com/matlab/idctn.html'')">here</a>.'])
|
||||
end
|
||||
end
|
||||
|
||||
%% Initial Guess with weighted/missing data
|
||||
function z = InitialGuess(y,I)
|
||||
%-- nearest neighbor interpolation (in case of missing values)
|
||||
if any(~I(:))
|
||||
if license('test','image_toolbox')
|
||||
[z,L] = bwdist(I);
|
||||
z = y;
|
||||
z(~I) = y(L(~I));
|
||||
else
|
||||
% If BWDIST does not exist, NaN values are all replaced with the
|
||||
% same scalar. The initial guess is not optimal and a warning
|
||||
% message thus appears.
|
||||
z = y;
|
||||
z(~I) = mean(y(I));
|
||||
warning('MATLAB:smoothn:InitialGuess',...
|
||||
['BWDIST (Image Processing Toolbox) does not exist. ',...
|
||||
'The initial guess may not be optimal; additional',...
|
||||
' iterations can thus be required to ensure complete',...
|
||||
' convergence. Increase ''MaxIter'' criterion if necessary.'])
|
||||
end
|
||||
else
|
||||
z = y;
|
||||
end
|
||||
%-- coarse fast smoothing using one-tenth of the DCT coefficients
|
||||
siz = size(z);
|
||||
z = dctn(z);
|
||||
for k = 1:ndims(z)
|
||||
z(ceil(siz(k)/10)+1:end,:) = 0;
|
||||
z = reshape(z,circshift(siz,[0 1-k]));
|
||||
z = shiftdim(z,1);
|
||||
end
|
||||
z = idctn(z);
|
||||
end
|
||||
@@ -0,0 +1,43 @@
|
||||
function ViewSeries(ACorr,EAlign,Scan,Data,nRows,nCols,colorScheme,minFrac,maxFrac)
|
||||
% View series of downsampled images. The inputs are ACorr (2D or 3D array of [warping
|
||||
% corrected] angles), EAlign (2D or 3D matrix of curvature corrected/aligned to EF energies),
|
||||
% Scan (row), Data (3D data array Data), nRows and nCols as number of rows and columns
|
||||
% of the frames in which the images are shown, and their colorScheme from the standard
|
||||
% Matlab colormaps including 'jet', 'hot' and 'gray'. minFrac and maxFrac are contrast enhancement
|
||||
% parameters used by SetContrast.m inside.
|
||||
|
||||
% downsampling parameters
|
||||
[nR,nC,~]=size(EAlign); nR=nRows*floor(nR/nRows); nC=nCols*floor(nC/nCols);
|
||||
|
||||
% contrast parameters
|
||||
if nargin<8; minFrac=1e-2; maxFrac=1-1e-4; end
|
||||
|
||||
% frame loop
|
||||
for ipage=1:ceil(size(Data,3)/nRows/nCols)
|
||||
figure; orient tall
|
||||
for iframe=1:nRows*nCols
|
||||
n=(ipage-1)*nRows*nCols+iframe; if n>size(Scan,2); break; end
|
||||
% frames
|
||||
if ndims(ACorr)<3; ACorrFrame=ACorr; else ACorrFrame=squeeze(ACorr(:,:,n)); end
|
||||
if ndims(EAlign)<3; EAlignFrame=EAlign; else EAlignFrame=squeeze(EAlign(:,:,n)); end
|
||||
DataFrame=squeeze(Data(:,:,n));
|
||||
% downsampling
|
||||
% - angles
|
||||
ACorrFrame1=0; for iF=1:nCols; ACorrFrame1=ACorrFrame1+ACorrFrame(:,iF:nCols:nC)/nCols; end
|
||||
ACorrFrame=0; for iF=1:nRows; ACorrFrame=ACorrFrame+ACorrFrame1(iF:nRows:nR,:)/nRows; end
|
||||
% - energies
|
||||
EAlignFrame1=0; for iF=1:nCols; EAlignFrame1=EAlignFrame1+EAlignFrame(:,iF:nCols:nC)/nCols; end
|
||||
EAlignFrame=0; for iF=1:nRows; EAlignFrame=EAlignFrame+EAlignFrame1(iF:nRows:nR,:)/nRows; end
|
||||
% - data
|
||||
DataFrame1=0; for iF=2:nCols; DataFrame1=DataFrame1+DataFrame(:,iF:nCols:nC)/nCols; end
|
||||
DataFrame=0; for iF=2:nRows; DataFrame=DataFrame+DataFrame1(iF:nRows:nR,:)/nRows; end
|
||||
% contrast enhancement
|
||||
DataFrame=SetContrast(DataFrame,minFrac,maxFrac);
|
||||
% plot
|
||||
subplot(nRows,nCols,iframe);
|
||||
% h=pcolor(ACorrFrame,EAlignFrame,DataFrame); set(h,'EdgeColor','None','FaceColor','Interp');
|
||||
ImData(ACorrFrame,EAlignFrame,DataFrame);
|
||||
colormap('jet'); if nargin>6; eval(['colormap ''' colorScheme '''']); end
|
||||
title(['Scan=' num2str(Scan(n))],'Interpreter','none','fontweight','normal');
|
||||
end
|
||||
end
|
||||
@@ -0,0 +1,72 @@
|
||||
function ACorr=WarpCorr(Angle,Energy,HV,ep,warpFitFile)
|
||||
% ACorr=WarpCorr(Angle,Energy [,HV] [,ep] [,warpFitFile]) returns matrix ACorr of warping corrected angles
|
||||
% for the vector of angles Angle, vector of (kinetic or binding) energies Energy and pass energy ep.
|
||||
% If HV is omitted or empty, Energy is in kinetic energies; if a scalar or raw vector of photon energies,
|
||||
% Energy is in binding energies. If ep is omitted or empty, it is set to the default value based on the
|
||||
% input energy range. If the file of the warping fit coefficients warpFitFile is omitted or empty, it is
|
||||
% set to the default file WarpFit.dat.
|
||||
% Note1: WarpCorr assumes the raw size of the data array as returned by ReadARPES without trimming
|
||||
% Note2: WarpCorr applies to the data acquired in the snapshot mode but not in the scanning mode.
|
||||
% Note3: WarpCorr keeps between the calls the correction matrices if the Angle, Energy and ep
|
||||
% inputs are the same
|
||||
|
||||
disp('- Warping correction')
|
||||
|
||||
persistent iniChk WarpFit A1 A2 A3 A4 A5 A6 A7 A8 A9
|
||||
|
||||
% parameters
|
||||
ePhi=4.5;
|
||||
if nargin<3; HV=[]; end
|
||||
if nargin<4; ep=[]; end
|
||||
if nargin<5; warpFitFile='WarpFit.dat'; end;
|
||||
% mode WAM/MAM/LAD/MAD = 1/2/3/4
|
||||
aRange=Angle(end)-Angle(1);
|
||||
mode=4; if aRange>12; mode=3; end; if aRange>18; mode=2; end; if aRange>24; mode=1; end;
|
||||
% transformation to kinetic energy scale
|
||||
if isempty(HV)
|
||||
% - check against binding energy input
|
||||
if min(Energy)<4.5; disp('Warning: Binding energy scale requires photon energy input'); end
|
||||
% - kinetic energy input
|
||||
KEnergy=Energy;
|
||||
else
|
||||
if min(Energy)<4.5
|
||||
% - binding energy input
|
||||
KEnergy=repmat(HV,length(Energy),1)+repmat(Energy,1,length(HV))-ePhi;
|
||||
else
|
||||
% - kinetic energy input
|
||||
KEnergy=Energy;
|
||||
end
|
||||
end
|
||||
% default pass energy
|
||||
eRange=Energy(end)-Energy(1);
|
||||
if isempty(ep); ep=eRange/(2*0.066); end
|
||||
% initialization if the first call or input energy or retarding ratio range changed
|
||||
if isempty(iniChk)||norm(iniChk-[aRange eRange ep])>1e-3
|
||||
% - load warping coefficients
|
||||
WarpFit=load(warpFitFile);
|
||||
ind=find(WarpFit(:,1)==mode);
|
||||
if isempty(ind); disp('- Error: Angular mode not in WarpFit.dat'); ACorr=[]; return
|
||||
else WarpFit=WarpFit(ind,2:end);
|
||||
end
|
||||
% - polynomial matrices
|
||||
[AM,EScM]=meshgrid(Angle,(Energy-mean(Energy))/ep);
|
||||
A1=AM; A2=AM.^2; A3=AM.^3; A4=AM.*EScM; A5=AM.^2.*EScM;
|
||||
A6=AM.^3.*EScM; A7=AM.*EScM.^2; A8=AM.^2.*EScM.^2; A9=AM.^3.*EScM.^2;
|
||||
% - initialization check
|
||||
iniChk=[aRange eRange ep];
|
||||
end
|
||||
|
||||
% array of corrected angles
|
||||
ACorr=zeros(size(KEnergy,1),length(Angle),size(KEnergy,2));
|
||||
% - cycle over hv frames
|
||||
for iS=1:size(KEnergy,2)
|
||||
% - rr
|
||||
rr=mean(KEnergy(:,iS))/ep;
|
||||
% - interpolating the coefficients
|
||||
Fit=interp1(WarpFit(:,1),WarpFit(:,2:end),rr,'pchip','extrap');
|
||||
% - correction
|
||||
ACorr(:,:,iS)=Fit(1)*A1+Fit(2)*A2+Fit(3)*A3+Fit(4)*A4+Fit(5)*A5+...
|
||||
Fit(6)*A6+Fit(7)*A7+Fit(8)*A8+Fit(9)*A9;
|
||||
% - check corrected image
|
||||
% ImData(ACorr,KEnergy,Data,'interp'); set(gca,'YDir','normal','TickDir','Out');
|
||||
end
|
||||
@@ -0,0 +1,47 @@
|
||||
% Calibration data is taken with slit array, hv=1keV, Uconv=0.1*Ep.
|
||||
% WAM (mode=1) and LAD (mode=3) data taken on 26.02.2013, Ek=350eV for WAM and 600eV for LAD;
|
||||
% for WAM the Ep=40eV is missing; the WAM angular scale zero slightly drifted with Ep.
|
||||
% MAM (mode=2)data taken on 30.01.2014, Ek=600eV.
|
||||
1.0000000e+00 1.1666667e+01 7.8486451e-01 2.6252806e-03 3.5512691e-04 -7.4497438e-01 -2.4580483e-02 -3.7022362e-03 -1.3631077e-01 1.4317764e-01 6.5564314e-02
|
||||
1.0000000e+00 1.0000000e+01 9.4499244e-01 1.7689033e-03 -3.8234004e-04 1.3925957e-02 -1.6661738e-02 8.9034796e-04 -1.6619161e+00 6.0289210e-02 3.5817790e-02
|
||||
1.0000000e+00 7.0000000e+00 9.3235873e-01 1.8190070e-03 -2.7861773e-04 7.3757226e-02 -1.8692558e-02 6.4249864e-04 7.5243953e-02 4.9788753e-02 2.0103766e-02
|
||||
1.0000000e+00 5.8333333e+00 9.3524064e-01 1.8917568e-03 -2.7576215e-04 6.5569738e-02 -2.2072579e-02 9.0871021e-04 -2.2796855e-01 5.3575007e-02 2.4874189e-02
|
||||
1.0000000e+00 5.0000000e+00 9.3567974e-01 1.8840452e-03 -2.5814245e-04 9.9078822e-02 -2.1204896e-02 5.9724247e-04 3.6117336e-01 7.9235749e-02 2.1807709e-02
|
||||
1.0000000e+00 4.3750000e+00 9.3423311e-01 1.7632761e-03 -1.9652570e-04 1.1406955e-01 -1.9603072e-02 2.6210206e-04 1.9102179e+00 1.1841798e-01 7.4437550e-03
|
||||
1.0000000e+00 3.5000000e+00 9.2752366e-01 1.6677888e-03 -1.1378830e-04 9.8774920e-02 -1.9596768e-02 -2.6333242e-04 2.3756781e+00 1.1412266e-01 7.7495397e-03
|
||||
1.0000000e+00 2.6923077e+00 9.2060166e-01 1.8213639e-03 -1.1955421e-04 1.3194298e-01 -2.2950809e-02 -1.3957909e-04 2.8245694e+00 1.4470518e-01 2.2700228e-03
|
||||
1.0000000e+00 2.1875000e+00 9.2935241e-01 1.8769675e-03 -9.3625226e-05 1.3575745e-01 -2.5524283e-02 -6.0465036e-04 2.7982317e+00 1.5847581e-01 6.6328318e-03
|
||||
1.0000000e+00 1.8421053e+00 9.3656931e-01 1.7687522e-03 -6.2474978e-05 1.5743513e-01 -2.8426630e-02 -1.3498163e-03 2.4628121e+00 1.7628626e-01 1.6234894e-02
|
||||
1.0000000e+00 1.5909091e+00 9.2938240e-01 1.6957461e-03 -3.9240799e-05 1.2509238e-01 -2.8341617e-02 -9.8517958e-04 2.6782854e+00 1.6688236e-01 1.4041178e-02
|
||||
2.0000000e+00 1.2000000e+01 7.6340370e-01 2.8311455e-03 8.7784755e-04 -1.0528934e+00 -1.9788828e-02 6.9303195e-03 -3.7868593e+00 7.6877506e-01 1.7424718e-01
|
||||
2.0000000e+00 1.0000000e+01 8.2478673e-01 3.8048564e-03 5.5116463e-04 -6.0337470e-01 -5.3664259e-02 1.6127571e-03 4.8760283e-02 4.4770815e-01 8.5291411e-02
|
||||
2.0000000e+00 8.5714286e+00 1.0132165e+00 4.8351660e-04 -9.6574036e-04 3.0291150e-01 -5.2268240e-02 -3.5668126e-04 2.3490278e+00 2.8591823e-01 2.0497625e-02
|
||||
2.0000000e+00 7.5000000e+00 9.5708136e-01 1.5895249e-03 -5.3801601e-04 2.5578373e-01 -5.3235553e-02 -7.5476739e-05 2.4991774e+00 1.9286898e-01 1.4686713e-02
|
||||
2.0000000e+00 6.6666667e+00 9.2782840e-01 1.2318005e-03 -3.8288588e-04 1.5718071e-01 -4.9498322e-02 8.7663337e-04 3.0540761e+00 1.4544714e-01 -2.9375903e-03
|
||||
2.0000000e+00 6.0000000e+00 8.9758672e-01 1.1934265e-03 -2.2681473e-04 6.4393674e-02 -4.9833857e-02 2.1689127e-03 2.0134532e+00 1.3894570e-01 1.9039625e-02
|
||||
2.0000000e+00 5.0000000e+00 9.6315181e-01 2.1745774e-03 -9.6708540e-04 6.1694709e-01 -3.5742960e-02 1.8491167e-03 4.3117049e+00 -5.2714209e-02 -2.9614572e-02
|
||||
2.0000000e+00 4.2857143e+00 8.8061723e-01 1.1420589e-03 -2.4107998e-04 3.5522605e-02 -4.2134093e-02 1.2462684e-03 -2.3505993e-01 -2.9622535e-02 7.6506177e-02
|
||||
2.0000000e+00 3.7500000e+00 8.3604179e-01 1.4563854e-03 3.4238938e-04 -2.2020728e-01 -4.7625697e-02 2.6158676e-03 1.2073054e+00 1.8789753e-01 3.9003591e-02
|
||||
2.0000000e+00 3.3333333e+00 8.5472996e-01 2.2077427e-03 2.1913633e-04 -8.3935875e-02 -4.7708154e-02 1.3911611e-03 2.1482459e+00 1.8466381e-01 2.1355393e-02
|
||||
2.0000000e+00 3.0000000e+00 8.8033923e-01 2.7350849e-03 5.2930675e-05 7.4992070e-02 -4.5016908e-02 8.6731942e-04 2.7334027e+00 1.6623259e-01 1.1169896e-02
|
||||
2.0000000e+00 2.6086957e+00 8.6080389e-01 2.9582837e-03 2.6876811e-04 -4.8866475e-02 -4.4468867e-02 3.0794569e-04 2.4451004e+00 1.5987892e-01 2.1482036e-02
|
||||
2.0000000e+00 2.3076923e+00 8.6939260e-01 3.0808461e-03 2.9024917e-04 -5.7687620e-02 -4.4296704e-02 -3.1359215e-04 1.2520497e+00 2.4316067e-01 5.3319916e-02
|
||||
2.0000000e+00 2.0689655e+00 8.8114430e-01 3.1895318e-03 2.5917070e-04 -3.6177198e-02 -4.4957985e-02 -9.3637200e-04 8.9044034e-01 2.8432750e-01 6.5562841e-02
|
||||
2.0000000e+00 1.8750000e+00 8.8190357e-01 3.3104458e-03 2.5970035e-04 -6.6930388e-02 -4.4925623e-02 -1.2009718e-03 6.4660172e-01 3.1089539e-01 7.3783136e-02
|
||||
2.0000000e+00 1.7142857e+00 8.5755429e-01 3.2986432e-03 4.9007648e-04 -1.3617042e-01 -4.3987221e-02 -1.4989395e-03 5.2155899e-01 3.1316903e-01 7.7923608e-02
|
||||
3.0000000e+00 3.0000000e+01 9.3131022e-01 8.2597450e-03 5.1081804e-04 -1.3402651e-01 -7.2246367e-02 -5.5988897e-03 1.5374868e+00 3.4599698e-01 4.9330743e-02
|
||||
3.0000000e+00 2.4000000e+01 9.2467526e-01 6.3341991e-03 1.7753699e-04 -4.3261422e-01 -5.5131881e-02 -1.9958705e-03 2.8918526e+00 2.1531420e-01 1.6078639e-02
|
||||
3.0000000e+00 2.0000000e+01 9.3393229e-01 3.3488154e-03 -1.1152565e-04 -5.5244530e-02 -3.8968289e-02 -9.5867096e-04 1.2268025e+00 8.4294093e-02 3.5574940e-02
|
||||
3.0000000e+00 1.7142857e+01 9.5059772e-01 3.8272919e-03 -5.5642471e-04 2.8256611e-01 -3.3916381e-02 2.9679522e-04 1.5630599e+00 5.0493715e-02 9.0972340e-03
|
||||
3.0000000e+00 1.5000000e+01 9.3402812e-01 4.3175605e-03 -1.0838535e-04 -6.6806770e-02 -4.4191578e-02 -1.1142718e-03 1.4536725e+00 9.4831758e-02 4.1854807e-02
|
||||
3.0000000e+00 1.2000000e+01 9.3498016e-01 4.0473169e-03 -8.4715514e-05 -7.7367878e-02 -4.5312966e-02 -1.5645238e-03 1.9968548e+00 1.4511322e-01 4.1655025e-02
|
||||
3.0000000e+00 1.0000000e+01 9.3092485e-01 3.1875552e-03 -6.5883380e-05 -2.5108918e-02 -3.4356190e-02 -7.5332491e-05 1.9673302e+00 8.5808907e-02 3.7330198e-02
|
||||
3.0000000e+00 7.5000000e+00 9.2899302e-01 3.0826568e-03 -1.5707219e-05 -6.2741266e-03 -3.3001991e-02 1.7303876e-04 2.2077348e+00 6.5493832e-02 3.7567881e-02
|
||||
3.0000000e+00 6.0000000e+00 9.2387684e-01 2.7580768e-03 8.5993606e-05 2.3771552e-03 -3.1345898e-02 4.5503776e-04 2.0704301e+00 3.7166065e-02 3.3210115e-02
|
||||
3.0000000e+00 5.0000000e+00 9.2170936e-01 2.9736780e-03 8.2170413e-05 4.1645762e-03 -2.6929763e-02 1.3352710e-04 2.6869195e+00 5.1833013e-02 2.0828516e-02
|
||||
3.0000000e+00 4.2857143e+00 9.2617785e-01 2.8454061e-03 7.3152173e-05 1.0271635e-01 -2.7756657e-02 1.6176086e-04 2.7132439e+00 1.7374439e-02 1.3080123e-02
|
||||
3.0000000e+00 3.5294118e+00 9.2064153e-01 2.9982272e-03 7.8310905e-05 2.1679619e-03 -2.4080499e-02 4.9988504e-04 2.7449118e+00 4.2088094e-02 1.6814754e-02
|
||||
3.0000000e+00 3.0000000e+00 9.2029058e-01 2.8926509e-03 7.4431320e-05 1.1011673e-02 -2.2522534e-02 5.4270980e-04 2.8238914e+00 6.2191053e-02 2.1547114e-02
|
||||
3.0000000e+00 2.4000000e+00 9.2055433e-01 3.0481727e-03 1.0739890e-04 4.7432488e-02 -2.2275385e-02 5.4720232e-04 2.8764483e+00 4.2127172e-02 1.7435568e-02
|
||||
3.0000000e+00 2.0000000e+00 9.2212435e-01 3.0485849e-03 5.0553969e-05 3.0420616e-02 -2.1232073e-02 5.7598728e-04 2.6726310e+00 5.5332318e-02 2.2860502e-02
|
||||
3.0000000e+00 1.7142857e+00 9.2326920e-01 3.0488348e-03 4.5036335e-05 3.4798953e-02 -1.9970755e-02 3.2405038e-04 2.7769612e+00 6.0283280e-02 2.0726711e-02
|
||||
Binary file not shown.
|
After Width: | Height: | Size: 125 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 192 KiB |
Binary file not shown.
Binary file not shown.
+86
@@ -0,0 +1,86 @@
|
||||
function imfp = IMFP_CALC(formalism, ke_dat, args)
|
||||
% imfp = IMFP_CALC(formalism, ke_dat, args)
|
||||
% Function that calculates the electron inelastic mean free path (IMFP).
|
||||
% The TPP2M, S1, S2 and Universal formalisms are available. The user can
|
||||
% define a scalar or vector of kinetic energies for the input.
|
||||
% If the args is a string of an element / material, it will look it up
|
||||
% the relevant materials parameters in the Material Properties Database
|
||||
% (MPD) ('MPD_PCC.mat'). Otherwise, the args can be manually inserted as
|
||||
% defined below.
|
||||
%
|
||||
% IN:
|
||||
% - formalism: string for imfp calculator formalism. Default:"TPP2M" ["TPP2M","S1","S2","Universal"]
|
||||
% - ke_dat: N×1 column vector of the input electron kinetic energy (for PES; KE = BE - PHI) [eV]
|
||||
% - args: string or vector of scalars defining the arguments of the chosen formalism;
|
||||
% (1) string of element / material whose parameters are found in materials database; e.g. "Si", "SiO2", "Al2O3"...
|
||||
% (2) vector with manual entry of material parameters:
|
||||
% -> TPP2M: 4x1 [density(g/cc),atomicweight(amu),egap(eV),valency(valence electrons per atom)]
|
||||
% -> S1: 4x1 [density(g/cc),atomicweight(amu),egap(eV),Z(atomic mass number or average for compounds)]
|
||||
% -> S2: 1x1 [Z(atomic mass number or average for compounds)]
|
||||
% -> Universal: no args, material independent.
|
||||
%
|
||||
% OUT:
|
||||
% - imfp: N×1 column vector of the electron IMFP values [Angstroms]
|
||||
%
|
||||
% SEE REFERENCES:
|
||||
% [1] Tanuma, S., Powell, C. J., & Penn, D. R. (1987).
|
||||
% Proposed formula for electron inelastic mean free paths based on
|
||||
% calculations for 31 materials. Surface Science Letters, 192(1),
|
||||
% L849–L857. https://doi.org/10.1016/0167-2584(87)90829-2
|
||||
% [2] Shinotsuka H, Tanuma S, Powell CJ, Penn DR. Calculations of
|
||||
% electron inelastic mean free paths. XII. Data for 42 inorganic
|
||||
% compounds over the 50 eV to 200 keV range with the full Penn
|
||||
% algorithm. Surf Interface Anal. 2018;51(4):427-457.
|
||||
% doi:10.1002/sia.6598
|
||||
% [3] M. P. Seah, "An accurate and simple universal curve for the
|
||||
% energy-dependent electron inelastic mean free path,”
|
||||
% Surf. Interface Anal., vol. 44, no. 4, pp. 497–503, 2012,
|
||||
% doi: 10.1002/sia.4816.
|
||||
|
||||
%% Default parameters
|
||||
% - Default formalism
|
||||
if nargin < 3; args = []; end
|
||||
if nargin < 1; formalism = "TPP2M"; end
|
||||
if isempty(formalism); formalism = "TPP2M"; end
|
||||
if isempty(args); args = []; end
|
||||
% - Validity check on the inputs
|
||||
if ischar(formalism); formalism = string(formalism); end
|
||||
if ischar(args); args = string(args); end
|
||||
|
||||
%% - 1 - Determination of the IMFP
|
||||
% If the kinetic energy is negative, assume it is zero
|
||||
ke_dat(ke_dat<0) = 0;
|
||||
% -- TPP2M formalism
|
||||
if strcmpi(formalism, "TPP2M") || strcmpi(formalism, "TPP-2M")
|
||||
if isstring(args)
|
||||
material = args;
|
||||
imfp = eimfp_tpp2m_mpd(ke_dat, material);
|
||||
else
|
||||
rho = args(1); Nv=args(4); M = args(2); Egap = args(3);
|
||||
imfp = eimfp_tpp2m(ke_dat, rho, Nv, M, Egap);
|
||||
end
|
||||
% -- S1 formalism
|
||||
elseif strcmpi(formalism, "S1")
|
||||
if isstring(args)
|
||||
material = args;
|
||||
imfp = eimfp_S1_mpd(ke_dat, material);
|
||||
else
|
||||
rho = args(1); Z=args(4); M = args(2); Egap = args(3);
|
||||
imfp = eimfp_S1(ke_dat, rho, M, Egap, Z);
|
||||
end
|
||||
% -- S2 formalism
|
||||
elseif strcmpi(formalism, "S2")
|
||||
if isstring(args)
|
||||
material = args;
|
||||
imfp = eimfp_S2_avg_mpd(ke_dat, material);
|
||||
else
|
||||
Z=args(1);
|
||||
imfp = eimfp_S2_avg(ke_dat, Z);
|
||||
end
|
||||
% -- Universal formalism
|
||||
elseif strcmpi(formalism, "Universal")
|
||||
imfp = eimfp_universal(ke_dat);
|
||||
end
|
||||
%% Ensuring the imfp is a column vector
|
||||
if size(imfp, 2) >1; imfp = imfp'; end
|
||||
end
|
||||
+422
@@ -0,0 +1,422 @@
|
||||
|
||||
ELEMENT:
|
||||
Li
|
||||
|
||||
SOURCE:
|
||||
Tanuma, Powell and Penn
|
||||
Unpublished data
|
||||
IMFP values determined from optical data and a theoretical model
|
||||
|
||||
|
||||
ATOMIC WEIGHT: 6.94100
|
||||
|
||||
DENSITY: 0.5340 g/cm**3
|
||||
|
||||
TABULATION:
|
||||
|
||||
______________________________________________________________________________
|
||||
|
||||
Energy IMFP
|
||||
eV Angstroms
|
||||
______________________________________________________________________________
|
||||
50.0 4.59
|
||||
54.9 4.85
|
||||
59.8 5.10
|
||||
64.6 5.35
|
||||
69.5 5.59
|
||||
74.4 5.82
|
||||
79.3 6.05
|
||||
84.1 6.28
|
||||
89.0 6.50
|
||||
93.9 6.73
|
||||
98.8 6.95
|
||||
103.6 7.17
|
||||
108.5 7.39
|
||||
113.4 7.60
|
||||
118.3 7.82
|
||||
123.1 8.03
|
||||
128.0 8.24
|
||||
132.9 8.46
|
||||
137.8 8.67
|
||||
142.6 8.88
|
||||
147.5 9.09
|
||||
152.4 9.29
|
||||
157.3 9.50
|
||||
162.1 9.71
|
||||
167.0 9.91
|
||||
171.9 10.12
|
||||
176.8 10.32
|
||||
181.6 10.52
|
||||
186.5 10.72
|
||||
191.4 10.92
|
||||
196.3 11.12
|
||||
201.1 11.32
|
||||
206.0 11.52
|
||||
210.9 11.72
|
||||
215.8 11.92
|
||||
220.6 12.12
|
||||
225.5 12.31
|
||||
230.4 12.51
|
||||
235.3 12.70
|
||||
240.1 12.90
|
||||
245.0 13.09
|
||||
249.9 13.29
|
||||
254.8 13.48
|
||||
259.6 13.67
|
||||
264.5 13.86
|
||||
269.4 14.06
|
||||
274.3 14.25
|
||||
279.1 14.44
|
||||
284.0 14.63
|
||||
288.9 14.82
|
||||
293.8 15.01
|
||||
298.6 15.20
|
||||
303.5 15.38
|
||||
308.4 15.57
|
||||
313.3 15.76
|
||||
318.1 15.95
|
||||
323.0 16.13
|
||||
327.9 16.32
|
||||
332.8 16.51
|
||||
337.6 16.69
|
||||
342.5 16.88
|
||||
347.4 17.06
|
||||
352.3 17.25
|
||||
357.1 17.43
|
||||
362.0 17.61
|
||||
366.9 17.80
|
||||
371.8 17.98
|
||||
376.6 18.16
|
||||
381.5 18.35
|
||||
386.4 18.53
|
||||
391.3 18.71
|
||||
396.1 18.89
|
||||
401.0 19.07
|
||||
405.9 19.25
|
||||
410.8 19.43
|
||||
415.6 19.61
|
||||
420.5 19.79
|
||||
425.4 19.97
|
||||
430.3 20.15
|
||||
435.1 20.33
|
||||
440.0 20.51
|
||||
444.9 20.69
|
||||
449.8 20.87
|
||||
454.6 21.04
|
||||
459.5 21.22
|
||||
464.4 21.40
|
||||
469.3 21.58
|
||||
474.1 21.75
|
||||
479.0 21.93
|
||||
483.9 22.11
|
||||
488.8 22.28
|
||||
493.6 22.46
|
||||
498.5 22.63
|
||||
503.4 22.81
|
||||
508.3 22.98
|
||||
513.1 23.16
|
||||
518.0 23.33
|
||||
522.9 23.51
|
||||
527.8 23.68
|
||||
532.6 23.86
|
||||
537.5 24.03
|
||||
542.4 24.20
|
||||
547.3 24.38
|
||||
552.1 24.55
|
||||
557.0 24.72
|
||||
561.9 24.90
|
||||
566.8 25.07
|
||||
571.6 25.24
|
||||
576.5 25.41
|
||||
581.4 25.59
|
||||
586.3 25.76
|
||||
591.1 25.93
|
||||
596.0 26.10
|
||||
600.9 26.27
|
||||
605.8 26.44
|
||||
610.6 26.61
|
||||
615.5 26.78
|
||||
620.4 26.95
|
||||
625.3 27.13
|
||||
630.1 27.30
|
||||
635.0 27.47
|
||||
639.9 27.63
|
||||
644.8 27.80
|
||||
649.6 27.97
|
||||
654.5 28.14
|
||||
659.4 28.31
|
||||
664.3 28.48
|
||||
669.1 28.65
|
||||
674.0 28.82
|
||||
678.9 28.99
|
||||
683.8 29.15
|
||||
688.6 29.32
|
||||
693.5 29.49
|
||||
698.4 29.66
|
||||
703.3 29.83
|
||||
708.1 29.99
|
||||
713.0 30.16
|
||||
717.9 30.33
|
||||
722.8 30.49
|
||||
727.6 30.66
|
||||
732.5 30.83
|
||||
737.4 30.99
|
||||
742.3 31.16
|
||||
747.1 31.33
|
||||
752.0 31.49
|
||||
756.9 31.66
|
||||
761.8 31.82
|
||||
766.6 31.99
|
||||
771.5 32.15
|
||||
776.4 32.32
|
||||
781.3 32.49
|
||||
786.1 32.65
|
||||
791.0 32.82
|
||||
795.9 32.98
|
||||
800.8 33.14
|
||||
805.6 33.31
|
||||
810.5 33.47
|
||||
815.4 33.64
|
||||
820.3 33.80
|
||||
825.1 33.97
|
||||
830.0 34.13
|
||||
834.9 34.29
|
||||
839.8 34.46
|
||||
844.6 34.62
|
||||
849.5 34.78
|
||||
854.4 34.95
|
||||
859.3 35.11
|
||||
864.1 35.27
|
||||
869.0 35.44
|
||||
873.9 35.60
|
||||
878.8 35.76
|
||||
883.6 35.92
|
||||
888.5 36.09
|
||||
893.4 36.25
|
||||
898.3 36.41
|
||||
903.1 36.57
|
||||
908.0 36.73
|
||||
912.9 36.90
|
||||
917.8 37.06
|
||||
922.6 37.22
|
||||
927.5 37.38
|
||||
932.4 37.54
|
||||
937.3 37.70
|
||||
942.1 37.86
|
||||
947.0 38.02
|
||||
951.9 38.19
|
||||
956.8 38.35
|
||||
961.6 38.51
|
||||
966.5 38.67
|
||||
971.4 38.83
|
||||
976.3 38.99
|
||||
981.1 39.15
|
||||
986.0 39.31
|
||||
990.9 39.47
|
||||
995.8 39.63
|
||||
1000.6 39.79
|
||||
1005.5 39.95
|
||||
1010.4 40.11
|
||||
1015.3 40.27
|
||||
1020.1 40.43
|
||||
1025.0 40.59
|
||||
1029.9 40.74
|
||||
1034.8 40.90
|
||||
1039.6 41.06
|
||||
1044.5 41.22
|
||||
1049.4 41.38
|
||||
1054.3 41.54
|
||||
1059.1 41.70
|
||||
1064.0 41.86
|
||||
1068.9 42.01
|
||||
1073.8 42.17
|
||||
1078.6 42.33
|
||||
1083.5 42.49
|
||||
1088.4 42.65
|
||||
1093.3 42.81
|
||||
1098.1 42.96
|
||||
1103.0 43.12
|
||||
1107.9 43.28
|
||||
1112.8 43.44
|
||||
1117.6 43.59
|
||||
1122.5 43.75
|
||||
1127.4 43.91
|
||||
1132.3 44.07
|
||||
1137.1 44.22
|
||||
1142.0 44.38
|
||||
1146.9 44.54
|
||||
1151.8 44.69
|
||||
1156.6 44.85
|
||||
1161.5 45.01
|
||||
1166.4 45.16
|
||||
1171.3 45.32
|
||||
1176.1 45.48
|
||||
1181.0 45.63
|
||||
1185.9 45.79
|
||||
1190.8 45.95
|
||||
1195.6 46.10
|
||||
1200.5 46.26
|
||||
1205.4 46.41
|
||||
1210.3 46.57
|
||||
1215.1 46.73
|
||||
1220.0 46.88
|
||||
1224.9 47.04
|
||||
1229.8 47.19
|
||||
1234.6 47.35
|
||||
1239.5 47.50
|
||||
1244.4 47.66
|
||||
1249.3 47.81
|
||||
1254.1 47.97
|
||||
1259.0 48.12
|
||||
1263.9 48.28
|
||||
1268.8 48.43
|
||||
1273.6 48.59
|
||||
1278.5 48.74
|
||||
1283.4 48.90
|
||||
1288.3 49.05
|
||||
1293.1 49.21
|
||||
1298.0 49.36
|
||||
1302.9 49.52
|
||||
1307.8 49.67
|
||||
1312.6 49.82
|
||||
1317.5 49.98
|
||||
1322.4 50.13
|
||||
1327.3 50.29
|
||||
1332.1 50.44
|
||||
1337.0 50.59
|
||||
1341.9 50.75
|
||||
1346.8 50.90
|
||||
1351.6 51.06
|
||||
1356.5 51.21
|
||||
1361.4 51.36
|
||||
1366.3 51.52
|
||||
1371.1 51.67
|
||||
1376.0 51.82
|
||||
1380.9 51.98
|
||||
1385.8 52.13
|
||||
1390.6 52.28
|
||||
1395.5 52.44
|
||||
1400.4 52.59
|
||||
1405.3 52.74
|
||||
1410.1 52.89
|
||||
1415.0 53.05
|
||||
1419.9 53.20
|
||||
1424.8 53.35
|
||||
1429.6 53.51
|
||||
1434.5 53.66
|
||||
1439.4 53.81
|
||||
1444.3 53.96
|
||||
1449.1 54.11
|
||||
1454.0 54.27
|
||||
1458.9 54.42
|
||||
1463.8 54.57
|
||||
1468.6 54.72
|
||||
1473.5 54.88
|
||||
1478.4 55.03
|
||||
1483.3 55.18
|
||||
1488.1 55.33
|
||||
1493.0 55.48
|
||||
1497.9 55.63
|
||||
1502.8 55.79
|
||||
1507.6 55.94
|
||||
1512.5 56.09
|
||||
1517.4 56.24
|
||||
1522.3 56.39
|
||||
1527.1 56.54
|
||||
1532.0 56.69
|
||||
1536.9 56.85
|
||||
1541.8 57.00
|
||||
1546.6 57.15
|
||||
1551.5 57.30
|
||||
1556.4 57.45
|
||||
1561.3 57.60
|
||||
1566.1 57.75
|
||||
1571.0 57.90
|
||||
1575.9 58.05
|
||||
1580.8 58.20
|
||||
1585.6 58.35
|
||||
1590.5 58.50
|
||||
1595.4 58.65
|
||||
1600.3 58.81
|
||||
1605.1 58.96
|
||||
1610.0 59.11
|
||||
1614.9 59.26
|
||||
1619.8 59.41
|
||||
1624.6 59.56
|
||||
1629.5 59.71
|
||||
1634.4 59.86
|
||||
1639.3 60.01
|
||||
1644.1 60.16
|
||||
1649.0 60.31
|
||||
1653.9 60.46
|
||||
1658.8 60.61
|
||||
1663.6 60.76
|
||||
1668.5 60.90
|
||||
1673.4 61.05
|
||||
1678.3 61.20
|
||||
1683.1 61.35
|
||||
1688.0 61.50
|
||||
1692.9 61.65
|
||||
1697.8 61.80
|
||||
1702.6 61.95
|
||||
1707.5 62.10
|
||||
1712.4 62.25
|
||||
1717.3 62.40
|
||||
1722.1 62.55
|
||||
1727.0 62.70
|
||||
1731.9 62.84
|
||||
1736.8 62.99
|
||||
1741.6 63.14
|
||||
1746.5 63.29
|
||||
1751.4 63.44
|
||||
1756.3 63.59
|
||||
1761.1 63.74
|
||||
1766.0 63.89
|
||||
1770.9 64.03
|
||||
1775.8 64.18
|
||||
1780.6 64.33
|
||||
1785.5 64.48
|
||||
1790.4 64.63
|
||||
1795.3 64.78
|
||||
1800.1 64.92
|
||||
1805.0 65.07
|
||||
1809.9 65.22
|
||||
1814.8 65.37
|
||||
1819.6 65.52
|
||||
1824.5 65.66
|
||||
1829.4 65.81
|
||||
1834.3 65.96
|
||||
1839.1 66.11
|
||||
1844.0 66.26
|
||||
1848.9 66.40
|
||||
1853.8 66.55
|
||||
1858.6 66.70
|
||||
1863.5 66.85
|
||||
1868.4 66.99
|
||||
1873.3 67.14
|
||||
1878.1 67.29
|
||||
1883.0 67.44
|
||||
1887.9 67.58
|
||||
1892.8 67.73
|
||||
1897.6 67.88
|
||||
1902.5 68.03
|
||||
1907.4 68.17
|
||||
1912.3 68.32
|
||||
1917.1 68.47
|
||||
1922.0 68.61
|
||||
1926.9 68.76
|
||||
1931.8 68.91
|
||||
1936.6 69.05
|
||||
1941.5 69.20
|
||||
1946.4 69.35
|
||||
1951.3 69.49
|
||||
1956.1 69.64
|
||||
1961.0 69.79
|
||||
1965.9 69.93
|
||||
1970.8 70.08
|
||||
1975.6 70.23
|
||||
1980.5 70.37
|
||||
1985.4 70.52
|
||||
1990.3 70.67
|
||||
1995.1 70.81
|
||||
2000.0 70.96
|
||||
+422
@@ -0,0 +1,422 @@
|
||||
|
||||
ELEMENT:
|
||||
Be
|
||||
|
||||
SOURCE:
|
||||
Tanuma, Powell and Penn
|
||||
Unpublished data
|
||||
IMFP values determined from optical data and a theoretical model
|
||||
|
||||
|
||||
ATOMIC WEIGHT: 9.01218
|
||||
|
||||
DENSITY: 1.8500 g/cm**3
|
||||
|
||||
TABULATION:
|
||||
|
||||
______________________________________________________________________________
|
||||
|
||||
Energy IMFP
|
||||
eV Angstroms
|
||||
______________________________________________________________________________
|
||||
50.0 3.53
|
||||
54.9 3.56
|
||||
59.8 3.60
|
||||
64.6 3.66
|
||||
69.5 3.73
|
||||
74.4 3.81
|
||||
79.3 3.89
|
||||
84.1 3.97
|
||||
89.0 4.06
|
||||
93.9 4.15
|
||||
98.8 4.24
|
||||
103.6 4.33
|
||||
108.5 4.43
|
||||
113.4 4.52
|
||||
118.3 4.62
|
||||
123.1 4.71
|
||||
128.0 4.81
|
||||
132.9 4.91
|
||||
137.8 5.00
|
||||
142.6 5.10
|
||||
147.5 5.20
|
||||
152.4 5.29
|
||||
157.3 5.39
|
||||
162.1 5.49
|
||||
167.0 5.58
|
||||
171.9 5.68
|
||||
176.8 5.78
|
||||
181.6 5.87
|
||||
186.5 5.97
|
||||
191.4 6.07
|
||||
196.3 6.16
|
||||
201.1 6.26
|
||||
206.0 6.35
|
||||
210.9 6.45
|
||||
215.8 6.54
|
||||
220.6 6.64
|
||||
225.5 6.73
|
||||
230.4 6.83
|
||||
235.3 6.92
|
||||
240.1 7.01
|
||||
245.0 7.11
|
||||
249.9 7.20
|
||||
254.8 7.29
|
||||
259.6 7.39
|
||||
264.5 7.48
|
||||
269.4 7.57
|
||||
274.3 7.66
|
||||
279.1 7.76
|
||||
284.0 7.85
|
||||
288.9 7.94
|
||||
293.8 8.03
|
||||
298.6 8.12
|
||||
303.5 8.21
|
||||
308.4 8.31
|
||||
313.3 8.40
|
||||
318.1 8.49
|
||||
323.0 8.58
|
||||
327.9 8.67
|
||||
332.8 8.76
|
||||
337.6 8.85
|
||||
342.5 8.94
|
||||
347.4 9.03
|
||||
352.3 9.12
|
||||
357.1 9.20
|
||||
362.0 9.29
|
||||
366.9 9.38
|
||||
371.8 9.47
|
||||
376.6 9.56
|
||||
381.5 9.65
|
||||
386.4 9.74
|
||||
391.3 9.82
|
||||
396.1 9.91
|
||||
401.0 10.00
|
||||
405.9 10.09
|
||||
410.8 10.17
|
||||
415.6 10.26
|
||||
420.5 10.35
|
||||
425.4 10.44
|
||||
430.3 10.52
|
||||
435.1 10.61
|
||||
440.0 10.70
|
||||
444.9 10.78
|
||||
449.8 10.87
|
||||
454.6 10.95
|
||||
459.5 11.04
|
||||
464.4 11.13
|
||||
469.3 11.21
|
||||
474.1 11.30
|
||||
479.0 11.38
|
||||
483.9 11.47
|
||||
488.8 11.55
|
||||
493.6 11.64
|
||||
498.5 11.72
|
||||
503.4 11.81
|
||||
508.3 11.89
|
||||
513.1 11.98
|
||||
518.0 12.06
|
||||
522.9 12.15
|
||||
527.8 12.23
|
||||
532.6 12.31
|
||||
537.5 12.40
|
||||
542.4 12.48
|
||||
547.3 12.57
|
||||
552.1 12.65
|
||||
557.0 12.73
|
||||
561.9 12.82
|
||||
566.8 12.90
|
||||
571.6 12.98
|
||||
576.5 13.07
|
||||
581.4 13.15
|
||||
586.3 13.23
|
||||
591.1 13.31
|
||||
596.0 13.40
|
||||
600.9 13.48
|
||||
605.8 13.56
|
||||
610.6 13.64
|
||||
615.5 13.73
|
||||
620.4 13.81
|
||||
625.3 13.89
|
||||
630.1 13.97
|
||||
635.0 14.06
|
||||
639.9 14.14
|
||||
644.8 14.22
|
||||
649.6 14.30
|
||||
654.5 14.38
|
||||
659.4 14.46
|
||||
664.3 14.54
|
||||
669.1 14.63
|
||||
674.0 14.71
|
||||
678.9 14.79
|
||||
683.8 14.87
|
||||
688.6 14.95
|
||||
693.5 15.03
|
||||
698.4 15.11
|
||||
703.3 15.19
|
||||
708.1 15.27
|
||||
713.0 15.35
|
||||
717.9 15.43
|
||||
722.8 15.51
|
||||
727.6 15.59
|
||||
732.5 15.67
|
||||
737.4 15.75
|
||||
742.3 15.83
|
||||
747.1 15.91
|
||||
752.0 15.99
|
||||
756.9 16.07
|
||||
761.8 16.15
|
||||
766.6 16.23
|
||||
771.5 16.31
|
||||
776.4 16.39
|
||||
781.3 16.47
|
||||
786.1 16.55
|
||||
791.0 16.63
|
||||
795.9 16.71
|
||||
800.8 16.79
|
||||
805.6 16.87
|
||||
810.5 16.95
|
||||
815.4 17.03
|
||||
820.3 17.10
|
||||
825.1 17.18
|
||||
830.0 17.26
|
||||
834.9 17.34
|
||||
839.8 17.42
|
||||
844.6 17.50
|
||||
849.5 17.58
|
||||
854.4 17.65
|
||||
859.3 17.73
|
||||
864.1 17.81
|
||||
869.0 17.89
|
||||
873.9 17.97
|
||||
878.8 18.05
|
||||
883.6 18.12
|
||||
888.5 18.20
|
||||
893.4 18.28
|
||||
898.3 18.36
|
||||
903.1 18.43
|
||||
908.0 18.51
|
||||
912.9 18.59
|
||||
917.8 18.67
|
||||
922.6 18.74
|
||||
927.5 18.82
|
||||
932.4 18.90
|
||||
937.3 18.98
|
||||
942.1 19.05
|
||||
947.0 19.13
|
||||
951.9 19.21
|
||||
956.8 19.28
|
||||
961.6 19.36
|
||||
966.5 19.44
|
||||
971.4 19.52
|
||||
976.3 19.59
|
||||
981.1 19.67
|
||||
986.0 19.75
|
||||
990.9 19.82
|
||||
995.8 19.90
|
||||
1000.6 19.98
|
||||
1005.5 20.05
|
||||
1010.4 20.13
|
||||
1015.3 20.21
|
||||
1020.1 20.28
|
||||
1025.0 20.36
|
||||
1029.9 20.43
|
||||
1034.8 20.51
|
||||
1039.6 20.59
|
||||
1044.5 20.66
|
||||
1049.4 20.74
|
||||
1054.3 20.81
|
||||
1059.1 20.89
|
||||
1064.0 20.97
|
||||
1068.9 21.04
|
||||
1073.8 21.12
|
||||
1078.6 21.19
|
||||
1083.5 21.27
|
||||
1088.4 21.34
|
||||
1093.3 21.42
|
||||
1098.1 21.50
|
||||
1103.0 21.57
|
||||
1107.9 21.65
|
||||
1112.8 21.72
|
||||
1117.6 21.80
|
||||
1122.5 21.87
|
||||
1127.4 21.95
|
||||
1132.3 22.02
|
||||
1137.1 22.10
|
||||
1142.0 22.17
|
||||
1146.9 22.25
|
||||
1151.8 22.32
|
||||
1156.6 22.40
|
||||
1161.5 22.47
|
||||
1166.4 22.55
|
||||
1171.3 22.62
|
||||
1176.1 22.70
|
||||
1181.0 22.77
|
||||
1185.9 22.85
|
||||
1190.8 22.92
|
||||
1195.6 23.00
|
||||
1200.5 23.07
|
||||
1205.4 23.14
|
||||
1210.3 23.22
|
||||
1215.1 23.29
|
||||
1220.0 23.37
|
||||
1224.9 23.44
|
||||
1229.8 23.52
|
||||
1234.6 23.59
|
||||
1239.5 23.66
|
||||
1244.4 23.74
|
||||
1249.3 23.81
|
||||
1254.1 23.89
|
||||
1259.0 23.96
|
||||
1263.9 24.03
|
||||
1268.8 24.11
|
||||
1273.6 24.18
|
||||
1278.5 24.26
|
||||
1283.4 24.33
|
||||
1288.3 24.40
|
||||
1293.1 24.48
|
||||
1298.0 24.55
|
||||
1302.9 24.63
|
||||
1307.8 24.70
|
||||
1312.6 24.77
|
||||
1317.5 24.85
|
||||
1322.4 24.92
|
||||
1327.3 24.99
|
||||
1332.1 25.07
|
||||
1337.0 25.14
|
||||
1341.9 25.21
|
||||
1346.8 25.29
|
||||
1351.6 25.36
|
||||
1356.5 25.43
|
||||
1361.4 25.51
|
||||
1366.3 25.58
|
||||
1371.1 25.65
|
||||
1376.0 25.73
|
||||
1380.9 25.80
|
||||
1385.8 25.87
|
||||
1390.6 25.94
|
||||
1395.5 26.02
|
||||
1400.4 26.09
|
||||
1405.3 26.16
|
||||
1410.1 26.24
|
||||
1415.0 26.31
|
||||
1419.9 26.38
|
||||
1424.8 26.45
|
||||
1429.6 26.53
|
||||
1434.5 26.60
|
||||
1439.4 26.67
|
||||
1444.3 26.74
|
||||
1449.1 26.82
|
||||
1454.0 26.89
|
||||
1458.9 26.96
|
||||
1463.8 27.03
|
||||
1468.6 27.11
|
||||
1473.5 27.18
|
||||
1478.4 27.25
|
||||
1483.3 27.32
|
||||
1488.1 27.40
|
||||
1493.0 27.47
|
||||
1497.9 27.54
|
||||
1502.8 27.61
|
||||
1507.6 27.68
|
||||
1512.5 27.76
|
||||
1517.4 27.83
|
||||
1522.3 27.90
|
||||
1527.1 27.97
|
||||
1532.0 28.04
|
||||
1536.9 28.12
|
||||
1541.8 28.19
|
||||
1546.6 28.26
|
||||
1551.5 28.33
|
||||
1556.4 28.40
|
||||
1561.3 28.48
|
||||
1566.1 28.55
|
||||
1571.0 28.62
|
||||
1575.9 28.69
|
||||
1580.8 28.76
|
||||
1585.6 28.83
|
||||
1590.5 28.91
|
||||
1595.4 28.98
|
||||
1600.3 29.05
|
||||
1605.1 29.12
|
||||
1610.0 29.19
|
||||
1614.9 29.26
|
||||
1619.8 29.33
|
||||
1624.6 29.41
|
||||
1629.5 29.48
|
||||
1634.4 29.55
|
||||
1639.3 29.62
|
||||
1644.1 29.69
|
||||
1649.0 29.76
|
||||
1653.9 29.83
|
||||
1658.8 29.90
|
||||
1663.6 29.98
|
||||
1668.5 30.05
|
||||
1673.4 30.12
|
||||
1678.3 30.19
|
||||
1683.1 30.26
|
||||
1688.0 30.33
|
||||
1692.9 30.40
|
||||
1697.8 30.47
|
||||
1702.6 30.54
|
||||
1707.5 30.61
|
||||
1712.4 30.69
|
||||
1717.3 30.76
|
||||
1722.1 30.83
|
||||
1727.0 30.90
|
||||
1731.9 30.97
|
||||
1736.8 31.04
|
||||
1741.6 31.11
|
||||
1746.5 31.18
|
||||
1751.4 31.25
|
||||
1756.3 31.32
|
||||
1761.1 31.39
|
||||
1766.0 31.46
|
||||
1770.9 31.53
|
||||
1775.8 31.60
|
||||
1780.6 31.67
|
||||
1785.5 31.74
|
||||
1790.4 31.81
|
||||
1795.3 31.88
|
||||
1800.1 31.96
|
||||
1805.0 32.03
|
||||
1809.9 32.10
|
||||
1814.8 32.17
|
||||
1819.6 32.24
|
||||
1824.5 32.31
|
||||
1829.4 32.38
|
||||
1834.3 32.45
|
||||
1839.1 32.52
|
||||
1844.0 32.59
|
||||
1848.9 32.66
|
||||
1853.8 32.73
|
||||
1858.6 32.80
|
||||
1863.5 32.87
|
||||
1868.4 32.94
|
||||
1873.3 33.01
|
||||
1878.1 33.08
|
||||
1883.0 33.15
|
||||
1887.9 33.22
|
||||
1892.8 33.29
|
||||
1897.6 33.36
|
||||
1902.5 33.43
|
||||
1907.4 33.50
|
||||
1912.3 33.57
|
||||
1917.1 33.64
|
||||
1922.0 33.71
|
||||
1926.9 33.77
|
||||
1931.8 33.84
|
||||
1936.6 33.91
|
||||
1941.5 33.98
|
||||
1946.4 34.05
|
||||
1951.3 34.12
|
||||
1956.1 34.19
|
||||
1961.0 34.26
|
||||
1965.9 34.33
|
||||
1970.8 34.40
|
||||
1975.6 34.47
|
||||
1980.5 34.54
|
||||
1985.4 34.61
|
||||
1990.3 34.68
|
||||
1995.1 34.75
|
||||
2000.0 34.82
|
||||
+422
@@ -0,0 +1,422 @@
|
||||
|
||||
ELEMENT:
|
||||
B
|
||||
|
||||
SOURCE:
|
||||
Tanuma, Powell and Penn
|
||||
Surface Interface Anal. 21 (1994) 165.
|
||||
IMFP values determined from TPP-2M equation
|
||||
|
||||
|
||||
ATOMIC WEIGHT: 10.81100
|
||||
|
||||
DENSITY: 2.3400 g/cm**3
|
||||
|
||||
TABULATION:
|
||||
|
||||
______________________________________________________________________________
|
||||
|
||||
Energy IMFP
|
||||
eV Angstroms
|
||||
______________________________________________________________________________
|
||||
50.0 5.36
|
||||
54.9 5.50
|
||||
59.8 5.59
|
||||
64.6 5.66
|
||||
69.5 5.72
|
||||
74.4 5.78
|
||||
79.3 5.84
|
||||
84.1 5.91
|
||||
89.0 5.99
|
||||
93.9 6.07
|
||||
98.8 6.15
|
||||
103.6 6.23
|
||||
108.5 6.32
|
||||
113.4 6.41
|
||||
118.3 6.51
|
||||
123.1 6.60
|
||||
128.0 6.70
|
||||
132.9 6.80
|
||||
137.8 6.90
|
||||
142.6 7.00
|
||||
147.5 7.11
|
||||
152.4 7.21
|
||||
157.3 7.32
|
||||
162.1 7.42
|
||||
167.0 7.53
|
||||
171.9 7.64
|
||||
176.8 7.74
|
||||
181.6 7.85
|
||||
186.5 7.96
|
||||
191.4 8.07
|
||||
196.3 8.18
|
||||
201.1 8.28
|
||||
206.0 8.39
|
||||
210.9 8.50
|
||||
215.8 8.61
|
||||
220.6 8.72
|
||||
225.5 8.83
|
||||
230.4 8.94
|
||||
235.3 9.05
|
||||
240.1 9.16
|
||||
245.0 9.26
|
||||
249.9 9.37
|
||||
254.8 9.48
|
||||
259.6 9.59
|
||||
264.5 9.70
|
||||
269.4 9.81
|
||||
274.3 9.92
|
||||
279.1 10.03
|
||||
284.0 10.13
|
||||
288.9 10.24
|
||||
293.8 10.35
|
||||
298.6 10.46
|
||||
303.5 10.57
|
||||
308.4 10.67
|
||||
313.3 10.78
|
||||
318.1 10.89
|
||||
323.0 11.00
|
||||
327.9 11.10
|
||||
332.8 11.21
|
||||
337.6 11.32
|
||||
342.5 11.42
|
||||
347.4 11.53
|
||||
352.3 11.64
|
||||
357.1 11.74
|
||||
362.0 11.85
|
||||
366.9 11.95
|
||||
371.8 12.06
|
||||
376.6 12.17
|
||||
381.5 12.27
|
||||
386.4 12.38
|
||||
391.3 12.48
|
||||
396.1 12.59
|
||||
401.0 12.69
|
||||
405.9 12.80
|
||||
410.8 12.90
|
||||
415.6 13.01
|
||||
420.5 13.11
|
||||
425.4 13.22
|
||||
430.3 13.32
|
||||
435.1 13.42
|
||||
440.0 13.53
|
||||
444.9 13.63
|
||||
449.8 13.74
|
||||
454.6 13.84
|
||||
459.5 13.94
|
||||
464.4 14.05
|
||||
469.3 14.15
|
||||
474.1 14.25
|
||||
479.0 14.36
|
||||
483.9 14.46
|
||||
488.8 14.56
|
||||
493.6 14.66
|
||||
498.5 14.77
|
||||
503.4 14.87
|
||||
508.3 14.97
|
||||
513.1 15.07
|
||||
518.0 15.17
|
||||
522.9 15.28
|
||||
527.8 15.38
|
||||
532.6 15.48
|
||||
537.5 15.58
|
||||
542.4 15.68
|
||||
547.3 15.78
|
||||
552.1 15.88
|
||||
557.0 15.99
|
||||
561.9 16.09
|
||||
566.8 16.19
|
||||
571.6 16.29
|
||||
576.5 16.39
|
||||
581.4 16.49
|
||||
586.3 16.59
|
||||
591.1 16.69
|
||||
596.0 16.79
|
||||
600.9 16.89
|
||||
605.8 16.99
|
||||
610.6 17.09
|
||||
615.5 17.19
|
||||
620.4 17.29
|
||||
625.3 17.39
|
||||
630.1 17.49
|
||||
635.0 17.59
|
||||
639.9 17.69
|
||||
644.8 17.78
|
||||
649.6 17.88
|
||||
654.5 17.98
|
||||
659.4 18.08
|
||||
664.3 18.18
|
||||
669.1 18.28
|
||||
674.0 18.38
|
||||
678.9 18.48
|
||||
683.8 18.57
|
||||
688.6 18.67
|
||||
693.5 18.77
|
||||
698.4 18.87
|
||||
703.3 18.97
|
||||
708.1 19.06
|
||||
713.0 19.16
|
||||
717.9 19.26
|
||||
722.8 19.36
|
||||
727.6 19.45
|
||||
732.5 19.55
|
||||
737.4 19.65
|
||||
742.3 19.75
|
||||
747.1 19.84
|
||||
752.0 19.94
|
||||
756.9 20.04
|
||||
761.8 20.13
|
||||
766.6 20.23
|
||||
771.5 20.33
|
||||
776.4 20.42
|
||||
781.3 20.52
|
||||
786.1 20.62
|
||||
791.0 20.71
|
||||
795.9 20.81
|
||||
800.8 20.91
|
||||
805.6 21.00
|
||||
810.5 21.10
|
||||
815.4 21.19
|
||||
820.3 21.29
|
||||
825.1 21.38
|
||||
830.0 21.48
|
||||
834.9 21.58
|
||||
839.8 21.67
|
||||
844.6 21.77
|
||||
849.5 21.86
|
||||
854.4 21.96
|
||||
859.3 22.05
|
||||
864.1 22.15
|
||||
869.0 22.24
|
||||
873.9 22.34
|
||||
878.8 22.43
|
||||
883.6 22.53
|
||||
888.5 22.62
|
||||
893.4 22.72
|
||||
898.3 22.81
|
||||
903.1 22.91
|
||||
908.0 23.00
|
||||
912.9 23.10
|
||||
917.8 23.19
|
||||
922.6 23.28
|
||||
927.5 23.38
|
||||
932.4 23.47
|
||||
937.3 23.57
|
||||
942.1 23.66
|
||||
947.0 23.75
|
||||
951.9 23.85
|
||||
956.8 23.94
|
||||
961.6 24.04
|
||||
966.5 24.13
|
||||
971.4 24.22
|
||||
976.3 24.32
|
||||
981.1 24.41
|
||||
986.0 24.50
|
||||
990.9 24.60
|
||||
995.8 24.69
|
||||
1000.6 24.78
|
||||
1005.5 24.88
|
||||
1010.4 24.97
|
||||
1015.3 25.06
|
||||
1020.1 25.16
|
||||
1025.0 25.25
|
||||
1029.9 25.34
|
||||
1034.8 25.43
|
||||
1039.6 25.53
|
||||
1044.5 25.62
|
||||
1049.4 25.71
|
||||
1054.3 25.81
|
||||
1059.1 25.90
|
||||
1064.0 25.99
|
||||
1068.9 26.08
|
||||
1073.8 26.18
|
||||
1078.6 26.27
|
||||
1083.5 26.36
|
||||
1088.4 26.45
|
||||
1093.3 26.54
|
||||
1098.1 26.64
|
||||
1103.0 26.73
|
||||
1107.9 26.82
|
||||
1112.8 26.91
|
||||
1117.6 27.00
|
||||
1122.5 27.09
|
||||
1127.4 27.19
|
||||
1132.3 27.28
|
||||
1137.1 27.37
|
||||
1142.0 27.46
|
||||
1146.9 27.55
|
||||
1151.8 27.64
|
||||
1156.6 27.74
|
||||
1161.5 27.83
|
||||
1166.4 27.92
|
||||
1171.3 28.01
|
||||
1176.1 28.10
|
||||
1181.0 28.19
|
||||
1185.9 28.28
|
||||
1190.8 28.37
|
||||
1195.6 28.46
|
||||
1200.5 28.56
|
||||
1205.4 28.65
|
||||
1210.3 28.74
|
||||
1215.1 28.83
|
||||
1220.0 28.92
|
||||
1224.9 29.01
|
||||
1229.8 29.10
|
||||
1234.6 29.19
|
||||
1239.5 29.28
|
||||
1244.4 29.37
|
||||
1249.3 29.46
|
||||
1254.1 29.55
|
||||
1259.0 29.64
|
||||
1263.9 29.73
|
||||
1268.8 29.82
|
||||
1273.6 29.91
|
||||
1278.5 30.00
|
||||
1283.4 30.09
|
||||
1288.3 30.18
|
||||
1293.1 30.27
|
||||
1298.0 30.36
|
||||
1302.9 30.45
|
||||
1307.8 30.54
|
||||
1312.6 30.63
|
||||
1317.5 30.72
|
||||
1322.4 30.81
|
||||
1327.3 30.90
|
||||
1332.1 30.99
|
||||
1337.0 31.08
|
||||
1341.9 31.17
|
||||
1346.8 31.26
|
||||
1351.6 31.35
|
||||
1356.5 31.44
|
||||
1361.4 31.53
|
||||
1366.3 31.62
|
||||
1371.1 31.71
|
||||
1376.0 31.79
|
||||
1380.9 31.88
|
||||
1385.8 31.97
|
||||
1390.6 32.06
|
||||
1395.5 32.15
|
||||
1400.4 32.24
|
||||
1405.3 32.33
|
||||
1410.1 32.42
|
||||
1415.0 32.51
|
||||
1419.9 32.60
|
||||
1424.8 32.68
|
||||
1429.6 32.77
|
||||
1434.5 32.86
|
||||
1439.4 32.95
|
||||
1444.3 33.04
|
||||
1449.1 33.13
|
||||
1454.0 33.22
|
||||
1458.9 33.30
|
||||
1463.8 33.39
|
||||
1468.6 33.48
|
||||
1473.5 33.57
|
||||
1478.4 33.66
|
||||
1483.3 33.75
|
||||
1488.1 33.83
|
||||
1493.0 33.92
|
||||
1497.9 34.01
|
||||
1502.8 34.10
|
||||
1507.6 34.19
|
||||
1512.5 34.27
|
||||
1517.4 34.36
|
||||
1522.3 34.45
|
||||
1527.1 34.54
|
||||
1532.0 34.63
|
||||
1536.9 34.71
|
||||
1541.8 34.80
|
||||
1546.6 34.89
|
||||
1551.5 34.98
|
||||
1556.4 35.06
|
||||
1561.3 35.15
|
||||
1566.1 35.24
|
||||
1571.0 35.33
|
||||
1575.9 35.41
|
||||
1580.8 35.50
|
||||
1585.6 35.59
|
||||
1590.5 35.68
|
||||
1595.4 35.76
|
||||
1600.3 35.85
|
||||
1605.1 35.94
|
||||
1610.0 36.03
|
||||
1614.9 36.11
|
||||
1619.8 36.20
|
||||
1624.6 36.29
|
||||
1629.5 36.37
|
||||
1634.4 36.46
|
||||
1639.3 36.55
|
||||
1644.1 36.64
|
||||
1649.0 36.72
|
||||
1653.9 36.81
|
||||
1658.8 36.90
|
||||
1663.6 36.98
|
||||
1668.5 37.07
|
||||
1673.4 37.16
|
||||
1678.3 37.24
|
||||
1683.1 37.33
|
||||
1688.0 37.42
|
||||
1692.9 37.50
|
||||
1697.8 37.59
|
||||
1702.6 37.68
|
||||
1707.5 37.76
|
||||
1712.4 37.85
|
||||
1717.3 37.94
|
||||
1722.1 38.02
|
||||
1727.0 38.11
|
||||
1731.9 38.20
|
||||
1736.8 38.28
|
||||
1741.6 38.37
|
||||
1746.5 38.45
|
||||
1751.4 38.54
|
||||
1756.3 38.63
|
||||
1761.1 38.71
|
||||
1766.0 38.80
|
||||
1770.9 38.89
|
||||
1775.8 38.97
|
||||
1780.6 39.06
|
||||
1785.5 39.14
|
||||
1790.4 39.23
|
||||
1795.3 39.32
|
||||
1800.1 39.40
|
||||
1805.0 39.49
|
||||
1809.9 39.57
|
||||
1814.8 39.66
|
||||
1819.6 39.74
|
||||
1824.5 39.83
|
||||
1829.4 39.92
|
||||
1834.3 40.00
|
||||
1839.1 40.09
|
||||
1844.0 40.17
|
||||
1848.9 40.26
|
||||
1853.8 40.34
|
||||
1858.6 40.43
|
||||
1863.5 40.52
|
||||
1868.4 40.60
|
||||
1873.3 40.69
|
||||
1878.1 40.77
|
||||
1883.0 40.86
|
||||
1887.9 40.94
|
||||
1892.8 41.03
|
||||
1897.6 41.11
|
||||
1902.5 41.20
|
||||
1907.4 41.28
|
||||
1912.3 41.37
|
||||
1917.1 41.45
|
||||
1922.0 41.54
|
||||
1926.9 41.62
|
||||
1931.8 41.71
|
||||
1936.6 41.79
|
||||
1941.5 41.88
|
||||
1946.4 41.96
|
||||
1951.3 42.05
|
||||
1956.1 42.13
|
||||
1961.0 42.22
|
||||
1965.9 42.30
|
||||
1970.8 42.39
|
||||
1975.6 42.47
|
||||
1980.5 42.56
|
||||
1985.4 42.64
|
||||
1990.3 42.73
|
||||
1995.1 42.81
|
||||
2000.0 42.90
|
||||
+422
@@ -0,0 +1,422 @@
|
||||
|
||||
ELEMENT:
|
||||
C
|
||||
|
||||
SOURCE:
|
||||
Tanuma, Powell and Penn
|
||||
Surface Interface Anal. 17 (1991) 911.
|
||||
IMFP values determined from optical data and a theoretical model
|
||||
|
||||
|
||||
ATOMIC WEIGHT: 12.01070
|
||||
|
||||
DENSITY: 1.8000 g/cm**3
|
||||
|
||||
TABULATION:
|
||||
|
||||
______________________________________________________________________________
|
||||
|
||||
Energy IMFP
|
||||
eV Angstroms
|
||||
______________________________________________________________________________
|
||||
50.0 5.80
|
||||
54.9 5.75
|
||||
59.8 5.74
|
||||
64.6 5.76
|
||||
69.5 5.80
|
||||
74.4 5.85
|
||||
79.3 5.92
|
||||
84.1 6.00
|
||||
89.0 6.09
|
||||
93.9 6.18
|
||||
98.8 6.28
|
||||
103.6 6.38
|
||||
108.5 6.49
|
||||
113.4 6.60
|
||||
118.3 6.71
|
||||
123.1 6.82
|
||||
128.0 6.94
|
||||
132.9 7.06
|
||||
137.8 7.18
|
||||
142.6 7.30
|
||||
147.5 7.42
|
||||
152.4 7.54
|
||||
157.3 7.66
|
||||
162.1 7.78
|
||||
167.0 7.90
|
||||
171.9 8.02
|
||||
176.8 8.15
|
||||
181.6 8.27
|
||||
186.5 8.39
|
||||
191.4 8.51
|
||||
196.3 8.64
|
||||
201.1 8.76
|
||||
206.0 8.88
|
||||
210.9 9.00
|
||||
215.8 9.13
|
||||
220.6 9.25
|
||||
225.5 9.37
|
||||
230.4 9.49
|
||||
235.3 9.62
|
||||
240.1 9.74
|
||||
245.0 9.86
|
||||
249.9 9.98
|
||||
254.8 10.10
|
||||
259.6 10.22
|
||||
264.5 10.35
|
||||
269.4 10.47
|
||||
274.3 10.59
|
||||
279.1 10.71
|
||||
284.0 10.83
|
||||
288.9 10.95
|
||||
293.8 11.07
|
||||
298.6 11.19
|
||||
303.5 11.31
|
||||
308.4 11.43
|
||||
313.3 11.55
|
||||
318.1 11.66
|
||||
323.0 11.78
|
||||
327.9 11.90
|
||||
332.8 12.02
|
||||
337.6 12.14
|
||||
342.5 12.26
|
||||
347.4 12.37
|
||||
352.3 12.49
|
||||
357.1 12.61
|
||||
362.0 12.73
|
||||
366.9 12.84
|
||||
371.8 12.96
|
||||
376.6 13.08
|
||||
381.5 13.19
|
||||
386.4 13.31
|
||||
391.3 13.42
|
||||
396.1 13.54
|
||||
401.0 13.66
|
||||
405.9 13.77
|
||||
410.8 13.89
|
||||
415.6 14.00
|
||||
420.5 14.12
|
||||
425.4 14.23
|
||||
430.3 14.35
|
||||
435.1 14.46
|
||||
440.0 14.58
|
||||
444.9 14.69
|
||||
449.8 14.80
|
||||
454.6 14.92
|
||||
459.5 15.03
|
||||
464.4 15.14
|
||||
469.3 15.26
|
||||
474.1 15.37
|
||||
479.0 15.48
|
||||
483.9 15.60
|
||||
488.8 15.71
|
||||
493.6 15.82
|
||||
498.5 15.93
|
||||
503.4 16.05
|
||||
508.3 16.16
|
||||
513.1 16.27
|
||||
518.0 16.38
|
||||
522.9 16.49
|
||||
527.8 16.61
|
||||
532.6 16.72
|
||||
537.5 16.83
|
||||
542.4 16.94
|
||||
547.3 17.05
|
||||
552.1 17.16
|
||||
557.0 17.27
|
||||
561.9 17.38
|
||||
566.8 17.49
|
||||
571.6 17.60
|
||||
576.5 17.71
|
||||
581.4 17.82
|
||||
586.3 17.93
|
||||
591.1 18.04
|
||||
596.0 18.15
|
||||
600.9 18.26
|
||||
605.8 18.37
|
||||
610.6 18.48
|
||||
615.5 18.59
|
||||
620.4 18.70
|
||||
625.3 18.81
|
||||
630.1 18.92
|
||||
635.0 19.02
|
||||
639.9 19.13
|
||||
644.8 19.24
|
||||
649.6 19.35
|
||||
654.5 19.46
|
||||
659.4 19.57
|
||||
664.3 19.67
|
||||
669.1 19.78
|
||||
674.0 19.89
|
||||
678.9 20.00
|
||||
683.8 20.10
|
||||
688.6 20.21
|
||||
693.5 20.32
|
||||
698.4 20.43
|
||||
703.3 20.53
|
||||
708.1 20.64
|
||||
713.0 20.75
|
||||
717.9 20.85
|
||||
722.8 20.96
|
||||
727.6 21.07
|
||||
732.5 21.17
|
||||
737.4 21.28
|
||||
742.3 21.39
|
||||
747.1 21.49
|
||||
752.0 21.60
|
||||
756.9 21.70
|
||||
761.8 21.81
|
||||
766.6 21.92
|
||||
771.5 22.02
|
||||
776.4 22.13
|
||||
781.3 22.23
|
||||
786.1 22.34
|
||||
791.0 22.44
|
||||
795.9 22.55
|
||||
800.8 22.65
|
||||
805.6 22.76
|
||||
810.5 22.86
|
||||
815.4 22.97
|
||||
820.3 23.07
|
||||
825.1 23.18
|
||||
830.0 23.28
|
||||
834.9 23.39
|
||||
839.8 23.49
|
||||
844.6 23.59
|
||||
849.5 23.70
|
||||
854.4 23.80
|
||||
859.3 23.91
|
||||
864.1 24.01
|
||||
869.0 24.11
|
||||
873.9 24.22
|
||||
878.8 24.32
|
||||
883.6 24.42
|
||||
888.5 24.53
|
||||
893.4 24.63
|
||||
898.3 24.73
|
||||
903.1 24.84
|
||||
908.0 24.94
|
||||
912.9 25.04
|
||||
917.8 25.15
|
||||
922.6 25.25
|
||||
927.5 25.35
|
||||
932.4 25.46
|
||||
937.3 25.56
|
||||
942.1 25.66
|
||||
947.0 25.76
|
||||
951.9 25.87
|
||||
956.8 25.97
|
||||
961.6 26.07
|
||||
966.5 26.17
|
||||
971.4 26.27
|
||||
976.3 26.38
|
||||
981.1 26.48
|
||||
986.0 26.58
|
||||
990.9 26.68
|
||||
995.8 26.78
|
||||
1000.6 26.89
|
||||
1005.5 26.99
|
||||
1010.4 27.09
|
||||
1015.3 27.19
|
||||
1020.1 27.29
|
||||
1025.0 27.39
|
||||
1029.9 27.49
|
||||
1034.8 27.59
|
||||
1039.6 27.70
|
||||
1044.5 27.80
|
||||
1049.4 27.90
|
||||
1054.3 28.00
|
||||
1059.1 28.10
|
||||
1064.0 28.20
|
||||
1068.9 28.30
|
||||
1073.8 28.40
|
||||
1078.6 28.50
|
||||
1083.5 28.60
|
||||
1088.4 28.70
|
||||
1093.3 28.80
|
||||
1098.1 28.90
|
||||
1103.0 29.00
|
||||
1107.9 29.10
|
||||
1112.8 29.20
|
||||
1117.6 29.30
|
||||
1122.5 29.40
|
||||
1127.4 29.50
|
||||
1132.3 29.60
|
||||
1137.1 29.70
|
||||
1142.0 29.80
|
||||
1146.9 29.90
|
||||
1151.8 30.00
|
||||
1156.6 30.10
|
||||
1161.5 30.20
|
||||
1166.4 30.30
|
||||
1171.3 30.40
|
||||
1176.1 30.50
|
||||
1181.0 30.60
|
||||
1185.9 30.70
|
||||
1190.8 30.80
|
||||
1195.6 30.90
|
||||
1200.5 31.00
|
||||
1205.4 31.10
|
||||
1210.3 31.19
|
||||
1215.1 31.29
|
||||
1220.0 31.39
|
||||
1224.9 31.49
|
||||
1229.8 31.59
|
||||
1234.6 31.69
|
||||
1239.5 31.79
|
||||
1244.4 31.88
|
||||
1249.3 31.98
|
||||
1254.1 32.08
|
||||
1259.0 32.18
|
||||
1263.9 32.28
|
||||
1268.8 32.38
|
||||
1273.6 32.47
|
||||
1278.5 32.57
|
||||
1283.4 32.67
|
||||
1288.3 32.77
|
||||
1293.1 32.87
|
||||
1298.0 32.96
|
||||
1302.9 33.06
|
||||
1307.8 33.16
|
||||
1312.6 33.26
|
||||
1317.5 33.36
|
||||
1322.4 33.45
|
||||
1327.3 33.55
|
||||
1332.1 33.65
|
||||
1337.0 33.75
|
||||
1341.9 33.84
|
||||
1346.8 33.94
|
||||
1351.6 34.04
|
||||
1356.5 34.14
|
||||
1361.4 34.23
|
||||
1366.3 34.33
|
||||
1371.1 34.43
|
||||
1376.0 34.52
|
||||
1380.9 34.62
|
||||
1385.8 34.72
|
||||
1390.6 34.82
|
||||
1395.5 34.91
|
||||
1400.4 35.01
|
||||
1405.3 35.11
|
||||
1410.1 35.20
|
||||
1415.0 35.30
|
||||
1419.9 35.40
|
||||
1424.8 35.49
|
||||
1429.6 35.59
|
||||
1434.5 35.69
|
||||
1439.4 35.78
|
||||
1444.3 35.88
|
||||
1449.1 35.98
|
||||
1454.0 36.07
|
||||
1458.9 36.17
|
||||
1463.8 36.26
|
||||
1468.6 36.36
|
||||
1473.5 36.46
|
||||
1478.4 36.55
|
||||
1483.3 36.65
|
||||
1488.1 36.74
|
||||
1493.0 36.84
|
||||
1497.9 36.94
|
||||
1502.8 37.03
|
||||
1507.6 37.13
|
||||
1512.5 37.22
|
||||
1517.4 37.32
|
||||
1522.3 37.42
|
||||
1527.1 37.51
|
||||
1532.0 37.61
|
||||
1536.9 37.70
|
||||
1541.8 37.80
|
||||
1546.6 37.89
|
||||
1551.5 37.99
|
||||
1556.4 38.08
|
||||
1561.3 38.18
|
||||
1566.1 38.28
|
||||
1571.0 38.37
|
||||
1575.9 38.47
|
||||
1580.8 38.56
|
||||
1585.6 38.66
|
||||
1590.5 38.75
|
||||
1595.4 38.85
|
||||
1600.3 38.94
|
||||
1605.1 39.04
|
||||
1610.0 39.13
|
||||
1614.9 39.23
|
||||
1619.8 39.32
|
||||
1624.6 39.42
|
||||
1629.5 39.51
|
||||
1634.4 39.61
|
||||
1639.3 39.70
|
||||
1644.1 39.79
|
||||
1649.0 39.89
|
||||
1653.9 39.98
|
||||
1658.8 40.08
|
||||
1663.6 40.17
|
||||
1668.5 40.27
|
||||
1673.4 40.36
|
||||
1678.3 40.46
|
||||
1683.1 40.55
|
||||
1688.0 40.65
|
||||
1692.9 40.74
|
||||
1697.8 40.83
|
||||
1702.6 40.93
|
||||
1707.5 41.02
|
||||
1712.4 41.12
|
||||
1717.3 41.21
|
||||
1722.1 41.30
|
||||
1727.0 41.40
|
||||
1731.9 41.49
|
||||
1736.8 41.59
|
||||
1741.6 41.68
|
||||
1746.5 41.77
|
||||
1751.4 41.87
|
||||
1756.3 41.96
|
||||
1761.1 42.06
|
||||
1766.0 42.15
|
||||
1770.9 42.24
|
||||
1775.8 42.34
|
||||
1780.6 42.43
|
||||
1785.5 42.52
|
||||
1790.4 42.62
|
||||
1795.3 42.71
|
||||
1800.1 42.80
|
||||
1805.0 42.90
|
||||
1809.9 42.99
|
||||
1814.8 43.08
|
||||
1819.6 43.18
|
||||
1824.5 43.27
|
||||
1829.4 43.36
|
||||
1834.3 43.46
|
||||
1839.1 43.55
|
||||
1844.0 43.64
|
||||
1848.9 43.74
|
||||
1853.8 43.83
|
||||
1858.6 43.92
|
||||
1863.5 44.02
|
||||
1868.4 44.11
|
||||
1873.3 44.20
|
||||
1878.1 44.29
|
||||
1883.0 44.39
|
||||
1887.9 44.48
|
||||
1892.8 44.57
|
||||
1897.6 44.67
|
||||
1902.5 44.76
|
||||
1907.4 44.85
|
||||
1912.3 44.94
|
||||
1917.1 45.04
|
||||
1922.0 45.13
|
||||
1926.9 45.22
|
||||
1931.8 45.31
|
||||
1936.6 45.41
|
||||
1941.5 45.50
|
||||
1946.4 45.59
|
||||
1951.3 45.68
|
||||
1956.1 45.78
|
||||
1961.0 45.87
|
||||
1965.9 45.96
|
||||
1970.8 46.05
|
||||
1975.6 46.15
|
||||
1980.5 46.24
|
||||
1985.4 46.33
|
||||
1990.3 46.42
|
||||
1995.1 46.51
|
||||
2000.0 46.61
|
||||
+422
@@ -0,0 +1,422 @@
|
||||
|
||||
ELEMENT:
|
||||
Na
|
||||
|
||||
SOURCE:
|
||||
Tanuma, Powell and Penn
|
||||
Unpublished data
|
||||
IMFP values determined from optical data and a theoretical model
|
||||
|
||||
|
||||
ATOMIC WEIGHT: 22.98977
|
||||
|
||||
DENSITY: 0.9700 g/cm**3
|
||||
|
||||
TABULATION:
|
||||
|
||||
______________________________________________________________________________
|
||||
|
||||
Energy IMFP
|
||||
eV Angstroms
|
||||
______________________________________________________________________________
|
||||
50.0 4.95
|
||||
54.9 5.27
|
||||
59.8 5.56
|
||||
64.6 5.83
|
||||
69.5 6.09
|
||||
74.4 6.34
|
||||
79.3 6.58
|
||||
84.1 6.81
|
||||
89.0 7.05
|
||||
93.9 7.27
|
||||
98.8 7.50
|
||||
103.6 7.72
|
||||
108.5 7.94
|
||||
113.4 8.16
|
||||
118.3 8.37
|
||||
123.1 8.59
|
||||
128.0 8.80
|
||||
132.9 9.01
|
||||
137.8 9.22
|
||||
142.6 9.43
|
||||
147.5 9.64
|
||||
152.4 9.85
|
||||
157.3 10.05
|
||||
162.1 10.26
|
||||
167.0 10.46
|
||||
171.9 10.66
|
||||
176.8 10.87
|
||||
181.6 11.07
|
||||
186.5 11.27
|
||||
191.4 11.47
|
||||
196.3 11.67
|
||||
201.1 11.87
|
||||
206.0 12.06
|
||||
210.9 12.26
|
||||
215.8 12.46
|
||||
220.6 12.65
|
||||
225.5 12.85
|
||||
230.4 13.04
|
||||
235.3 13.24
|
||||
240.1 13.43
|
||||
245.0 13.63
|
||||
249.9 13.82
|
||||
254.8 14.01
|
||||
259.6 14.20
|
||||
264.5 14.39
|
||||
269.4 14.58
|
||||
274.3 14.77
|
||||
279.1 14.96
|
||||
284.0 15.15
|
||||
288.9 15.34
|
||||
293.8 15.53
|
||||
298.6 15.72
|
||||
303.5 15.90
|
||||
308.4 16.09
|
||||
313.3 16.28
|
||||
318.1 16.46
|
||||
323.0 16.65
|
||||
327.9 16.83
|
||||
332.8 17.02
|
||||
337.6 17.20
|
||||
342.5 17.39
|
||||
347.4 17.57
|
||||
352.3 17.75
|
||||
357.1 17.94
|
||||
362.0 18.12
|
||||
366.9 18.30
|
||||
371.8 18.48
|
||||
376.6 18.66
|
||||
381.5 18.85
|
||||
386.4 19.03
|
||||
391.3 19.21
|
||||
396.1 19.39
|
||||
401.0 19.57
|
||||
405.9 19.75
|
||||
410.8 19.93
|
||||
415.6 20.11
|
||||
420.5 20.28
|
||||
425.4 20.46
|
||||
430.3 20.64
|
||||
435.1 20.82
|
||||
440.0 21.00
|
||||
444.9 21.17
|
||||
449.8 21.35
|
||||
454.6 21.53
|
||||
459.5 21.70
|
||||
464.4 21.88
|
||||
469.3 22.05
|
||||
474.1 22.23
|
||||
479.0 22.41
|
||||
483.9 22.58
|
||||
488.8 22.76
|
||||
493.6 22.93
|
||||
498.5 23.10
|
||||
503.4 23.28
|
||||
508.3 23.45
|
||||
513.1 23.63
|
||||
518.0 23.80
|
||||
522.9 23.97
|
||||
527.8 24.15
|
||||
532.6 24.32
|
||||
537.5 24.49
|
||||
542.4 24.66
|
||||
547.3 24.84
|
||||
552.1 25.01
|
||||
557.0 25.18
|
||||
561.9 25.35
|
||||
566.8 25.52
|
||||
571.6 25.69
|
||||
576.5 25.86
|
||||
581.4 26.03
|
||||
586.3 26.20
|
||||
591.1 26.37
|
||||
596.0 26.54
|
||||
600.9 26.71
|
||||
605.8 26.88
|
||||
610.6 27.05
|
||||
615.5 27.22
|
||||
620.4 27.39
|
||||
625.3 27.56
|
||||
630.1 27.73
|
||||
635.0 27.90
|
||||
639.9 28.06
|
||||
644.8 28.23
|
||||
649.6 28.40
|
||||
654.5 28.57
|
||||
659.4 28.74
|
||||
664.3 28.90
|
||||
669.1 29.07
|
||||
674.0 29.24
|
||||
678.9 29.40
|
||||
683.8 29.57
|
||||
688.6 29.74
|
||||
693.5 29.90
|
||||
698.4 30.07
|
||||
703.3 30.24
|
||||
708.1 30.40
|
||||
713.0 30.57
|
||||
717.9 30.73
|
||||
722.8 30.90
|
||||
727.6 31.06
|
||||
732.5 31.23
|
||||
737.4 31.39
|
||||
742.3 31.56
|
||||
747.1 31.72
|
||||
752.0 31.89
|
||||
756.9 32.05
|
||||
761.8 32.22
|
||||
766.6 32.38
|
||||
771.5 32.54
|
||||
776.4 32.71
|
||||
781.3 32.87
|
||||
786.1 33.03
|
||||
791.0 33.20
|
||||
795.9 33.36
|
||||
800.8 33.52
|
||||
805.6 33.69
|
||||
810.5 33.85
|
||||
815.4 34.01
|
||||
820.3 34.17
|
||||
825.1 34.34
|
||||
830.0 34.50
|
||||
834.9 34.66
|
||||
839.8 34.82
|
||||
844.6 34.99
|
||||
849.5 35.15
|
||||
854.4 35.31
|
||||
859.3 35.47
|
||||
864.1 35.63
|
||||
869.0 35.79
|
||||
873.9 35.95
|
||||
878.8 36.11
|
||||
883.6 36.27
|
||||
888.5 36.44
|
||||
893.4 36.60
|
||||
898.3 36.76
|
||||
903.1 36.92
|
||||
908.0 37.08
|
||||
912.9 37.24
|
||||
917.8 37.40
|
||||
922.6 37.56
|
||||
927.5 37.72
|
||||
932.4 37.88
|
||||
937.3 38.04
|
||||
942.1 38.20
|
||||
947.0 38.35
|
||||
951.9 38.51
|
||||
956.8 38.67
|
||||
961.6 38.83
|
||||
966.5 38.99
|
||||
971.4 39.15
|
||||
976.3 39.31
|
||||
981.1 39.47
|
||||
986.0 39.62
|
||||
990.9 39.78
|
||||
995.8 39.94
|
||||
1000.6 40.10
|
||||
1005.5 40.26
|
||||
1010.4 40.41
|
||||
1015.3 40.57
|
||||
1020.1 40.73
|
||||
1025.0 40.89
|
||||
1029.9 41.05
|
||||
1034.8 41.20
|
||||
1039.6 41.36
|
||||
1044.5 41.52
|
||||
1049.4 41.67
|
||||
1054.3 41.83
|
||||
1059.1 41.99
|
||||
1064.0 42.14
|
||||
1068.9 42.30
|
||||
1073.8 42.46
|
||||
1078.6 42.61
|
||||
1083.5 42.77
|
||||
1088.4 42.93
|
||||
1093.3 43.08
|
||||
1098.1 43.24
|
||||
1103.0 43.39
|
||||
1107.9 43.55
|
||||
1112.8 43.71
|
||||
1117.6 43.86
|
||||
1122.5 44.02
|
||||
1127.4 44.17
|
||||
1132.3 44.33
|
||||
1137.1 44.48
|
||||
1142.0 44.64
|
||||
1146.9 44.79
|
||||
1151.8 44.95
|
||||
1156.6 45.10
|
||||
1161.5 45.26
|
||||
1166.4 45.41
|
||||
1171.3 45.57
|
||||
1176.1 45.72
|
||||
1181.0 45.88
|
||||
1185.9 46.03
|
||||
1190.8 46.19
|
||||
1195.6 46.34
|
||||
1200.5 46.49
|
||||
1205.4 46.65
|
||||
1210.3 46.80
|
||||
1215.1 46.96
|
||||
1220.0 47.11
|
||||
1224.9 47.26
|
||||
1229.8 47.42
|
||||
1234.6 47.57
|
||||
1239.5 47.73
|
||||
1244.4 47.88
|
||||
1249.3 48.03
|
||||
1254.1 48.19
|
||||
1259.0 48.34
|
||||
1263.9 48.49
|
||||
1268.8 48.64
|
||||
1273.6 48.80
|
||||
1278.5 48.95
|
||||
1283.4 49.10
|
||||
1288.3 49.26
|
||||
1293.1 49.41
|
||||
1298.0 49.56
|
||||
1302.9 49.71
|
||||
1307.8 49.87
|
||||
1312.6 50.02
|
||||
1317.5 50.17
|
||||
1322.4 50.32
|
||||
1327.3 50.47
|
||||
1332.1 50.63
|
||||
1337.0 50.78
|
||||
1341.9 50.93
|
||||
1346.8 51.08
|
||||
1351.6 51.23
|
||||
1356.5 51.39
|
||||
1361.4 51.54
|
||||
1366.3 51.69
|
||||
1371.1 51.84
|
||||
1376.0 51.99
|
||||
1380.9 52.14
|
||||
1385.8 52.29
|
||||
1390.6 52.45
|
||||
1395.5 52.60
|
||||
1400.4 52.75
|
||||
1405.3 52.90
|
||||
1410.1 53.05
|
||||
1415.0 53.20
|
||||
1419.9 53.35
|
||||
1424.8 53.50
|
||||
1429.6 53.65
|
||||
1434.5 53.80
|
||||
1439.4 53.95
|
||||
1444.3 54.10
|
||||
1449.1 54.25
|
||||
1454.0 54.40
|
||||
1458.9 54.55
|
||||
1463.8 54.70
|
||||
1468.6 54.85
|
||||
1473.5 55.00
|
||||
1478.4 55.15
|
||||
1483.3 55.30
|
||||
1488.1 55.45
|
||||
1493.0 55.60
|
||||
1497.9 55.75
|
||||
1502.8 55.90
|
||||
1507.6 56.05
|
||||
1512.5 56.20
|
||||
1517.4 56.35
|
||||
1522.3 56.50
|
||||
1527.1 56.65
|
||||
1532.0 56.80
|
||||
1536.9 56.95
|
||||
1541.8 57.10
|
||||
1546.6 57.25
|
||||
1551.5 57.40
|
||||
1556.4 57.54
|
||||
1561.3 57.69
|
||||
1566.1 57.84
|
||||
1571.0 57.99
|
||||
1575.9 58.14
|
||||
1580.8 58.29
|
||||
1585.6 58.44
|
||||
1590.5 58.59
|
||||
1595.4 58.73
|
||||
1600.3 58.88
|
||||
1605.1 59.03
|
||||
1610.0 59.18
|
||||
1614.9 59.33
|
||||
1619.8 59.48
|
||||
1624.6 59.62
|
||||
1629.5 59.77
|
||||
1634.4 59.92
|
||||
1639.3 60.07
|
||||
1644.1 60.21
|
||||
1649.0 60.36
|
||||
1653.9 60.51
|
||||
1658.8 60.66
|
||||
1663.6 60.81
|
||||
1668.5 60.95
|
||||
1673.4 61.10
|
||||
1678.3 61.25
|
||||
1683.1 61.40
|
||||
1688.0 61.54
|
||||
1692.9 61.69
|
||||
1697.8 61.84
|
||||
1702.6 61.98
|
||||
1707.5 62.13
|
||||
1712.4 62.28
|
||||
1717.3 62.43
|
||||
1722.1 62.57
|
||||
1727.0 62.72
|
||||
1731.9 62.87
|
||||
1736.8 63.01
|
||||
1741.6 63.16
|
||||
1746.5 63.31
|
||||
1751.4 63.45
|
||||
1756.3 63.60
|
||||
1761.1 63.75
|
||||
1766.0 63.89
|
||||
1770.9 64.04
|
||||
1775.8 64.19
|
||||
1780.6 64.33
|
||||
1785.5 64.48
|
||||
1790.4 64.62
|
||||
1795.3 64.77
|
||||
1800.1 64.92
|
||||
1805.0 65.06
|
||||
1809.9 65.21
|
||||
1814.8 65.35
|
||||
1819.6 65.50
|
||||
1824.5 65.65
|
||||
1829.4 65.79
|
||||
1834.3 65.94
|
||||
1839.1 66.08
|
||||
1844.0 66.23
|
||||
1848.9 66.37
|
||||
1853.8 66.52
|
||||
1858.6 66.67
|
||||
1863.5 66.81
|
||||
1868.4 66.96
|
||||
1873.3 67.10
|
||||
1878.1 67.25
|
||||
1883.0 67.39
|
||||
1887.9 67.54
|
||||
1892.8 67.68
|
||||
1897.6 67.83
|
||||
1902.5 67.97
|
||||
1907.4 68.12
|
||||
1912.3 68.26
|
||||
1917.1 68.41
|
||||
1922.0 68.55
|
||||
1926.9 68.70
|
||||
1931.8 68.84
|
||||
1936.6 68.99
|
||||
1941.5 69.13
|
||||
1946.4 69.28
|
||||
1951.3 69.42
|
||||
1956.1 69.57
|
||||
1961.0 69.71
|
||||
1965.9 69.85
|
||||
1970.8 70.00
|
||||
1975.6 70.14
|
||||
1980.5 70.29
|
||||
1985.4 70.43
|
||||
1990.3 70.58
|
||||
1995.1 70.72
|
||||
2000.0 70.86
|
||||
+422
@@ -0,0 +1,422 @@
|
||||
|
||||
ELEMENT:
|
||||
Mg
|
||||
|
||||
SOURCE:
|
||||
Tanuma, Powell and Penn
|
||||
Surface Interface Anal. 17 (1991) 911.
|
||||
IMFP values determined from optical data and a theoretical model
|
||||
|
||||
|
||||
ATOMIC WEIGHT: 24.30500
|
||||
|
||||
DENSITY: 1.7400 g/cm**3
|
||||
|
||||
TABULATION:
|
||||
|
||||
______________________________________________________________________________
|
||||
|
||||
Energy IMFP
|
||||
eV Angstroms
|
||||
______________________________________________________________________________
|
||||
50.0 3.89
|
||||
54.9 4.09
|
||||
59.8 4.27
|
||||
64.6 4.43
|
||||
69.5 4.58
|
||||
74.4 4.72
|
||||
79.3 4.86
|
||||
84.1 5.00
|
||||
89.0 5.14
|
||||
93.9 5.27
|
||||
98.8 5.41
|
||||
103.6 5.54
|
||||
108.5 5.67
|
||||
113.4 5.81
|
||||
118.3 5.94
|
||||
123.1 6.07
|
||||
128.0 6.20
|
||||
132.9 6.33
|
||||
137.8 6.46
|
||||
142.6 6.59
|
||||
147.5 6.72
|
||||
152.4 6.84
|
||||
157.3 6.97
|
||||
162.1 7.10
|
||||
167.0 7.23
|
||||
171.9 7.35
|
||||
176.8 7.48
|
||||
181.6 7.61
|
||||
186.5 7.73
|
||||
191.4 7.86
|
||||
196.3 7.98
|
||||
201.1 8.11
|
||||
206.0 8.23
|
||||
210.9 8.36
|
||||
215.8 8.48
|
||||
220.6 8.60
|
||||
225.5 8.73
|
||||
230.4 8.85
|
||||
235.3 8.97
|
||||
240.1 9.09
|
||||
245.0 9.21
|
||||
249.9 9.34
|
||||
254.8 9.46
|
||||
259.6 9.58
|
||||
264.5 9.70
|
||||
269.4 9.82
|
||||
274.3 9.94
|
||||
279.1 10.06
|
||||
284.0 10.18
|
||||
288.9 10.30
|
||||
293.8 10.42
|
||||
298.6 10.54
|
||||
303.5 10.65
|
||||
308.4 10.77
|
||||
313.3 10.89
|
||||
318.1 11.01
|
||||
323.0 11.12
|
||||
327.9 11.24
|
||||
332.8 11.36
|
||||
337.6 11.48
|
||||
342.5 11.59
|
||||
347.4 11.71
|
||||
352.3 11.82
|
||||
357.1 11.94
|
||||
362.0 12.06
|
||||
366.9 12.17
|
||||
371.8 12.29
|
||||
376.6 12.40
|
||||
381.5 12.52
|
||||
386.4 12.63
|
||||
391.3 12.74
|
||||
396.1 12.86
|
||||
401.0 12.97
|
||||
405.9 13.09
|
||||
410.8 13.20
|
||||
415.6 13.31
|
||||
420.5 13.43
|
||||
425.4 13.54
|
||||
430.3 13.65
|
||||
435.1 13.76
|
||||
440.0 13.88
|
||||
444.9 13.99
|
||||
449.8 14.10
|
||||
454.6 14.21
|
||||
459.5 14.32
|
||||
464.4 14.43
|
||||
469.3 14.55
|
||||
474.1 14.66
|
||||
479.0 14.77
|
||||
483.9 14.88
|
||||
488.8 14.99
|
||||
493.6 15.10
|
||||
498.5 15.21
|
||||
503.4 15.32
|
||||
508.3 15.43
|
||||
513.1 15.54
|
||||
518.0 15.65
|
||||
522.9 15.76
|
||||
527.8 15.87
|
||||
532.6 15.98
|
||||
537.5 16.09
|
||||
542.4 16.20
|
||||
547.3 16.30
|
||||
552.1 16.41
|
||||
557.0 16.52
|
||||
561.9 16.63
|
||||
566.8 16.74
|
||||
571.6 16.85
|
||||
576.5 16.95
|
||||
581.4 17.06
|
||||
586.3 17.17
|
||||
591.1 17.28
|
||||
596.0 17.39
|
||||
600.9 17.49
|
||||
605.8 17.60
|
||||
610.6 17.71
|
||||
615.5 17.81
|
||||
620.4 17.92
|
||||
625.3 18.03
|
||||
630.1 18.13
|
||||
635.0 18.24
|
||||
639.9 18.35
|
||||
644.8 18.45
|
||||
649.6 18.56
|
||||
654.5 18.66
|
||||
659.4 18.77
|
||||
664.3 18.88
|
||||
669.1 18.98
|
||||
674.0 19.09
|
||||
678.9 19.19
|
||||
683.8 19.30
|
||||
688.6 19.40
|
||||
693.5 19.51
|
||||
698.4 19.61
|
||||
703.3 19.72
|
||||
708.1 19.82
|
||||
713.0 19.93
|
||||
717.9 20.03
|
||||
722.8 20.14
|
||||
727.6 20.24
|
||||
732.5 20.34
|
||||
737.4 20.45
|
||||
742.3 20.55
|
||||
747.1 20.66
|
||||
752.0 20.76
|
||||
756.9 20.86
|
||||
761.8 20.97
|
||||
766.6 21.07
|
||||
771.5 21.18
|
||||
776.4 21.28
|
||||
781.3 21.38
|
||||
786.1 21.48
|
||||
791.0 21.59
|
||||
795.9 21.69
|
||||
800.8 21.79
|
||||
805.6 21.90
|
||||
810.5 22.00
|
||||
815.4 22.10
|
||||
820.3 22.20
|
||||
825.1 22.31
|
||||
830.0 22.41
|
||||
834.9 22.51
|
||||
839.8 22.61
|
||||
844.6 22.72
|
||||
849.5 22.82
|
||||
854.4 22.92
|
||||
859.3 23.02
|
||||
864.1 23.12
|
||||
869.0 23.22
|
||||
873.9 23.33
|
||||
878.8 23.43
|
||||
883.6 23.53
|
||||
888.5 23.63
|
||||
893.4 23.73
|
||||
898.3 23.83
|
||||
903.1 23.93
|
||||
908.0 24.03
|
||||
912.9 24.14
|
||||
917.8 24.24
|
||||
922.6 24.34
|
||||
927.5 24.44
|
||||
932.4 24.54
|
||||
937.3 24.64
|
||||
942.1 24.74
|
||||
947.0 24.84
|
||||
951.9 24.94
|
||||
956.8 25.04
|
||||
961.6 25.14
|
||||
966.5 25.24
|
||||
971.4 25.34
|
||||
976.3 25.44
|
||||
981.1 25.54
|
||||
986.0 25.64
|
||||
990.9 25.74
|
||||
995.8 25.84
|
||||
1000.6 25.94
|
||||
1005.5 26.04
|
||||
1010.4 26.14
|
||||
1015.3 26.24
|
||||
1020.1 26.34
|
||||
1025.0 26.44
|
||||
1029.9 26.54
|
||||
1034.8 26.63
|
||||
1039.6 26.73
|
||||
1044.5 26.83
|
||||
1049.4 26.93
|
||||
1054.3 27.03
|
||||
1059.1 27.13
|
||||
1064.0 27.23
|
||||
1068.9 27.33
|
||||
1073.8 27.43
|
||||
1078.6 27.52
|
||||
1083.5 27.62
|
||||
1088.4 27.72
|
||||
1093.3 27.82
|
||||
1098.1 27.92
|
||||
1103.0 28.02
|
||||
1107.9 28.11
|
||||
1112.8 28.21
|
||||
1117.6 28.31
|
||||
1122.5 28.41
|
||||
1127.4 28.51
|
||||
1132.3 28.60
|
||||
1137.1 28.70
|
||||
1142.0 28.80
|
||||
1146.9 28.90
|
||||
1151.8 28.99
|
||||
1156.6 29.09
|
||||
1161.5 29.19
|
||||
1166.4 29.29
|
||||
1171.3 29.38
|
||||
1176.1 29.48
|
||||
1181.0 29.58
|
||||
1185.9 29.68
|
||||
1190.8 29.77
|
||||
1195.6 29.87
|
||||
1200.5 29.97
|
||||
1205.4 30.06
|
||||
1210.3 30.16
|
||||
1215.1 30.26
|
||||
1220.0 30.35
|
||||
1224.9 30.45
|
||||
1229.8 30.55
|
||||
1234.6 30.64
|
||||
1239.5 30.74
|
||||
1244.4 30.84
|
||||
1249.3 30.93
|
||||
1254.1 31.03
|
||||
1259.0 31.13
|
||||
1263.9 31.22
|
||||
1268.8 31.32
|
||||
1273.6 31.41
|
||||
1278.5 31.51
|
||||
1283.4 31.61
|
||||
1288.3 31.70
|
||||
1293.1 31.80
|
||||
1298.0 31.89
|
||||
1302.9 31.99
|
||||
1307.8 32.09
|
||||
1312.6 32.18
|
||||
1317.5 32.28
|
||||
1322.4 32.37
|
||||
1327.3 32.47
|
||||
1332.1 32.57
|
||||
1337.0 32.66
|
||||
1341.9 32.76
|
||||
1346.8 32.85
|
||||
1351.6 32.95
|
||||
1356.5 33.04
|
||||
1361.4 33.14
|
||||
1366.3 33.23
|
||||
1371.1 33.33
|
||||
1376.0 33.42
|
||||
1380.9 33.52
|
||||
1385.8 33.61
|
||||
1390.6 33.71
|
||||
1395.5 33.80
|
||||
1400.4 33.90
|
||||
1405.3 33.99
|
||||
1410.1 34.09
|
||||
1415.0 34.18
|
||||
1419.9 34.28
|
||||
1424.8 34.37
|
||||
1429.6 34.47
|
||||
1434.5 34.56
|
||||
1439.4 34.66
|
||||
1444.3 34.75
|
||||
1449.1 34.84
|
||||
1454.0 34.94
|
||||
1458.9 35.03
|
||||
1463.8 35.13
|
||||
1468.6 35.22
|
||||
1473.5 35.32
|
||||
1478.4 35.41
|
||||
1483.3 35.50
|
||||
1488.1 35.60
|
||||
1493.0 35.69
|
||||
1497.9 35.79
|
||||
1502.8 35.88
|
||||
1507.6 35.97
|
||||
1512.5 36.07
|
||||
1517.4 36.16
|
||||
1522.3 36.26
|
||||
1527.1 36.35
|
||||
1532.0 36.44
|
||||
1536.9 36.54
|
||||
1541.8 36.63
|
||||
1546.6 36.72
|
||||
1551.5 36.82
|
||||
1556.4 36.91
|
||||
1561.3 37.00
|
||||
1566.1 37.10
|
||||
1571.0 37.19
|
||||
1575.9 37.29
|
||||
1580.8 37.38
|
||||
1585.6 37.47
|
||||
1590.5 37.56
|
||||
1595.4 37.66
|
||||
1600.3 37.75
|
||||
1605.1 37.84
|
||||
1610.0 37.94
|
||||
1614.9 38.03
|
||||
1619.8 38.12
|
||||
1624.6 38.22
|
||||
1629.5 38.31
|
||||
1634.4 38.40
|
||||
1639.3 38.49
|
||||
1644.1 38.59
|
||||
1649.0 38.68
|
||||
1653.9 38.77
|
||||
1658.8 38.87
|
||||
1663.6 38.96
|
||||
1668.5 39.05
|
||||
1673.4 39.14
|
||||
1678.3 39.24
|
||||
1683.1 39.33
|
||||
1688.0 39.42
|
||||
1692.9 39.51
|
||||
1697.8 39.61
|
||||
1702.6 39.70
|
||||
1707.5 39.79
|
||||
1712.4 39.88
|
||||
1717.3 39.98
|
||||
1722.1 40.07
|
||||
1727.0 40.16
|
||||
1731.9 40.25
|
||||
1736.8 40.34
|
||||
1741.6 40.44
|
||||
1746.5 40.53
|
||||
1751.4 40.62
|
||||
1756.3 40.71
|
||||
1761.1 40.80
|
||||
1766.0 40.90
|
||||
1770.9 40.99
|
||||
1775.8 41.08
|
||||
1780.6 41.17
|
||||
1785.5 41.26
|
||||
1790.4 41.35
|
||||
1795.3 41.45
|
||||
1800.1 41.54
|
||||
1805.0 41.63
|
||||
1809.9 41.72
|
||||
1814.8 41.81
|
||||
1819.6 41.90
|
||||
1824.5 42.00
|
||||
1829.4 42.09
|
||||
1834.3 42.18
|
||||
1839.1 42.27
|
||||
1844.0 42.36
|
||||
1848.9 42.45
|
||||
1853.8 42.54
|
||||
1858.6 42.63
|
||||
1863.5 42.73
|
||||
1868.4 42.82
|
||||
1873.3 42.91
|
||||
1878.1 43.00
|
||||
1883.0 43.09
|
||||
1887.9 43.18
|
||||
1892.8 43.27
|
||||
1897.6 43.36
|
||||
1902.5 43.45
|
||||
1907.4 43.55
|
||||
1912.3 43.64
|
||||
1917.1 43.73
|
||||
1922.0 43.82
|
||||
1926.9 43.91
|
||||
1931.8 44.00
|
||||
1936.6 44.09
|
||||
1941.5 44.18
|
||||
1946.4 44.27
|
||||
1951.3 44.36
|
||||
1956.1 44.45
|
||||
1961.0 44.54
|
||||
1965.9 44.63
|
||||
1970.8 44.72
|
||||
1975.6 44.81
|
||||
1980.5 44.90
|
||||
1985.4 45.00
|
||||
1990.3 45.09
|
||||
1995.1 45.18
|
||||
2000.0 45.27
|
||||
+422
@@ -0,0 +1,422 @@
|
||||
|
||||
ELEMENT:
|
||||
Al
|
||||
|
||||
SOURCE:
|
||||
Ashley
|
||||
J. Electron Spectrosc. 50 (1990) 323; J. C. Ashley, Private communication
|
||||
IMFP values determined from optical data and a theoretical model
|
||||
|
||||
|
||||
ATOMIC WEIGHT: 26.98154
|
||||
|
||||
DENSITY: 2.7000 g/cm**3
|
||||
|
||||
TABULATION:
|
||||
|
||||
______________________________________________________________________________
|
||||
|
||||
Energy IMFP
|
||||
eV Angstroms
|
||||
______________________________________________________________________________
|
||||
40.0 4.77
|
||||
64.9 4.93
|
||||
89.8 5.27
|
||||
114.7 5.69
|
||||
139.6 6.14
|
||||
164.5 6.60
|
||||
189.4 7.07
|
||||
214.3 7.55
|
||||
239.2 8.03
|
||||
264.1 8.50
|
||||
289.0 8.98
|
||||
313.9 9.45
|
||||
338.8 9.92
|
||||
363.7 10.38
|
||||
388.6 10.85
|
||||
413.5 11.31
|
||||
438.4 11.77
|
||||
463.3 12.23
|
||||
488.2 12.68
|
||||
513.1 13.13
|
||||
538.0 13.58
|
||||
562.9 14.03
|
||||
587.8 14.47
|
||||
612.7 14.91
|
||||
637.6 15.35
|
||||
662.5 15.79
|
||||
687.4 16.22
|
||||
712.3 16.65
|
||||
737.2 17.08
|
||||
762.1 17.51
|
||||
787.0 17.94
|
||||
811.9 18.36
|
||||
836.8 18.78
|
||||
861.7 19.20
|
||||
886.6 19.62
|
||||
911.5 20.04
|
||||
936.4 20.45
|
||||
961.3 20.87
|
||||
986.2 21.28
|
||||
1011.1 21.69
|
||||
1036.0 22.10
|
||||
1060.9 22.51
|
||||
1085.8 22.91
|
||||
1110.7 23.32
|
||||
1135.6 23.72
|
||||
1160.5 24.12
|
||||
1185.4 24.52
|
||||
1210.3 24.92
|
||||
1235.2 25.32
|
||||
1260.1 25.71
|
||||
1285.0 26.11
|
||||
1309.9 26.50
|
||||
1334.8 26.90
|
||||
1359.7 27.29
|
||||
1384.6 27.68
|
||||
1409.5 28.07
|
||||
1434.4 28.45
|
||||
1459.3 28.84
|
||||
1484.2 29.23
|
||||
1509.1 29.61
|
||||
1534.0 30.00
|
||||
1558.9 30.38
|
||||
1583.8 30.76
|
||||
1608.7 31.14
|
||||
1633.6 31.52
|
||||
1658.5 31.90
|
||||
1683.4 32.28
|
||||
1708.3 32.66
|
||||
1733.2 33.03
|
||||
1758.1 33.41
|
||||
1783.0 33.78
|
||||
1807.9 34.16
|
||||
1832.8 34.53
|
||||
1857.7 34.90
|
||||
1882.6 35.27
|
||||
1907.5 35.64
|
||||
1932.4 36.01
|
||||
1957.3 36.38
|
||||
1982.2 36.75
|
||||
2007.1 37.11
|
||||
2032.0 37.48
|
||||
2056.9 37.85
|
||||
2081.8 38.21
|
||||
2106.7 38.57
|
||||
2131.6 38.94
|
||||
2156.5 39.30
|
||||
2181.4 39.66
|
||||
2206.3 40.02
|
||||
2231.2 40.38
|
||||
2256.1 40.74
|
||||
2281.0 41.10
|
||||
2305.9 41.46
|
||||
2330.8 41.82
|
||||
2355.7 42.18
|
||||
2380.6 42.53
|
||||
2405.5 42.89
|
||||
2430.4 43.24
|
||||
2455.3 43.60
|
||||
2480.2 43.95
|
||||
2505.1 44.31
|
||||
2530.0 44.66
|
||||
2554.9 45.01
|
||||
2579.8 45.36
|
||||
2604.7 45.72
|
||||
2629.6 46.07
|
||||
2654.5 46.42
|
||||
2679.4 46.77
|
||||
2704.3 47.11
|
||||
2729.2 47.46
|
||||
2754.1 47.81
|
||||
2779.0 48.16
|
||||
2803.9 48.50
|
||||
2828.8 48.85
|
||||
2853.7 49.20
|
||||
2878.6 49.54
|
||||
2903.5 49.89
|
||||
2928.4 50.23
|
||||
2953.3 50.57
|
||||
2978.2 50.92
|
||||
3003.1 51.26
|
||||
3028.0 51.60
|
||||
3052.9 51.94
|
||||
3077.8 52.28
|
||||
3102.7 52.62
|
||||
3127.6 52.96
|
||||
3152.5 53.30
|
||||
3177.4 53.64
|
||||
3202.3 53.98
|
||||
3227.2 54.32
|
||||
3252.1 54.66
|
||||
3277.0 55.00
|
||||
3301.9 55.33
|
||||
3326.8 55.67
|
||||
3351.7 56.01
|
||||
3376.6 56.34
|
||||
3401.5 56.68
|
||||
3426.4 57.01
|
||||
3451.3 57.35
|
||||
3476.2 57.68
|
||||
3501.1 58.01
|
||||
3526.0 58.35
|
||||
3550.9 58.68
|
||||
3575.8 59.01
|
||||
3600.7 59.34
|
||||
3625.6 59.68
|
||||
3650.5 60.01
|
||||
3675.4 60.34
|
||||
3700.3 60.67
|
||||
3725.2 61.00
|
||||
3750.1 61.33
|
||||
3775.0 61.66
|
||||
3799.9 61.99
|
||||
3824.8 62.31
|
||||
3849.7 62.64
|
||||
3874.6 62.97
|
||||
3899.5 63.30
|
||||
3924.4 63.62
|
||||
3949.3 63.95
|
||||
3974.2 64.28
|
||||
3999.1 64.60
|
||||
4024.0 64.93
|
||||
4048.9 65.25
|
||||
4073.8 65.58
|
||||
4098.7 65.90
|
||||
4123.6 66.23
|
||||
4148.5 66.55
|
||||
4173.4 66.88
|
||||
4198.3 67.20
|
||||
4223.2 67.52
|
||||
4248.1 67.84
|
||||
4273.0 68.17
|
||||
4297.9 68.49
|
||||
4322.8 68.81
|
||||
4347.7 69.13
|
||||
4372.6 69.45
|
||||
4397.5 69.77
|
||||
4422.4 70.09
|
||||
4447.3 70.41
|
||||
4472.2 70.73
|
||||
4497.1 71.05
|
||||
4522.0 71.37
|
||||
4546.9 71.69
|
||||
4571.8 72.01
|
||||
4596.7 72.33
|
||||
4621.6 72.64
|
||||
4646.5 72.96
|
||||
4671.4 73.28
|
||||
4696.3 73.59
|
||||
4721.2 73.91
|
||||
4746.1 74.23
|
||||
4771.0 74.54
|
||||
4795.9 74.86
|
||||
4820.8 75.17
|
||||
4845.7 75.49
|
||||
4870.6 75.81
|
||||
4895.5 76.12
|
||||
4920.4 76.43
|
||||
4945.3 76.75
|
||||
4970.2 77.06
|
||||
4995.1 77.38
|
||||
5020.0 77.69
|
||||
5044.9 78.00
|
||||
5069.8 78.31
|
||||
5094.7 78.63
|
||||
5119.6 78.94
|
||||
5144.5 79.25
|
||||
5169.4 79.56
|
||||
5194.3 79.87
|
||||
5219.2 80.18
|
||||
5244.1 80.50
|
||||
5269.0 80.81
|
||||
5293.9 81.12
|
||||
5318.8 81.43
|
||||
5343.7 81.74
|
||||
5368.6 82.05
|
||||
5393.5 82.35
|
||||
5418.4 82.66
|
||||
5443.3 82.97
|
||||
5468.2 83.28
|
||||
5493.1 83.59
|
||||
5518.0 83.90
|
||||
5542.9 84.20
|
||||
5567.8 84.51
|
||||
5592.7 84.82
|
||||
5617.6 85.13
|
||||
5642.5 85.43
|
||||
5667.4 85.74
|
||||
5692.3 86.05
|
||||
5717.2 86.35
|
||||
5742.1 86.66
|
||||
5767.0 86.96
|
||||
5791.9 87.27
|
||||
5816.8 87.57
|
||||
5841.7 87.88
|
||||
5866.6 88.18
|
||||
5891.5 88.49
|
||||
5916.4 88.79
|
||||
5941.3 89.10
|
||||
5966.2 89.40
|
||||
5991.1 89.70
|
||||
6016.0 90.01
|
||||
6040.9 90.31
|
||||
6065.8 90.61
|
||||
6090.7 90.92
|
||||
6115.6 91.22
|
||||
6140.5 91.52
|
||||
6165.4 91.82
|
||||
6190.3 92.13
|
||||
6215.2 92.43
|
||||
6240.1 92.73
|
||||
6265.0 93.03
|
||||
6289.9 93.33
|
||||
6314.8 93.63
|
||||
6339.7 93.93
|
||||
6364.6 94.23
|
||||
6389.5 94.53
|
||||
6414.4 94.83
|
||||
6439.3 95.13
|
||||
6464.2 95.43
|
||||
6489.1 95.73
|
||||
6514.0 96.03
|
||||
6538.9 96.33
|
||||
6563.8 96.63
|
||||
6588.7 96.93
|
||||
6613.6 97.22
|
||||
6638.5 97.52
|
||||
6663.4 97.82
|
||||
6688.3 98.12
|
||||
6713.2 98.42
|
||||
6738.1 98.71
|
||||
6763.0 99.01
|
||||
6787.9 99.31
|
||||
6812.8 99.60
|
||||
6837.7 99.90
|
||||
6862.6 100.20
|
||||
6887.5 100.49
|
||||
6912.4 100.79
|
||||
6937.3 101.08
|
||||
6962.2 101.38
|
||||
6987.1 101.68
|
||||
7012.0 101.97
|
||||
7036.9 102.27
|
||||
7061.8 102.56
|
||||
7086.7 102.86
|
||||
7111.6 103.15
|
||||
7136.5 103.44
|
||||
7161.4 103.74
|
||||
7186.3 104.03
|
||||
7211.2 104.33
|
||||
7236.1 104.62
|
||||
7261.0 104.91
|
||||
7285.9 105.21
|
||||
7310.8 105.50
|
||||
7335.7 105.79
|
||||
7360.6 106.09
|
||||
7385.5 106.38
|
||||
7410.4 106.67
|
||||
7435.3 106.96
|
||||
7460.2 107.25
|
||||
7485.1 107.55
|
||||
7510.0 107.84
|
||||
7534.9 108.13
|
||||
7559.8 108.42
|
||||
7584.7 108.71
|
||||
7609.6 109.00
|
||||
7634.5 109.29
|
||||
7659.4 109.58
|
||||
7684.3 109.87
|
||||
7709.2 110.17
|
||||
7734.1 110.46
|
||||
7759.0 110.75
|
||||
7783.9 111.04
|
||||
7808.8 111.32
|
||||
7833.7 111.61
|
||||
7858.6 111.90
|
||||
7883.5 112.19
|
||||
7908.4 112.48
|
||||
7933.3 112.77
|
||||
7958.2 113.06
|
||||
7983.1 113.35
|
||||
8008.0 113.64
|
||||
8032.9 113.92
|
||||
8057.8 114.21
|
||||
8082.7 114.50
|
||||
8107.6 114.79
|
||||
8132.5 115.08
|
||||
8157.4 115.36
|
||||
8182.3 115.65
|
||||
8207.2 115.94
|
||||
8232.1 116.22
|
||||
8257.0 116.51
|
||||
8281.9 116.80
|
||||
8306.8 117.08
|
||||
8331.7 117.37
|
||||
8356.6 117.66
|
||||
8381.5 117.94
|
||||
8406.4 118.23
|
||||
8431.3 118.51
|
||||
8456.2 118.80
|
||||
8481.1 119.09
|
||||
8506.0 119.37
|
||||
8530.9 119.66
|
||||
8555.8 119.94
|
||||
8580.7 120.23
|
||||
8605.6 120.51
|
||||
8630.5 120.80
|
||||
8655.4 121.08
|
||||
8680.3 121.36
|
||||
8705.2 121.65
|
||||
8730.1 121.93
|
||||
8755.0 122.22
|
||||
8779.9 122.50
|
||||
8804.8 122.78
|
||||
8829.7 123.07
|
||||
8854.6 123.35
|
||||
8879.5 123.63
|
||||
8904.4 123.92
|
||||
8929.3 124.20
|
||||
8954.2 124.48
|
||||
8979.1 124.76
|
||||
9004.0 125.05
|
||||
9028.9 125.33
|
||||
9053.8 125.61
|
||||
9078.7 125.89
|
||||
9103.6 126.18
|
||||
9128.5 126.46
|
||||
9153.4 126.74
|
||||
9178.3 127.02
|
||||
9203.2 127.30
|
||||
9228.1 127.58
|
||||
9253.0 127.86
|
||||
9277.9 128.14
|
||||
9302.8 128.43
|
||||
9327.7 128.71
|
||||
9352.6 128.99
|
||||
9377.5 129.27
|
||||
9402.4 129.55
|
||||
9427.3 129.83
|
||||
9452.2 130.11
|
||||
9477.1 130.39
|
||||
9502.0 130.67
|
||||
9526.9 130.95
|
||||
9551.8 131.23
|
||||
9576.7 131.51
|
||||
9601.6 131.78
|
||||
9626.5 132.06
|
||||
9651.4 132.34
|
||||
9676.3 132.62
|
||||
9701.2 132.90
|
||||
9726.1 133.18
|
||||
9751.0 133.46
|
||||
9775.9 133.74
|
||||
9800.8 134.01
|
||||
9825.7 134.29
|
||||
9850.6 134.57
|
||||
9875.5 134.85
|
||||
9900.4 135.13
|
||||
9925.3 135.40
|
||||
9950.2 135.68
|
||||
9975.1 135.96
|
||||
10000.0 136.23
|
||||
+422
@@ -0,0 +1,422 @@
|
||||
|
||||
ELEMENT:
|
||||
Al
|
||||
|
||||
SOURCE:
|
||||
Tanuma, Powell and Penn
|
||||
Surface Interface Anal. 17 (1991) 911.
|
||||
IMFP values determined from optical data and a theoretical model
|
||||
|
||||
|
||||
ATOMIC WEIGHT: 26.98154
|
||||
|
||||
DENSITY: 2.7000 g/cm**3
|
||||
|
||||
TABULATION:
|
||||
|
||||
______________________________________________________________________________
|
||||
|
||||
Energy IMFP
|
||||
eV Angstroms
|
||||
______________________________________________________________________________
|
||||
50.0 3.17
|
||||
54.9 3.27
|
||||
59.8 3.37
|
||||
64.6 3.47
|
||||
69.5 3.57
|
||||
74.4 3.67
|
||||
79.3 3.77
|
||||
84.1 3.87
|
||||
89.0 3.97
|
||||
93.9 4.07
|
||||
98.8 4.17
|
||||
103.6 4.28
|
||||
108.5 4.38
|
||||
113.4 4.48
|
||||
118.3 4.58
|
||||
123.1 4.68
|
||||
128.0 4.78
|
||||
132.9 4.88
|
||||
137.8 4.98
|
||||
142.6 5.07
|
||||
147.5 5.17
|
||||
152.4 5.27
|
||||
157.3 5.37
|
||||
162.1 5.47
|
||||
167.0 5.56
|
||||
171.9 5.66
|
||||
176.8 5.76
|
||||
181.6 5.86
|
||||
186.5 5.95
|
||||
191.4 6.05
|
||||
196.3 6.14
|
||||
201.1 6.24
|
||||
206.0 6.33
|
||||
210.9 6.43
|
||||
215.8 6.52
|
||||
220.6 6.62
|
||||
225.5 6.71
|
||||
230.4 6.80
|
||||
235.3 6.90
|
||||
240.1 6.99
|
||||
245.0 7.08
|
||||
249.9 7.17
|
||||
254.8 7.27
|
||||
259.6 7.36
|
||||
264.5 7.45
|
||||
269.4 7.54
|
||||
274.3 7.63
|
||||
279.1 7.72
|
||||
284.0 7.81
|
||||
288.9 7.90
|
||||
293.8 7.99
|
||||
298.6 8.08
|
||||
303.5 8.17
|
||||
308.4 8.26
|
||||
313.3 8.35
|
||||
318.1 8.44
|
||||
323.0 8.53
|
||||
327.9 8.62
|
||||
332.8 8.71
|
||||
337.6 8.80
|
||||
342.5 8.88
|
||||
347.4 8.97
|
||||
352.3 9.06
|
||||
357.1 9.15
|
||||
362.0 9.23
|
||||
366.9 9.32
|
||||
371.8 9.41
|
||||
376.6 9.49
|
||||
381.5 9.58
|
||||
386.4 9.67
|
||||
391.3 9.75
|
||||
396.1 9.84
|
||||
401.0 9.93
|
||||
405.9 10.01
|
||||
410.8 10.10
|
||||
415.6 10.18
|
||||
420.5 10.27
|
||||
425.4 10.35
|
||||
430.3 10.44
|
||||
435.1 10.52
|
||||
440.0 10.61
|
||||
444.9 10.69
|
||||
449.8 10.78
|
||||
454.6 10.86
|
||||
459.5 10.94
|
||||
464.4 11.03
|
||||
469.3 11.11
|
||||
474.1 11.19
|
||||
479.0 11.28
|
||||
483.9 11.36
|
||||
488.8 11.44
|
||||
493.6 11.53
|
||||
498.5 11.61
|
||||
503.4 11.69
|
||||
508.3 11.78
|
||||
513.1 11.86
|
||||
518.0 11.94
|
||||
522.9 12.02
|
||||
527.8 12.11
|
||||
532.6 12.19
|
||||
537.5 12.27
|
||||
542.4 12.35
|
||||
547.3 12.43
|
||||
552.1 12.51
|
||||
557.0 12.60
|
||||
561.9 12.68
|
||||
566.8 12.76
|
||||
571.6 12.84
|
||||
576.5 12.92
|
||||
581.4 13.00
|
||||
586.3 13.08
|
||||
591.1 13.16
|
||||
596.0 13.24
|
||||
600.9 13.32
|
||||
605.8 13.40
|
||||
610.6 13.48
|
||||
615.5 13.56
|
||||
620.4 13.64
|
||||
625.3 13.72
|
||||
630.1 13.80
|
||||
635.0 13.88
|
||||
639.9 13.96
|
||||
644.8 14.04
|
||||
649.6 14.12
|
||||
654.5 14.20
|
||||
659.4 14.28
|
||||
664.3 14.36
|
||||
669.1 14.44
|
||||
674.0 14.52
|
||||
678.9 14.60
|
||||
683.8 14.68
|
||||
688.6 14.76
|
||||
693.5 14.83
|
||||
698.4 14.91
|
||||
703.3 14.99
|
||||
708.1 15.07
|
||||
713.0 15.15
|
||||
717.9 15.23
|
||||
722.8 15.30
|
||||
727.6 15.38
|
||||
732.5 15.46
|
||||
737.4 15.54
|
||||
742.3 15.62
|
||||
747.1 15.69
|
||||
752.0 15.77
|
||||
756.9 15.85
|
||||
761.8 15.93
|
||||
766.6 16.00
|
||||
771.5 16.08
|
||||
776.4 16.16
|
||||
781.3 16.24
|
||||
786.1 16.31
|
||||
791.0 16.39
|
||||
795.9 16.47
|
||||
800.8 16.54
|
||||
805.6 16.62
|
||||
810.5 16.70
|
||||
815.4 16.77
|
||||
820.3 16.85
|
||||
825.1 16.93
|
||||
830.0 17.00
|
||||
834.9 17.08
|
||||
839.8 17.16
|
||||
844.6 17.23
|
||||
849.5 17.31
|
||||
854.4 17.38
|
||||
859.3 17.46
|
||||
864.1 17.54
|
||||
869.0 17.61
|
||||
873.9 17.69
|
||||
878.8 17.76
|
||||
883.6 17.84
|
||||
888.5 17.92
|
||||
893.4 17.99
|
||||
898.3 18.07
|
||||
903.1 18.14
|
||||
908.0 18.22
|
||||
912.9 18.29
|
||||
917.8 18.37
|
||||
922.6 18.44
|
||||
927.5 18.52
|
||||
932.4 18.59
|
||||
937.3 18.67
|
||||
942.1 18.74
|
||||
947.0 18.82
|
||||
951.9 18.89
|
||||
956.8 18.97
|
||||
961.6 19.04
|
||||
966.5 19.12
|
||||
971.4 19.19
|
||||
976.3 19.27
|
||||
981.1 19.34
|
||||
986.0 19.41
|
||||
990.9 19.49
|
||||
995.8 19.56
|
||||
1000.6 19.64
|
||||
1005.5 19.71
|
||||
1010.4 19.79
|
||||
1015.3 19.86
|
||||
1020.1 19.93
|
||||
1025.0 20.01
|
||||
1029.9 20.08
|
||||
1034.8 20.16
|
||||
1039.6 20.23
|
||||
1044.5 20.30
|
||||
1049.4 20.38
|
||||
1054.3 20.45
|
||||
1059.1 20.52
|
||||
1064.0 20.60
|
||||
1068.9 20.67
|
||||
1073.8 20.74
|
||||
1078.6 20.82
|
||||
1083.5 20.89
|
||||
1088.4 20.96
|
||||
1093.3 21.04
|
||||
1098.1 21.11
|
||||
1103.0 21.18
|
||||
1107.9 21.26
|
||||
1112.8 21.33
|
||||
1117.6 21.40
|
||||
1122.5 21.48
|
||||
1127.4 21.55
|
||||
1132.3 21.62
|
||||
1137.1 21.69
|
||||
1142.0 21.77
|
||||
1146.9 21.84
|
||||
1151.8 21.91
|
||||
1156.6 21.99
|
||||
1161.5 22.06
|
||||
1166.4 22.13
|
||||
1171.3 22.20
|
||||
1176.1 22.28
|
||||
1181.0 22.35
|
||||
1185.9 22.42
|
||||
1190.8 22.49
|
||||
1195.6 22.56
|
||||
1200.5 22.64
|
||||
1205.4 22.71
|
||||
1210.3 22.78
|
||||
1215.1 22.85
|
||||
1220.0 22.93
|
||||
1224.9 23.00
|
||||
1229.8 23.07
|
||||
1234.6 23.14
|
||||
1239.5 23.21
|
||||
1244.4 23.28
|
||||
1249.3 23.36
|
||||
1254.1 23.43
|
||||
1259.0 23.50
|
||||
1263.9 23.57
|
||||
1268.8 23.64
|
||||
1273.6 23.71
|
||||
1278.5 23.79
|
||||
1283.4 23.86
|
||||
1288.3 23.93
|
||||
1293.1 24.00
|
||||
1298.0 24.07
|
||||
1302.9 24.14
|
||||
1307.8 24.21
|
||||
1312.6 24.29
|
||||
1317.5 24.36
|
||||
1322.4 24.43
|
||||
1327.3 24.50
|
||||
1332.1 24.57
|
||||
1337.0 24.64
|
||||
1341.9 24.71
|
||||
1346.8 24.78
|
||||
1351.6 24.85
|
||||
1356.5 24.92
|
||||
1361.4 25.00
|
||||
1366.3 25.07
|
||||
1371.1 25.14
|
||||
1376.0 25.21
|
||||
1380.9 25.28
|
||||
1385.8 25.35
|
||||
1390.6 25.42
|
||||
1395.5 25.49
|
||||
1400.4 25.56
|
||||
1405.3 25.63
|
||||
1410.1 25.70
|
||||
1415.0 25.77
|
||||
1419.9 25.84
|
||||
1424.8 25.91
|
||||
1429.6 25.98
|
||||
1434.5 26.05
|
||||
1439.4 26.12
|
||||
1444.3 26.19
|
||||
1449.1 26.26
|
||||
1454.0 26.33
|
||||
1458.9 26.40
|
||||
1463.8 26.47
|
||||
1468.6 26.54
|
||||
1473.5 26.61
|
||||
1478.4 26.68
|
||||
1483.3 26.75
|
||||
1488.1 26.82
|
||||
1493.0 26.89
|
||||
1497.9 26.96
|
||||
1502.8 27.03
|
||||
1507.6 27.10
|
||||
1512.5 27.17
|
||||
1517.4 27.24
|
||||
1522.3 27.31
|
||||
1527.1 27.38
|
||||
1532.0 27.45
|
||||
1536.9 27.52
|
||||
1541.8 27.59
|
||||
1546.6 27.66
|
||||
1551.5 27.73
|
||||
1556.4 27.80
|
||||
1561.3 27.87
|
||||
1566.1 27.94
|
||||
1571.0 28.01
|
||||
1575.9 28.08
|
||||
1580.8 28.15
|
||||
1585.6 28.21
|
||||
1590.5 28.28
|
||||
1595.4 28.35
|
||||
1600.3 28.42
|
||||
1605.1 28.49
|
||||
1610.0 28.56
|
||||
1614.9 28.63
|
||||
1619.8 28.70
|
||||
1624.6 28.77
|
||||
1629.5 28.84
|
||||
1634.4 28.91
|
||||
1639.3 28.97
|
||||
1644.1 29.04
|
||||
1649.0 29.11
|
||||
1653.9 29.18
|
||||
1658.8 29.25
|
||||
1663.6 29.32
|
||||
1668.5 29.39
|
||||
1673.4 29.46
|
||||
1678.3 29.52
|
||||
1683.1 29.59
|
||||
1688.0 29.66
|
||||
1692.9 29.73
|
||||
1697.8 29.80
|
||||
1702.6 29.87
|
||||
1707.5 29.94
|
||||
1712.4 30.00
|
||||
1717.3 30.07
|
||||
1722.1 30.14
|
||||
1727.0 30.21
|
||||
1731.9 30.28
|
||||
1736.8 30.35
|
||||
1741.6 30.41
|
||||
1746.5 30.48
|
||||
1751.4 30.55
|
||||
1756.3 30.62
|
||||
1761.1 30.69
|
||||
1766.0 30.75
|
||||
1770.9 30.82
|
||||
1775.8 30.89
|
||||
1780.6 30.96
|
||||
1785.5 31.03
|
||||
1790.4 31.10
|
||||
1795.3 31.16
|
||||
1800.1 31.23
|
||||
1805.0 31.30
|
||||
1809.9 31.37
|
||||
1814.8 31.43
|
||||
1819.6 31.50
|
||||
1824.5 31.57
|
||||
1829.4 31.64
|
||||
1834.3 31.71
|
||||
1839.1 31.77
|
||||
1844.0 31.84
|
||||
1848.9 31.91
|
||||
1853.8 31.98
|
||||
1858.6 32.04
|
||||
1863.5 32.11
|
||||
1868.4 32.18
|
||||
1873.3 32.25
|
||||
1878.1 32.31
|
||||
1883.0 32.38
|
||||
1887.9 32.45
|
||||
1892.8 32.52
|
||||
1897.6 32.58
|
||||
1902.5 32.65
|
||||
1907.4 32.72
|
||||
1912.3 32.79
|
||||
1917.1 32.85
|
||||
1922.0 32.92
|
||||
1926.9 32.99
|
||||
1931.8 33.06
|
||||
1936.6 33.12
|
||||
1941.5 33.19
|
||||
1946.4 33.26
|
||||
1951.3 33.32
|
||||
1956.1 33.39
|
||||
1961.0 33.46
|
||||
1965.9 33.53
|
||||
1970.8 33.59
|
||||
1975.6 33.66
|
||||
1980.5 33.73
|
||||
1985.4 33.79
|
||||
1990.3 33.86
|
||||
1995.1 33.93
|
||||
2000.0 33.99
|
||||
+422
@@ -0,0 +1,422 @@
|
||||
|
||||
ELEMENT:
|
||||
Al
|
||||
|
||||
SOURCE:
|
||||
Chen
|
||||
Y. F. Chen, Private communication
|
||||
IMFP values determined from optical data and a theoretical model
|
||||
|
||||
|
||||
ATOMIC WEIGHT: 26.98154
|
||||
|
||||
DENSITY: 2.7000 g/cm**3
|
||||
|
||||
TABULATION:
|
||||
|
||||
______________________________________________________________________________
|
||||
|
||||
Energy IMFP
|
||||
eV Angstroms
|
||||
______________________________________________________________________________
|
||||
100.0 5.39
|
||||
104.8 5.50
|
||||
109.5 5.60
|
||||
114.3 5.70
|
||||
119.0 5.80
|
||||
123.8 5.90
|
||||
128.5 6.00
|
||||
133.3 6.10
|
||||
138.0 6.19
|
||||
142.8 6.29
|
||||
147.5 6.39
|
||||
152.3 6.49
|
||||
157.0 6.58
|
||||
161.8 6.68
|
||||
166.5 6.78
|
||||
171.3 6.87
|
||||
176.0 6.97
|
||||
180.8 7.06
|
||||
185.5 7.16
|
||||
190.3 7.25
|
||||
195.0 7.34
|
||||
199.8 7.44
|
||||
204.5 7.53
|
||||
209.3 7.62
|
||||
214.0 7.72
|
||||
218.8 7.81
|
||||
223.5 7.90
|
||||
228.3 7.99
|
||||
233.0 8.09
|
||||
237.8 8.18
|
||||
242.5 8.27
|
||||
247.3 8.36
|
||||
252.0 8.45
|
||||
256.8 8.54
|
||||
261.5 8.63
|
||||
266.3 8.72
|
||||
271.0 8.81
|
||||
275.8 8.90
|
||||
280.5 8.99
|
||||
285.3 9.08
|
||||
290.0 9.17
|
||||
294.8 9.26
|
||||
299.5 9.35
|
||||
304.3 9.44
|
||||
309.0 9.52
|
||||
313.8 9.61
|
||||
318.5 9.70
|
||||
323.3 9.79
|
||||
328.0 9.88
|
||||
332.8 9.96
|
||||
337.5 10.05
|
||||
342.3 10.14
|
||||
347.0 10.23
|
||||
351.8 10.31
|
||||
356.5 10.40
|
||||
361.3 10.49
|
||||
366.0 10.57
|
||||
370.8 10.66
|
||||
375.5 10.75
|
||||
380.3 10.83
|
||||
385.0 10.92
|
||||
389.8 11.00
|
||||
394.5 11.09
|
||||
399.3 11.17
|
||||
404.0 11.26
|
||||
408.8 11.34
|
||||
413.5 11.43
|
||||
418.3 11.51
|
||||
423.0 11.60
|
||||
427.8 11.68
|
||||
432.5 11.77
|
||||
437.3 11.85
|
||||
442.0 11.94
|
||||
446.8 12.02
|
||||
451.5 12.11
|
||||
456.3 12.19
|
||||
461.0 12.27
|
||||
465.8 12.36
|
||||
470.5 12.44
|
||||
475.3 12.53
|
||||
480.0 12.61
|
||||
484.8 12.69
|
||||
489.5 12.77
|
||||
494.3 12.86
|
||||
499.0 12.94
|
||||
503.8 13.02
|
||||
508.5 13.11
|
||||
513.3 13.19
|
||||
518.0 13.27
|
||||
522.8 13.35
|
||||
527.5 13.44
|
||||
532.3 13.52
|
||||
537.0 13.60
|
||||
541.8 13.68
|
||||
546.5 13.77
|
||||
551.3 13.85
|
||||
556.0 13.93
|
||||
560.8 14.01
|
||||
565.5 14.09
|
||||
570.3 14.17
|
||||
575.0 14.26
|
||||
579.8 14.34
|
||||
584.5 14.42
|
||||
589.3 14.50
|
||||
594.0 14.58
|
||||
598.8 14.66
|
||||
603.5 14.74
|
||||
608.3 14.82
|
||||
613.0 14.90
|
||||
617.8 14.98
|
||||
622.5 15.07
|
||||
627.3 15.15
|
||||
632.0 15.23
|
||||
636.8 15.31
|
||||
641.5 15.39
|
||||
646.3 15.47
|
||||
651.0 15.55
|
||||
655.8 15.63
|
||||
660.5 15.71
|
||||
665.3 15.79
|
||||
670.0 15.87
|
||||
674.8 15.95
|
||||
679.5 16.03
|
||||
684.3 16.11
|
||||
689.0 16.18
|
||||
693.8 16.26
|
||||
698.5 16.34
|
||||
703.3 16.42
|
||||
708.0 16.50
|
||||
712.8 16.58
|
||||
717.5 16.66
|
||||
722.3 16.74
|
||||
727.0 16.82
|
||||
731.8 16.90
|
||||
736.5 16.98
|
||||
741.3 17.05
|
||||
746.0 17.13
|
||||
750.8 17.21
|
||||
755.5 17.29
|
||||
760.3 17.37
|
||||
765.0 17.45
|
||||
769.8 17.53
|
||||
774.5 17.60
|
||||
779.3 17.68
|
||||
784.0 17.76
|
||||
788.8 17.84
|
||||
793.5 17.92
|
||||
798.3 17.99
|
||||
803.0 18.07
|
||||
807.8 18.15
|
||||
812.5 18.23
|
||||
817.3 18.31
|
||||
822.0 18.38
|
||||
826.8 18.46
|
||||
831.5 18.54
|
||||
836.3 18.62
|
||||
841.0 18.69
|
||||
845.8 18.77
|
||||
850.5 18.85
|
||||
855.3 18.92
|
||||
860.0 19.00
|
||||
864.8 19.08
|
||||
869.5 19.16
|
||||
874.3 19.23
|
||||
879.0 19.31
|
||||
883.8 19.39
|
||||
888.5 19.46
|
||||
893.3 19.54
|
||||
898.0 19.62
|
||||
902.8 19.69
|
||||
907.5 19.77
|
||||
912.3 19.85
|
||||
917.0 19.92
|
||||
921.8 20.00
|
||||
926.5 20.08
|
||||
931.3 20.15
|
||||
936.0 20.23
|
||||
940.8 20.30
|
||||
945.5 20.38
|
||||
950.3 20.46
|
||||
955.0 20.53
|
||||
959.8 20.61
|
||||
964.5 20.69
|
||||
969.3 20.76
|
||||
974.0 20.84
|
||||
978.8 20.91
|
||||
983.5 20.99
|
||||
988.3 21.06
|
||||
993.0 21.14
|
||||
997.8 21.22
|
||||
1002.5 21.29
|
||||
1007.3 21.37
|
||||
1012.0 21.44
|
||||
1016.8 21.52
|
||||
1021.5 21.59
|
||||
1026.3 21.67
|
||||
1031.0 21.74
|
||||
1035.8 21.82
|
||||
1040.5 21.89
|
||||
1045.3 21.97
|
||||
1050.0 22.04
|
||||
1054.8 22.12
|
||||
1059.5 22.19
|
||||
1064.3 22.27
|
||||
1069.0 22.34
|
||||
1073.8 22.42
|
||||
1078.5 22.49
|
||||
1083.3 22.57
|
||||
1088.0 22.64
|
||||
1092.8 22.72
|
||||
1097.5 22.79
|
||||
1102.3 22.87
|
||||
1107.0 22.94
|
||||
1111.8 23.02
|
||||
1116.5 23.09
|
||||
1121.3 23.17
|
||||
1126.0 23.24
|
||||
1130.8 23.31
|
||||
1135.5 23.39
|
||||
1140.3 23.46
|
||||
1145.0 23.54
|
||||
1149.8 23.61
|
||||
1154.5 23.69
|
||||
1159.3 23.76
|
||||
1164.0 23.83
|
||||
1168.8 23.91
|
||||
1173.5 23.98
|
||||
1178.3 24.06
|
||||
1183.0 24.13
|
||||
1187.8 24.20
|
||||
1192.5 24.28
|
||||
1197.3 24.35
|
||||
1202.0 24.43
|
||||
1206.8 24.50
|
||||
1211.5 24.57
|
||||
1216.3 24.65
|
||||
1221.0 24.72
|
||||
1225.8 24.79
|
||||
1230.5 24.87
|
||||
1235.3 24.94
|
||||
1240.0 25.01
|
||||
1244.8 25.09
|
||||
1249.5 25.16
|
||||
1254.3 25.23
|
||||
1259.0 25.31
|
||||
1263.8 25.38
|
||||
1268.5 25.45
|
||||
1273.3 25.53
|
||||
1278.0 25.60
|
||||
1282.8 25.67
|
||||
1287.5 25.75
|
||||
1292.3 25.82
|
||||
1297.0 25.89
|
||||
1301.8 25.97
|
||||
1306.5 26.04
|
||||
1311.3 26.11
|
||||
1316.0 26.18
|
||||
1320.8 26.26
|
||||
1325.5 26.33
|
||||
1330.3 26.40
|
||||
1335.0 26.48
|
||||
1339.8 26.55
|
||||
1344.5 26.62
|
||||
1349.3 26.69
|
||||
1354.0 26.77
|
||||
1358.8 26.84
|
||||
1363.5 26.91
|
||||
1368.3 26.98
|
||||
1373.0 27.06
|
||||
1377.8 27.13
|
||||
1382.5 27.20
|
||||
1387.3 27.27
|
||||
1392.0 27.35
|
||||
1396.8 27.42
|
||||
1401.5 27.49
|
||||
1406.3 27.56
|
||||
1411.0 27.63
|
||||
1415.8 27.71
|
||||
1420.5 27.78
|
||||
1425.3 27.85
|
||||
1430.0 27.92
|
||||
1434.8 28.00
|
||||
1439.5 28.07
|
||||
1444.3 28.14
|
||||
1449.0 28.21
|
||||
1453.8 28.28
|
||||
1458.5 28.35
|
||||
1463.3 28.43
|
||||
1468.0 28.50
|
||||
1472.8 28.57
|
||||
1477.5 28.64
|
||||
1482.3 28.71
|
||||
1487.0 28.79
|
||||
1491.8 28.86
|
||||
1496.5 28.93
|
||||
1501.3 29.00
|
||||
1506.0 29.07
|
||||
1510.8 29.14
|
||||
1515.5 29.21
|
||||
1520.3 29.29
|
||||
1525.0 29.36
|
||||
1529.8 29.43
|
||||
1534.5 29.50
|
||||
1539.3 29.57
|
||||
1544.0 29.64
|
||||
1548.8 29.71
|
||||
1553.5 29.79
|
||||
1558.3 29.86
|
||||
1563.0 29.93
|
||||
1567.8 30.00
|
||||
1572.5 30.07
|
||||
1577.3 30.14
|
||||
1582.0 30.21
|
||||
1586.8 30.28
|
||||
1591.5 30.35
|
||||
1596.3 30.43
|
||||
1601.0 30.50
|
||||
1605.8 30.57
|
||||
1610.5 30.64
|
||||
1615.3 30.71
|
||||
1620.0 30.78
|
||||
1624.8 30.85
|
||||
1629.5 30.92
|
||||
1634.3 30.99
|
||||
1639.0 31.06
|
||||
1643.8 31.13
|
||||
1648.5 31.20
|
||||
1653.3 31.28
|
||||
1658.0 31.35
|
||||
1662.8 31.42
|
||||
1667.5 31.49
|
||||
1672.3 31.56
|
||||
1677.0 31.63
|
||||
1681.8 31.70
|
||||
1686.5 31.77
|
||||
1691.3 31.84
|
||||
1696.0 31.91
|
||||
1700.8 31.98
|
||||
1705.5 32.05
|
||||
1710.3 32.12
|
||||
1715.0 32.19
|
||||
1719.8 32.26
|
||||
1724.5 32.33
|
||||
1729.3 32.40
|
||||
1734.0 32.47
|
||||
1738.8 32.54
|
||||
1743.5 32.61
|
||||
1748.3 32.68
|
||||
1753.0 32.75
|
||||
1757.8 32.82
|
||||
1762.5 32.89
|
||||
1767.3 32.96
|
||||
1772.0 33.03
|
||||
1776.8 33.10
|
||||
1781.5 33.17
|
||||
1786.3 33.24
|
||||
1791.0 33.31
|
||||
1795.8 33.38
|
||||
1800.5 33.45
|
||||
1805.3 33.52
|
||||
1810.0 33.59
|
||||
1814.8 33.66
|
||||
1819.5 33.73
|
||||
1824.3 33.80
|
||||
1829.0 33.87
|
||||
1833.8 33.94
|
||||
1838.5 34.01
|
||||
1843.3 34.08
|
||||
1848.0 34.15
|
||||
1852.8 34.22
|
||||
1857.5 34.29
|
||||
1862.3 34.36
|
||||
1867.0 34.43
|
||||
1871.8 34.50
|
||||
1876.5 34.57
|
||||
1881.3 34.64
|
||||
1886.0 34.71
|
||||
1890.8 34.78
|
||||
1895.5 34.84
|
||||
1900.3 34.91
|
||||
1905.0 34.98
|
||||
1909.8 35.05
|
||||
1914.5 35.12
|
||||
1919.3 35.19
|
||||
1924.0 35.26
|
||||
1928.8 35.33
|
||||
1933.5 35.40
|
||||
1938.3 35.47
|
||||
1943.0 35.54
|
||||
1947.8 35.61
|
||||
1952.5 35.68
|
||||
1957.3 35.74
|
||||
1962.0 35.81
|
||||
1966.8 35.88
|
||||
1971.5 35.95
|
||||
1976.3 36.02
|
||||
1981.0 36.09
|
||||
1985.8 36.16
|
||||
1990.5 36.23
|
||||
1995.3 36.30
|
||||
2000.0 36.36
|
||||
+422
@@ -0,0 +1,422 @@
|
||||
|
||||
ELEMENT:
|
||||
Si
|
||||
|
||||
SOURCE:
|
||||
Tanuma, Powell and Penn
|
||||
Surface Interface Anal. 17 (1991) 911.
|
||||
IMFP values determined from optical data and a theoretical model
|
||||
|
||||
|
||||
ATOMIC WEIGHT: 28.08550
|
||||
|
||||
DENSITY: 2.3290 g/cm**3
|
||||
|
||||
TABULATION:
|
||||
|
||||
______________________________________________________________________________
|
||||
|
||||
Energy IMFP
|
||||
eV Angstroms
|
||||
______________________________________________________________________________
|
||||
50.0 4.07
|
||||
54.9 4.17
|
||||
59.8 4.28
|
||||
64.6 4.40
|
||||
69.5 4.51
|
||||
74.4 4.63
|
||||
79.3 4.75
|
||||
84.1 4.87
|
||||
89.0 4.99
|
||||
93.9 5.12
|
||||
98.8 5.24
|
||||
103.6 5.37
|
||||
108.5 5.49
|
||||
113.4 5.61
|
||||
118.3 5.74
|
||||
123.1 5.86
|
||||
128.0 5.99
|
||||
132.9 6.11
|
||||
137.8 6.23
|
||||
142.6 6.36
|
||||
147.5 6.48
|
||||
152.4 6.60
|
||||
157.3 6.72
|
||||
162.1 6.84
|
||||
167.0 6.97
|
||||
171.9 7.09
|
||||
176.8 7.21
|
||||
181.6 7.33
|
||||
186.5 7.45
|
||||
191.4 7.57
|
||||
196.3 7.69
|
||||
201.1 7.81
|
||||
206.0 7.92
|
||||
210.9 8.04
|
||||
215.8 8.16
|
||||
220.6 8.28
|
||||
225.5 8.39
|
||||
230.4 8.51
|
||||
235.3 8.63
|
||||
240.1 8.74
|
||||
245.0 8.86
|
||||
249.9 8.97
|
||||
254.8 9.09
|
||||
259.6 9.20
|
||||
264.5 9.32
|
||||
269.4 9.43
|
||||
274.3 9.54
|
||||
279.1 9.66
|
||||
284.0 9.77
|
||||
288.9 9.88
|
||||
293.8 10.00
|
||||
298.6 10.11
|
||||
303.5 10.22
|
||||
308.4 10.33
|
||||
313.3 10.44
|
||||
318.1 10.55
|
||||
323.0 10.67
|
||||
327.9 10.78
|
||||
332.8 10.89
|
||||
337.6 11.00
|
||||
342.5 11.11
|
||||
347.4 11.22
|
||||
352.3 11.33
|
||||
357.1 11.43
|
||||
362.0 11.54
|
||||
366.9 11.65
|
||||
371.8 11.76
|
||||
376.6 11.87
|
||||
381.5 11.98
|
||||
386.4 12.08
|
||||
391.3 12.19
|
||||
396.1 12.30
|
||||
401.0 12.41
|
||||
405.9 12.51
|
||||
410.8 12.62
|
||||
415.6 12.73
|
||||
420.5 12.83
|
||||
425.4 12.94
|
||||
430.3 13.05
|
||||
435.1 13.15
|
||||
440.0 13.26
|
||||
444.9 13.36
|
||||
449.8 13.47
|
||||
454.6 13.57
|
||||
459.5 13.68
|
||||
464.4 13.78
|
||||
469.3 13.89
|
||||
474.1 13.99
|
||||
479.0 14.09
|
||||
483.9 14.20
|
||||
488.8 14.30
|
||||
493.6 14.41
|
||||
498.5 14.51
|
||||
503.4 14.61
|
||||
508.3 14.72
|
||||
513.1 14.82
|
||||
518.0 14.92
|
||||
522.9 15.02
|
||||
527.8 15.13
|
||||
532.6 15.23
|
||||
537.5 15.33
|
||||
542.4 15.43
|
||||
547.3 15.54
|
||||
552.1 15.64
|
||||
557.0 15.74
|
||||
561.9 15.84
|
||||
566.8 15.94
|
||||
571.6 16.04
|
||||
576.5 16.14
|
||||
581.4 16.24
|
||||
586.3 16.35
|
||||
591.1 16.45
|
||||
596.0 16.55
|
||||
600.9 16.65
|
||||
605.8 16.75
|
||||
610.6 16.85
|
||||
615.5 16.95
|
||||
620.4 17.05
|
||||
625.3 17.15
|
||||
630.1 17.25
|
||||
635.0 17.35
|
||||
639.9 17.45
|
||||
644.8 17.54
|
||||
649.6 17.64
|
||||
654.5 17.74
|
||||
659.4 17.84
|
||||
664.3 17.94
|
||||
669.1 18.04
|
||||
674.0 18.14
|
||||
678.9 18.24
|
||||
683.8 18.33
|
||||
688.6 18.43
|
||||
693.5 18.53
|
||||
698.4 18.63
|
||||
703.3 18.73
|
||||
708.1 18.82
|
||||
713.0 18.92
|
||||
717.9 19.02
|
||||
722.8 19.12
|
||||
727.6 19.21
|
||||
732.5 19.31
|
||||
737.4 19.41
|
||||
742.3 19.51
|
||||
747.1 19.60
|
||||
752.0 19.70
|
||||
756.9 19.80
|
||||
761.8 19.89
|
||||
766.6 19.99
|
||||
771.5 20.09
|
||||
776.4 20.18
|
||||
781.3 20.28
|
||||
786.1 20.37
|
||||
791.0 20.47
|
||||
795.9 20.57
|
||||
800.8 20.66
|
||||
805.6 20.76
|
||||
810.5 20.85
|
||||
815.4 20.95
|
||||
820.3 21.05
|
||||
825.1 21.14
|
||||
830.0 21.24
|
||||
834.9 21.33
|
||||
839.8 21.43
|
||||
844.6 21.52
|
||||
849.5 21.62
|
||||
854.4 21.71
|
||||
859.3 21.81
|
||||
864.1 21.90
|
||||
869.0 22.00
|
||||
873.9 22.09
|
||||
878.8 22.18
|
||||
883.6 22.28
|
||||
888.5 22.37
|
||||
893.4 22.47
|
||||
898.3 22.56
|
||||
903.1 22.66
|
||||
908.0 22.75
|
||||
912.9 22.84
|
||||
917.8 22.94
|
||||
922.6 23.03
|
||||
927.5 23.12
|
||||
932.4 23.22
|
||||
937.3 23.31
|
||||
942.1 23.41
|
||||
947.0 23.50
|
||||
951.9 23.59
|
||||
956.8 23.69
|
||||
961.6 23.78
|
||||
966.5 23.87
|
||||
971.4 23.96
|
||||
976.3 24.06
|
||||
981.1 24.15
|
||||
986.0 24.24
|
||||
990.9 24.34
|
||||
995.8 24.43
|
||||
1000.6 24.52
|
||||
1005.5 24.61
|
||||
1010.4 24.71
|
||||
1015.3 24.80
|
||||
1020.1 24.89
|
||||
1025.0 24.98
|
||||
1029.9 25.07
|
||||
1034.8 25.17
|
||||
1039.6 25.26
|
||||
1044.5 25.35
|
||||
1049.4 25.44
|
||||
1054.3 25.53
|
||||
1059.1 25.63
|
||||
1064.0 25.72
|
||||
1068.9 25.81
|
||||
1073.8 25.90
|
||||
1078.6 25.99
|
||||
1083.5 26.08
|
||||
1088.4 26.18
|
||||
1093.3 26.27
|
||||
1098.1 26.36
|
||||
1103.0 26.45
|
||||
1107.9 26.54
|
||||
1112.8 26.63
|
||||
1117.6 26.72
|
||||
1122.5 26.81
|
||||
1127.4 26.90
|
||||
1132.3 26.99
|
||||
1137.1 27.09
|
||||
1142.0 27.18
|
||||
1146.9 27.27
|
||||
1151.8 27.36
|
||||
1156.6 27.45
|
||||
1161.5 27.54
|
||||
1166.4 27.63
|
||||
1171.3 27.72
|
||||
1176.1 27.81
|
||||
1181.0 27.90
|
||||
1185.9 27.99
|
||||
1190.8 28.08
|
||||
1195.6 28.17
|
||||
1200.5 28.26
|
||||
1205.4 28.35
|
||||
1210.3 28.44
|
||||
1215.1 28.53
|
||||
1220.0 28.62
|
||||
1224.9 28.71
|
||||
1229.8 28.80
|
||||
1234.6 28.89
|
||||
1239.5 28.98
|
||||
1244.4 29.07
|
||||
1249.3 29.16
|
||||
1254.1 29.25
|
||||
1259.0 29.34
|
||||
1263.9 29.42
|
||||
1268.8 29.51
|
||||
1273.6 29.60
|
||||
1278.5 29.69
|
||||
1283.4 29.78
|
||||
1288.3 29.87
|
||||
1293.1 29.96
|
||||
1298.0 30.05
|
||||
1302.9 30.14
|
||||
1307.8 30.23
|
||||
1312.6 30.31
|
||||
1317.5 30.40
|
||||
1322.4 30.49
|
||||
1327.3 30.58
|
||||
1332.1 30.67
|
||||
1337.0 30.76
|
||||
1341.9 30.85
|
||||
1346.8 30.93
|
||||
1351.6 31.02
|
||||
1356.5 31.11
|
||||
1361.4 31.20
|
||||
1366.3 31.29
|
||||
1371.1 31.38
|
||||
1376.0 31.46
|
||||
1380.9 31.55
|
||||
1385.8 31.64
|
||||
1390.6 31.73
|
||||
1395.5 31.82
|
||||
1400.4 31.90
|
||||
1405.3 31.99
|
||||
1410.1 32.08
|
||||
1415.0 32.17
|
||||
1419.9 32.26
|
||||
1424.8 32.34
|
||||
1429.6 32.43
|
||||
1434.5 32.52
|
||||
1439.4 32.61
|
||||
1444.3 32.69
|
||||
1449.1 32.78
|
||||
1454.0 32.87
|
||||
1458.9 32.96
|
||||
1463.8 33.04
|
||||
1468.6 33.13
|
||||
1473.5 33.22
|
||||
1478.4 33.30
|
||||
1483.3 33.39
|
||||
1488.1 33.48
|
||||
1493.0 33.57
|
||||
1497.9 33.65
|
||||
1502.8 33.74
|
||||
1507.6 33.83
|
||||
1512.5 33.91
|
||||
1517.4 34.00
|
||||
1522.3 34.09
|
||||
1527.1 34.17
|
||||
1532.0 34.26
|
||||
1536.9 34.35
|
||||
1541.8 34.43
|
||||
1546.6 34.52
|
||||
1551.5 34.61
|
||||
1556.4 34.69
|
||||
1561.3 34.78
|
||||
1566.1 34.87
|
||||
1571.0 34.95
|
||||
1575.9 35.04
|
||||
1580.8 35.13
|
||||
1585.6 35.21
|
||||
1590.5 35.30
|
||||
1595.4 35.39
|
||||
1600.3 35.47
|
||||
1605.1 35.56
|
||||
1610.0 35.64
|
||||
1614.9 35.73
|
||||
1619.8 35.82
|
||||
1624.6 35.90
|
||||
1629.5 35.99
|
||||
1634.4 36.07
|
||||
1639.3 36.16
|
||||
1644.1 36.24
|
||||
1649.0 36.33
|
||||
1653.9 36.42
|
||||
1658.8 36.50
|
||||
1663.6 36.59
|
||||
1668.5 36.67
|
||||
1673.4 36.76
|
||||
1678.3 36.84
|
||||
1683.1 36.93
|
||||
1688.0 37.02
|
||||
1692.9 37.10
|
||||
1697.8 37.19
|
||||
1702.6 37.27
|
||||
1707.5 37.36
|
||||
1712.4 37.44
|
||||
1717.3 37.53
|
||||
1722.1 37.61
|
||||
1727.0 37.70
|
||||
1731.9 37.78
|
||||
1736.8 37.87
|
||||
1741.6 37.95
|
||||
1746.5 38.04
|
||||
1751.4 38.12
|
||||
1756.3 38.21
|
||||
1761.1 38.29
|
||||
1766.0 38.38
|
||||
1770.9 38.46
|
||||
1775.8 38.55
|
||||
1780.6 38.63
|
||||
1785.5 38.72
|
||||
1790.4 38.80
|
||||
1795.3 38.89
|
||||
1800.1 38.97
|
||||
1805.0 39.06
|
||||
1809.9 39.14
|
||||
1814.8 39.23
|
||||
1819.6 39.31
|
||||
1824.5 39.39
|
||||
1829.4 39.48
|
||||
1834.3 39.56
|
||||
1839.1 39.65
|
||||
1844.0 39.73
|
||||
1848.9 39.82
|
||||
1853.8 39.90
|
||||
1858.6 39.99
|
||||
1863.5 40.07
|
||||
1868.4 40.15
|
||||
1873.3 40.24
|
||||
1878.1 40.32
|
||||
1883.0 40.41
|
||||
1887.9 40.49
|
||||
1892.8 40.57
|
||||
1897.6 40.66
|
||||
1902.5 40.74
|
||||
1907.4 40.83
|
||||
1912.3 40.91
|
||||
1917.1 40.99
|
||||
1922.0 41.08
|
||||
1926.9 41.16
|
||||
1931.8 41.25
|
||||
1936.6 41.33
|
||||
1941.5 41.41
|
||||
1946.4 41.50
|
||||
1951.3 41.58
|
||||
1956.1 41.66
|
||||
1961.0 41.75
|
||||
1965.9 41.83
|
||||
1970.8 41.92
|
||||
1975.6 42.00
|
||||
1980.5 42.08
|
||||
1985.4 42.17
|
||||
1990.3 42.25
|
||||
1995.1 42.33
|
||||
2000.0 42.42
|
||||
+422
@@ -0,0 +1,422 @@
|
||||
|
||||
ELEMENT:
|
||||
Si
|
||||
|
||||
SOURCE:
|
||||
Tung et al.
|
||||
US Air Force Report RADC-TR-76-125 (April 1976)
|
||||
IMFP values determined from optical data and a theoretical model
|
||||
|
||||
|
||||
ATOMIC WEIGHT: 28.08550
|
||||
|
||||
DENSITY: 2.3290 g/cm**3
|
||||
|
||||
TABULATION:
|
||||
|
||||
______________________________________________________________________________
|
||||
|
||||
Energy IMFP
|
||||
eV Angstroms
|
||||
______________________________________________________________________________
|
||||
40.0 1.38
|
||||
64.9 2.08
|
||||
89.8 2.73
|
||||
114.7 3.35
|
||||
139.6 3.95
|
||||
164.5 4.53
|
||||
189.4 5.10
|
||||
214.3 5.65
|
||||
239.2 6.20
|
||||
264.1 6.74
|
||||
289.0 7.27
|
||||
313.9 7.79
|
||||
338.8 8.30
|
||||
363.7 8.81
|
||||
388.6 9.31
|
||||
413.5 9.81
|
||||
438.4 10.30
|
||||
463.3 10.79
|
||||
488.2 11.27
|
||||
513.1 11.75
|
||||
538.0 12.23
|
||||
562.9 12.70
|
||||
587.8 13.17
|
||||
612.7 13.64
|
||||
637.6 14.10
|
||||
662.5 14.56
|
||||
687.4 15.02
|
||||
712.3 15.47
|
||||
737.2 15.93
|
||||
762.1 16.38
|
||||
787.0 16.82
|
||||
811.9 17.27
|
||||
836.8 17.71
|
||||
861.7 18.15
|
||||
886.6 18.59
|
||||
911.5 19.03
|
||||
936.4 19.46
|
||||
961.3 19.90
|
||||
986.2 20.33
|
||||
1011.1 20.76
|
||||
1036.0 21.18
|
||||
1060.9 21.61
|
||||
1085.8 22.03
|
||||
1110.7 22.46
|
||||
1135.6 22.88
|
||||
1160.5 23.30
|
||||
1185.4 23.72
|
||||
1210.3 24.13
|
||||
1235.2 24.55
|
||||
1260.1 24.96
|
||||
1285.0 25.37
|
||||
1309.9 25.79
|
||||
1334.8 26.20
|
||||
1359.7 26.61
|
||||
1384.6 27.01
|
||||
1409.5 27.42
|
||||
1434.4 27.82
|
||||
1459.3 28.23
|
||||
1484.2 28.63
|
||||
1509.1 29.03
|
||||
1534.0 29.44
|
||||
1558.9 29.84
|
||||
1583.8 30.23
|
||||
1608.7 30.63
|
||||
1633.6 31.03
|
||||
1658.5 31.43
|
||||
1683.4 31.82
|
||||
1708.3 32.21
|
||||
1733.2 32.61
|
||||
1758.1 33.00
|
||||
1783.0 33.39
|
||||
1807.9 33.78
|
||||
1832.8 34.17
|
||||
1857.7 34.56
|
||||
1882.6 34.95
|
||||
1907.5 35.33
|
||||
1932.4 35.72
|
||||
1957.3 36.11
|
||||
1982.2 36.49
|
||||
2007.1 36.87
|
||||
2032.0 37.26
|
||||
2056.9 37.64
|
||||
2081.8 38.02
|
||||
2106.7 38.40
|
||||
2131.6 38.78
|
||||
2156.5 39.16
|
||||
2181.4 39.54
|
||||
2206.3 39.92
|
||||
2231.2 40.30
|
||||
2256.1 40.67
|
||||
2281.0 41.05
|
||||
2305.9 41.42
|
||||
2330.8 41.80
|
||||
2355.7 42.17
|
||||
2380.6 42.55
|
||||
2405.5 42.92
|
||||
2430.4 43.29
|
||||
2455.3 43.66
|
||||
2480.2 44.03
|
||||
2505.1 44.40
|
||||
2530.0 44.77
|
||||
2554.9 45.14
|
||||
2579.8 45.51
|
||||
2604.7 45.88
|
||||
2629.6 46.24
|
||||
2654.5 46.61
|
||||
2679.4 46.98
|
||||
2704.3 47.34
|
||||
2729.2 47.71
|
||||
2754.1 48.07
|
||||
2779.0 48.44
|
||||
2803.9 48.80
|
||||
2828.8 49.16
|
||||
2853.7 49.53
|
||||
2878.6 49.89
|
||||
2903.5 50.25
|
||||
2928.4 50.61
|
||||
2953.3 50.97
|
||||
2978.2 51.33
|
||||
3003.1 51.69
|
||||
3028.0 52.05
|
||||
3052.9 52.41
|
||||
3077.8 52.77
|
||||
3102.7 53.12
|
||||
3127.6 53.48
|
||||
3152.5 53.84
|
||||
3177.4 54.19
|
||||
3202.3 54.55
|
||||
3227.2 54.90
|
||||
3252.1 55.26
|
||||
3277.0 55.61
|
||||
3301.9 55.97
|
||||
3326.8 56.32
|
||||
3351.7 56.67
|
||||
3376.6 57.03
|
||||
3401.5 57.38
|
||||
3426.4 57.73
|
||||
3451.3 58.08
|
||||
3476.2 58.43
|
||||
3501.1 58.78
|
||||
3526.0 59.13
|
||||
3550.9 59.48
|
||||
3575.8 59.83
|
||||
3600.7 60.18
|
||||
3625.6 60.53
|
||||
3650.5 60.88
|
||||
3675.4 61.23
|
||||
3700.3 61.58
|
||||
3725.2 61.92
|
||||
3750.1 62.27
|
||||
3775.0 62.62
|
||||
3799.9 62.96
|
||||
3824.8 63.31
|
||||
3849.7 63.65
|
||||
3874.6 64.00
|
||||
3899.5 64.34
|
||||
3924.4 64.69
|
||||
3949.3 65.03
|
||||
3974.2 65.37
|
||||
3999.1 65.72
|
||||
4024.0 66.06
|
||||
4048.9 66.40
|
||||
4073.8 66.74
|
||||
4098.7 67.09
|
||||
4123.6 67.43
|
||||
4148.5 67.77
|
||||
4173.4 68.11
|
||||
4198.3 68.45
|
||||
4223.2 68.79
|
||||
4248.1 69.13
|
||||
4273.0 69.47
|
||||
4297.9 69.81
|
||||
4322.8 70.15
|
||||
4347.7 70.49
|
||||
4372.6 70.82
|
||||
4397.5 71.16
|
||||
4422.4 71.50
|
||||
4447.3 71.84
|
||||
4472.2 72.17
|
||||
4497.1 72.51
|
||||
4522.0 72.85
|
||||
4546.9 73.18
|
||||
4571.8 73.52
|
||||
4596.7 73.85
|
||||
4621.6 74.19
|
||||
4646.5 74.52
|
||||
4671.4 74.86
|
||||
4696.3 75.19
|
||||
4721.2 75.53
|
||||
4746.1 75.86
|
||||
4771.0 76.19
|
||||
4795.9 76.53
|
||||
4820.8 76.86
|
||||
4845.7 77.19
|
||||
4870.6 77.53
|
||||
4895.5 77.86
|
||||
4920.4 78.19
|
||||
4945.3 78.52
|
||||
4970.2 78.85
|
||||
4995.1 79.18
|
||||
5020.0 79.51
|
||||
5044.9 79.84
|
||||
5069.8 80.17
|
||||
5094.7 80.50
|
||||
5119.6 80.83
|
||||
5144.5 81.16
|
||||
5169.4 81.49
|
||||
5194.3 81.82
|
||||
5219.2 82.15
|
||||
5244.1 82.48
|
||||
5269.0 82.81
|
||||
5293.9 83.13
|
||||
5318.8 83.46
|
||||
5343.7 83.79
|
||||
5368.6 84.12
|
||||
5393.5 84.44
|
||||
5418.4 84.77
|
||||
5443.3 85.10
|
||||
5468.2 85.42
|
||||
5493.1 85.75
|
||||
5518.0 86.07
|
||||
5542.9 86.40
|
||||
5567.8 86.73
|
||||
5592.7 87.05
|
||||
5617.6 87.37
|
||||
5642.5 87.70
|
||||
5667.4 88.02
|
||||
5692.3 88.35
|
||||
5717.2 88.67
|
||||
5742.1 89.00
|
||||
5767.0 89.32
|
||||
5791.9 89.64
|
||||
5816.8 89.96
|
||||
5841.7 90.29
|
||||
5866.6 90.61
|
||||
5891.5 90.93
|
||||
5916.4 91.25
|
||||
5941.3 91.58
|
||||
5966.2 91.90
|
||||
5991.1 92.22
|
||||
6016.0 92.54
|
||||
6040.9 92.86
|
||||
6065.8 93.18
|
||||
6090.7 93.50
|
||||
6115.6 93.82
|
||||
6140.5 94.14
|
||||
6165.4 94.46
|
||||
6190.3 94.78
|
||||
6215.2 95.10
|
||||
6240.1 95.42
|
||||
6265.0 95.74
|
||||
6289.9 96.06
|
||||
6314.8 96.38
|
||||
6339.7 96.70
|
||||
6364.6 97.01
|
||||
6389.5 97.33
|
||||
6414.4 97.65
|
||||
6439.3 97.97
|
||||
6464.2 98.28
|
||||
6489.1 98.60
|
||||
6514.0 98.92
|
||||
6538.9 99.24
|
||||
6563.8 99.55
|
||||
6588.7 99.87
|
||||
6613.6 100.19
|
||||
6638.5 100.50
|
||||
6663.4 100.82
|
||||
6688.3 101.13
|
||||
6713.2 101.45
|
||||
6738.1 101.76
|
||||
6763.0 102.08
|
||||
6787.9 102.39
|
||||
6812.8 102.71
|
||||
6837.7 103.02
|
||||
6862.6 103.34
|
||||
6887.5 103.65
|
||||
6912.4 103.97
|
||||
6937.3 104.28
|
||||
6962.2 104.59
|
||||
6987.1 104.91
|
||||
7012.0 105.22
|
||||
7036.9 105.53
|
||||
7061.8 105.85
|
||||
7086.7 106.16
|
||||
7111.6 106.47
|
||||
7136.5 106.78
|
||||
7161.4 107.10
|
||||
7186.3 107.41
|
||||
7211.2 107.72
|
||||
7236.1 108.03
|
||||
7261.0 108.34
|
||||
7285.9 108.65
|
||||
7310.8 108.97
|
||||
7335.7 109.28
|
||||
7360.6 109.59
|
||||
7385.5 109.90
|
||||
7410.4 110.21
|
||||
7435.3 110.52
|
||||
7460.2 110.83
|
||||
7485.1 111.14
|
||||
7510.0 111.45
|
||||
7534.9 111.76
|
||||
7559.8 112.07
|
||||
7584.7 112.38
|
||||
7609.6 112.69
|
||||
7634.5 113.00
|
||||
7659.4 113.30
|
||||
7684.3 113.61
|
||||
7709.2 113.92
|
||||
7734.1 114.23
|
||||
7759.0 114.54
|
||||
7783.9 114.85
|
||||
7808.8 115.15
|
||||
7833.7 115.46
|
||||
7858.6 115.77
|
||||
7883.5 116.08
|
||||
7908.4 116.38
|
||||
7933.3 116.69
|
||||
7958.2 117.00
|
||||
7983.1 117.30
|
||||
8008.0 117.61
|
||||
8032.9 117.92
|
||||
8057.8 118.22
|
||||
8082.7 118.53
|
||||
8107.6 118.84
|
||||
8132.5 119.14
|
||||
8157.4 119.45
|
||||
8182.3 119.75
|
||||
8207.2 120.06
|
||||
8232.1 120.36
|
||||
8257.0 120.67
|
||||
8281.9 120.97
|
||||
8306.8 121.28
|
||||
8331.7 121.58
|
||||
8356.6 121.89
|
||||
8381.5 122.19
|
||||
8406.4 122.50
|
||||
8431.3 122.80
|
||||
8456.2 123.10
|
||||
8481.1 123.41
|
||||
8506.0 123.71
|
||||
8530.9 124.01
|
||||
8555.8 124.32
|
||||
8580.7 124.62
|
||||
8605.6 124.92
|
||||
8630.5 125.23
|
||||
8655.4 125.53
|
||||
8680.3 125.83
|
||||
8705.2 126.13
|
||||
8730.1 126.44
|
||||
8755.0 126.74
|
||||
8779.9 127.04
|
||||
8804.8 127.34
|
||||
8829.7 127.65
|
||||
8854.6 127.95
|
||||
8879.5 128.25
|
||||
8904.4 128.55
|
||||
8929.3 128.85
|
||||
8954.2 129.15
|
||||
8979.1 129.45
|
||||
9004.0 129.75
|
||||
9028.9 130.05
|
||||
9053.8 130.36
|
||||
9078.7 130.66
|
||||
9103.6 130.96
|
||||
9128.5 131.26
|
||||
9153.4 131.56
|
||||
9178.3 131.86
|
||||
9203.2 132.16
|
||||
9228.1 132.46
|
||||
9253.0 132.75
|
||||
9277.9 133.05
|
||||
9302.8 133.35
|
||||
9327.7 133.65
|
||||
9352.6 133.95
|
||||
9377.5 134.25
|
||||
9402.4 134.55
|
||||
9427.3 134.85
|
||||
9452.2 135.15
|
||||
9477.1 135.44
|
||||
9502.0 135.74
|
||||
9526.9 136.04
|
||||
9551.8 136.34
|
||||
9576.7 136.64
|
||||
9601.6 136.93
|
||||
9626.5 137.23
|
||||
9651.4 137.53
|
||||
9676.3 137.83
|
||||
9701.2 138.12
|
||||
9726.1 138.42
|
||||
9751.0 138.72
|
||||
9775.9 139.02
|
||||
9800.8 139.31
|
||||
9825.7 139.61
|
||||
9850.6 139.90
|
||||
9875.5 140.20
|
||||
9900.4 140.50
|
||||
9925.3 140.79
|
||||
9950.2 141.09
|
||||
9975.1 141.39
|
||||
10000.0 141.68
|
||||
+425
@@ -0,0 +1,425 @@
|
||||
|
||||
ELEMENT:
|
||||
Si
|
||||
|
||||
SOURCE:
|
||||
Elastic peak electron spectroscopy
|
||||
|
||||
IMFPs determined from the intensity of the elastic peak
|
||||
Multiple elastic scattering simulated by the Monte Carlo method
|
||||
|
||||
COMMENT:
|
||||
Gergely et al., Vacuum 48 (1997) 621
|
||||
|
||||
ATOMIC WEIGHT: 28.08550
|
||||
|
||||
DENSITY: 2.3290 g/cm**3
|
||||
|
||||
TABULATION:
|
||||
|
||||
______________________________________________________________________________
|
||||
|
||||
Energy IMFP
|
||||
eV Angstroms
|
||||
______________________________________________________________________________
|
||||
100.0 4.43
|
||||
112.3 4.86
|
||||
124.5 5.28
|
||||
136.8 5.69
|
||||
149.0 6.09
|
||||
161.3 6.49
|
||||
173.5 6.88
|
||||
185.8 7.26
|
||||
198.0 7.64
|
||||
210.3 8.02
|
||||
222.5 8.39
|
||||
234.8 8.75
|
||||
247.0 9.11
|
||||
259.3 9.47
|
||||
271.5 9.83
|
||||
283.8 10.18
|
||||
296.0 10.53
|
||||
308.3 10.87
|
||||
320.5 11.22
|
||||
332.8 11.56
|
||||
345.0 11.89
|
||||
357.3 12.23
|
||||
369.5 12.56
|
||||
381.8 12.89
|
||||
394.0 13.22
|
||||
406.3 13.55
|
||||
418.5 13.87
|
||||
430.8 14.20
|
||||
443.0 14.52
|
||||
455.3 14.84
|
||||
467.5 15.15
|
||||
479.8 15.47
|
||||
492.0 15.78
|
||||
504.3 16.10
|
||||
516.5 16.41
|
||||
528.8 16.72
|
||||
541.0 17.02
|
||||
553.3 17.33
|
||||
565.5 17.64
|
||||
577.8 17.94
|
||||
590.0 18.24
|
||||
602.3 18.54
|
||||
614.5 18.84
|
||||
626.8 19.14
|
||||
639.0 19.44
|
||||
651.3 19.74
|
||||
663.5 20.03
|
||||
675.8 20.33
|
||||
688.0 20.62
|
||||
700.3 20.91
|
||||
712.5 21.20
|
||||
724.8 21.49
|
||||
737.0 21.78
|
||||
749.3 22.07
|
||||
761.5 22.36
|
||||
773.8 22.64
|
||||
786.0 22.93
|
||||
798.3 23.21
|
||||
810.5 23.49
|
||||
822.8 23.78
|
||||
835.0 24.06
|
||||
847.3 24.34
|
||||
859.5 24.62
|
||||
871.8 24.90
|
||||
884.0 25.18
|
||||
896.3 25.46
|
||||
908.5 25.73
|
||||
920.8 26.01
|
||||
933.0 26.28
|
||||
945.3 26.56
|
||||
957.5 26.83
|
||||
969.8 27.11
|
||||
982.0 27.38
|
||||
994.3 27.65
|
||||
1006.5 27.92
|
||||
1018.8 28.19
|
||||
1031.0 28.46
|
||||
1043.3 28.73
|
||||
1055.5 29.00
|
||||
1067.8 29.27
|
||||
1080.0 29.53
|
||||
1092.3 29.80
|
||||
1104.5 30.07
|
||||
1116.8 30.33
|
||||
1129.0 30.60
|
||||
1141.3 30.86
|
||||
1153.5 31.13
|
||||
1165.8 31.39
|
||||
1178.0 31.65
|
||||
1190.3 31.91
|
||||
1202.5 32.18
|
||||
1214.8 32.44
|
||||
1227.0 32.70
|
||||
1239.3 32.96
|
||||
1251.5 33.22
|
||||
1263.8 33.47
|
||||
1276.0 33.73
|
||||
1288.3 33.99
|
||||
1300.5 34.25
|
||||
1312.8 34.51
|
||||
1325.0 34.76
|
||||
1337.3 35.02
|
||||
1349.5 35.27
|
||||
1361.8 35.53
|
||||
1374.0 35.78
|
||||
1386.3 36.04
|
||||
1398.5 36.29
|
||||
1410.8 36.54
|
||||
1423.0 36.80
|
||||
1435.3 37.05
|
||||
1447.5 37.30
|
||||
1459.8 37.55
|
||||
1472.0 37.80
|
||||
1484.3 38.05
|
||||
1496.5 38.30
|
||||
1508.8 38.55
|
||||
1521.0 38.80
|
||||
1533.3 39.05
|
||||
1545.5 39.30
|
||||
1557.8 39.55
|
||||
1570.0 39.79
|
||||
1582.3 40.04
|
||||
1594.5 40.29
|
||||
1606.8 40.54
|
||||
1619.0 40.78
|
||||
1631.3 41.03
|
||||
1643.5 41.27
|
||||
1655.8 41.52
|
||||
1668.0 41.76
|
||||
1680.3 42.01
|
||||
1692.5 42.25
|
||||
1704.8 42.49
|
||||
1717.0 42.74
|
||||
1729.3 42.98
|
||||
1741.5 43.22
|
||||
1753.8 43.46
|
||||
1766.0 43.71
|
||||
1778.3 43.95
|
||||
1790.5 44.19
|
||||
1802.8 44.43
|
||||
1815.0 44.67
|
||||
1827.3 44.91
|
||||
1839.5 45.15
|
||||
1851.8 45.39
|
||||
1864.0 45.63
|
||||
1876.3 45.87
|
||||
1888.5 46.11
|
||||
1900.8 46.34
|
||||
1913.0 46.58
|
||||
1925.3 46.82
|
||||
1937.5 47.06
|
||||
1949.8 47.29
|
||||
1962.0 47.53
|
||||
1974.3 47.77
|
||||
1986.5 48.00
|
||||
1998.8 48.24
|
||||
2011.0 48.47
|
||||
2023.3 48.71
|
||||
2035.5 48.94
|
||||
2047.8 49.18
|
||||
2060.0 49.41
|
||||
2072.3 49.65
|
||||
2084.5 49.88
|
||||
2096.8 50.11
|
||||
2109.0 50.35
|
||||
2121.3 50.58
|
||||
2133.5 50.81
|
||||
2145.8 51.05
|
||||
2158.0 51.28
|
||||
2170.3 51.51
|
||||
2182.5 51.74
|
||||
2194.8 51.97
|
||||
2207.0 52.20
|
||||
2219.3 52.43
|
||||
2231.5 52.67
|
||||
2243.8 52.90
|
||||
2256.0 53.13
|
||||
2268.3 53.36
|
||||
2280.5 53.59
|
||||
2292.8 53.81
|
||||
2305.0 54.04
|
||||
2317.3 54.27
|
||||
2329.5 54.50
|
||||
2341.8 54.73
|
||||
2354.0 54.96
|
||||
2366.3 55.18
|
||||
2378.5 55.41
|
||||
2390.8 55.64
|
||||
2403.0 55.87
|
||||
2415.3 56.09
|
||||
2427.5 56.32
|
||||
2439.8 56.55
|
||||
2452.0 56.77
|
||||
2464.3 57.00
|
||||
2476.5 57.22
|
||||
2488.8 57.45
|
||||
2501.0 57.68
|
||||
2513.3 57.90
|
||||
2525.5 58.13
|
||||
2537.8 58.35
|
||||
2550.0 58.57
|
||||
2562.3 58.80
|
||||
2574.5 59.02
|
||||
2586.8 59.25
|
||||
2599.0 59.47
|
||||
2611.3 59.69
|
||||
2623.5 59.92
|
||||
2635.8 60.14
|
||||
2648.0 60.36
|
||||
2660.3 60.58
|
||||
2672.5 60.81
|
||||
2684.8 61.03
|
||||
2697.0 61.25
|
||||
2709.3 61.47
|
||||
2721.5 61.69
|
||||
2733.8 61.91
|
||||
2746.0 62.14
|
||||
2758.3 62.36
|
||||
2770.5 62.58
|
||||
2782.8 62.80
|
||||
2795.0 63.02
|
||||
2807.3 63.24
|
||||
2819.5 63.46
|
||||
2831.8 63.68
|
||||
2844.0 63.90
|
||||
2856.3 64.12
|
||||
2868.5 64.33
|
||||
2880.8 64.55
|
||||
2893.0 64.77
|
||||
2905.3 64.99
|
||||
2917.5 65.21
|
||||
2929.8 65.43
|
||||
2942.0 65.65
|
||||
2954.3 65.86
|
||||
2966.5 66.08
|
||||
2978.8 66.30
|
||||
2991.0 66.52
|
||||
3003.3 66.73
|
||||
3015.5 66.95
|
||||
3027.8 67.17
|
||||
3040.0 67.38
|
||||
3052.3 67.60
|
||||
3064.5 67.81
|
||||
3076.8 68.03
|
||||
3089.0 68.25
|
||||
3101.3 68.46
|
||||
3113.5 68.68
|
||||
3125.8 68.89
|
||||
3138.0 69.11
|
||||
3150.3 69.32
|
||||
3162.5 69.54
|
||||
3174.8 69.75
|
||||
3187.0 69.97
|
||||
3199.3 70.18
|
||||
3211.5 70.39
|
||||
3223.8 70.61
|
||||
3236.0 70.82
|
||||
3248.3 71.04
|
||||
3260.5 71.25
|
||||
3272.8 71.46
|
||||
3285.0 71.68
|
||||
3297.3 71.89
|
||||
3309.5 72.10
|
||||
3321.8 72.31
|
||||
3334.0 72.53
|
||||
3346.3 72.74
|
||||
3358.5 72.95
|
||||
3370.8 73.16
|
||||
3383.0 73.37
|
||||
3395.3 73.59
|
||||
3407.5 73.80
|
||||
3419.8 74.01
|
||||
3432.0 74.22
|
||||
3444.3 74.43
|
||||
3456.5 74.64
|
||||
3468.8 74.85
|
||||
3481.0 75.06
|
||||
3493.3 75.27
|
||||
3505.5 75.48
|
||||
3517.8 75.69
|
||||
3530.0 75.90
|
||||
3542.3 76.11
|
||||
3554.5 76.32
|
||||
3566.8 76.53
|
||||
3579.0 76.74
|
||||
3591.3 76.95
|
||||
3603.5 77.16
|
||||
3615.8 77.37
|
||||
3628.0 77.58
|
||||
3640.3 77.79
|
||||
3652.5 78.00
|
||||
3664.8 78.21
|
||||
3677.0 78.41
|
||||
3689.3 78.62
|
||||
3701.5 78.83
|
||||
3713.8 79.04
|
||||
3726.0 79.25
|
||||
3738.3 79.45
|
||||
3750.5 79.66
|
||||
3762.8 79.87
|
||||
3775.0 80.07
|
||||
3787.3 80.28
|
||||
3799.5 80.49
|
||||
3811.8 80.70
|
||||
3824.0 80.90
|
||||
3836.3 81.11
|
||||
3848.5 81.32
|
||||
3860.8 81.52
|
||||
3873.0 81.73
|
||||
3885.3 81.93
|
||||
3897.5 82.14
|
||||
3909.8 82.34
|
||||
3922.0 82.55
|
||||
3934.3 82.76
|
||||
3946.5 82.96
|
||||
3958.8 83.17
|
||||
3971.0 83.37
|
||||
3983.3 83.58
|
||||
3995.5 83.78
|
||||
4007.8 83.99
|
||||
4020.0 84.19
|
||||
4032.3 84.39
|
||||
4044.5 84.60
|
||||
4056.8 84.80
|
||||
4069.0 85.01
|
||||
4081.3 85.21
|
||||
4093.5 85.41
|
||||
4105.8 85.62
|
||||
4118.0 85.82
|
||||
4130.3 86.03
|
||||
4142.5 86.23
|
||||
4154.8 86.43
|
||||
4167.0 86.63
|
||||
4179.3 86.84
|
||||
4191.5 87.04
|
||||
4203.8 87.24
|
||||
4216.0 87.45
|
||||
4228.3 87.65
|
||||
4240.5 87.85
|
||||
4252.8 88.05
|
||||
4265.0 88.26
|
||||
4277.3 88.46
|
||||
4289.5 88.66
|
||||
4301.8 88.86
|
||||
4314.0 89.06
|
||||
4326.3 89.26
|
||||
4338.5 89.47
|
||||
4350.8 89.67
|
||||
4363.0 89.87
|
||||
4375.3 90.07
|
||||
4387.5 90.27
|
||||
4399.8 90.47
|
||||
4412.0 90.67
|
||||
4424.3 90.87
|
||||
4436.5 91.07
|
||||
4448.8 91.27
|
||||
4461.0 91.47
|
||||
4473.3 91.67
|
||||
4485.5 91.87
|
||||
4497.8 92.07
|
||||
4510.0 92.27
|
||||
4522.3 92.47
|
||||
4534.5 92.67
|
||||
4546.8 92.87
|
||||
4559.0 93.07
|
||||
4571.3 93.27
|
||||
4583.5 93.47
|
||||
4595.8 93.67
|
||||
4608.0 93.87
|
||||
4620.3 94.07
|
||||
4632.5 94.26
|
||||
4644.8 94.46
|
||||
4657.0 94.66
|
||||
4669.3 94.86
|
||||
4681.5 95.06
|
||||
4693.8 95.26
|
||||
4706.0 95.45
|
||||
4718.3 95.65
|
||||
4730.5 95.85
|
||||
4742.8 96.05
|
||||
4755.0 96.25
|
||||
4767.3 96.44
|
||||
4779.5 96.64
|
||||
4791.8 96.84
|
||||
4804.0 97.04
|
||||
4816.3 97.23
|
||||
4828.5 97.43
|
||||
4840.8 97.63
|
||||
4853.0 97.82
|
||||
4865.3 98.02
|
||||
4877.5 98.22
|
||||
4889.8 98.41
|
||||
4902.0 98.61
|
||||
4914.3 98.81
|
||||
4926.5 99.00
|
||||
4938.8 99.20
|
||||
4951.0 99.39
|
||||
4963.3 99.59
|
||||
4975.5 99.79
|
||||
4987.8 99.98
|
||||
5000.0 100.18
|
||||
+425
@@ -0,0 +1,425 @@
|
||||
|
||||
ELEMENT:
|
||||
Si
|
||||
|
||||
SOURCE:
|
||||
Elastic peak electron spectroscopy
|
||||
|
||||
IMFPs determined from the intensity of the elastic peak
|
||||
Multiple elastic scattering simulated by the Monte Carlo method
|
||||
|
||||
COMMENT:
|
||||
Lesiak et al., Proc. ECASIA 95, Wiley, Chichester (1996), p. 619
|
||||
|
||||
ATOMIC WEIGHT: 28.08550
|
||||
|
||||
DENSITY: 2.3290 g/cm**3
|
||||
|
||||
TABULATION:
|
||||
|
||||
______________________________________________________________________________
|
||||
|
||||
Energy IMFP
|
||||
eV Angstroms
|
||||
______________________________________________________________________________
|
||||
100.0 4.94
|
||||
103.5 5.07
|
||||
107.0 5.20
|
||||
110.5 5.32
|
||||
114.0 5.45
|
||||
117.5 5.57
|
||||
121.0 5.70
|
||||
124.5 5.82
|
||||
128.0 5.94
|
||||
131.5 6.06
|
||||
135.0 6.18
|
||||
138.5 6.30
|
||||
142.0 6.42
|
||||
145.5 6.53
|
||||
149.0 6.65
|
||||
152.5 6.77
|
||||
156.0 6.88
|
||||
159.5 7.00
|
||||
163.0 7.11
|
||||
166.5 7.22
|
||||
170.0 7.34
|
||||
173.5 7.45
|
||||
177.0 7.56
|
||||
180.5 7.67
|
||||
184.0 7.78
|
||||
187.5 7.89
|
||||
191.0 8.00
|
||||
194.5 8.11
|
||||
198.0 8.22
|
||||
201.5 8.33
|
||||
205.0 8.44
|
||||
208.5 8.54
|
||||
212.0 8.65
|
||||
215.5 8.76
|
||||
219.0 8.86
|
||||
222.5 8.97
|
||||
226.0 9.07
|
||||
229.5 9.18
|
||||
233.0 9.28
|
||||
236.5 9.38
|
||||
240.0 9.49
|
||||
243.5 9.59
|
||||
247.0 9.69
|
||||
250.5 9.79
|
||||
254.0 9.90
|
||||
257.5 10.00
|
||||
261.0 10.10
|
||||
264.5 10.20
|
||||
268.0 10.30
|
||||
271.5 10.40
|
||||
275.0 10.50
|
||||
278.5 10.60
|
||||
282.0 10.70
|
||||
285.5 10.80
|
||||
289.0 10.89
|
||||
292.5 10.99
|
||||
296.0 11.09
|
||||
299.5 11.19
|
||||
303.0 11.29
|
||||
306.5 11.38
|
||||
310.0 11.48
|
||||
313.5 11.58
|
||||
317.0 11.67
|
||||
320.5 11.77
|
||||
324.0 11.86
|
||||
327.5 11.96
|
||||
331.0 12.05
|
||||
334.5 12.15
|
||||
338.0 12.24
|
||||
341.5 12.34
|
||||
345.0 12.43
|
||||
348.5 12.53
|
||||
352.0 12.62
|
||||
355.5 12.71
|
||||
359.0 12.81
|
||||
362.5 12.90
|
||||
366.0 12.99
|
||||
369.5 13.08
|
||||
373.0 13.18
|
||||
376.5 13.27
|
||||
380.0 13.36
|
||||
383.5 13.45
|
||||
387.0 13.54
|
||||
390.5 13.63
|
||||
394.0 13.72
|
||||
397.5 13.82
|
||||
401.0 13.91
|
||||
404.5 14.00
|
||||
408.0 14.09
|
||||
411.5 14.18
|
||||
415.0 14.27
|
||||
418.5 14.36
|
||||
422.0 14.44
|
||||
425.5 14.53
|
||||
429.0 14.62
|
||||
432.5 14.71
|
||||
436.0 14.80
|
||||
439.5 14.89
|
||||
443.0 14.98
|
||||
446.5 15.06
|
||||
450.0 15.15
|
||||
453.5 15.24
|
||||
457.0 15.33
|
||||
460.5 15.42
|
||||
464.0 15.50
|
||||
467.5 15.59
|
||||
471.0 15.68
|
||||
474.5 15.76
|
||||
478.0 15.85
|
||||
481.5 15.94
|
||||
485.0 16.02
|
||||
488.5 16.11
|
||||
492.0 16.19
|
||||
495.5 16.28
|
||||
499.0 16.37
|
||||
502.5 16.45
|
||||
506.0 16.54
|
||||
509.5 16.62
|
||||
513.0 16.71
|
||||
516.5 16.79
|
||||
520.0 16.88
|
||||
523.5 16.96
|
||||
527.0 17.05
|
||||
530.5 17.13
|
||||
534.0 17.21
|
||||
537.5 17.30
|
||||
541.0 17.38
|
||||
544.5 17.46
|
||||
548.0 17.55
|
||||
551.5 17.63
|
||||
555.0 17.72
|
||||
558.5 17.80
|
||||
562.0 17.88
|
||||
565.5 17.96
|
||||
569.0 18.05
|
||||
572.5 18.13
|
||||
576.0 18.21
|
||||
579.5 18.29
|
||||
583.0 18.38
|
||||
586.5 18.46
|
||||
590.0 18.54
|
||||
593.5 18.62
|
||||
597.0 18.70
|
||||
600.5 18.79
|
||||
604.0 18.87
|
||||
607.5 18.95
|
||||
611.0 19.03
|
||||
614.5 19.11
|
||||
618.0 19.19
|
||||
621.5 19.27
|
||||
625.0 19.35
|
||||
628.5 19.44
|
||||
632.0 19.52
|
||||
635.5 19.60
|
||||
639.0 19.68
|
||||
642.5 19.76
|
||||
646.0 19.84
|
||||
649.5 19.92
|
||||
653.0 20.00
|
||||
656.5 20.08
|
||||
660.0 20.16
|
||||
663.5 20.24
|
||||
667.0 20.32
|
||||
670.5 20.39
|
||||
674.0 20.47
|
||||
677.5 20.55
|
||||
681.0 20.63
|
||||
684.5 20.71
|
||||
688.0 20.79
|
||||
691.5 20.87
|
||||
695.0 20.95
|
||||
698.5 21.03
|
||||
702.0 21.10
|
||||
705.5 21.18
|
||||
709.0 21.26
|
||||
712.5 21.34
|
||||
716.0 21.42
|
||||
719.5 21.49
|
||||
723.0 21.57
|
||||
726.5 21.65
|
||||
730.0 21.73
|
||||
733.5 21.81
|
||||
737.0 21.88
|
||||
740.5 21.96
|
||||
744.0 22.04
|
||||
747.5 22.12
|
||||
751.0 22.19
|
||||
754.5 22.27
|
||||
758.0 22.35
|
||||
761.5 22.42
|
||||
765.0 22.50
|
||||
768.5 22.58
|
||||
772.0 22.65
|
||||
775.5 22.73
|
||||
779.0 22.81
|
||||
782.5 22.88
|
||||
786.0 22.96
|
||||
789.5 23.03
|
||||
793.0 23.11
|
||||
796.5 23.19
|
||||
800.0 23.26
|
||||
803.5 23.34
|
||||
807.0 23.41
|
||||
810.5 23.49
|
||||
814.0 23.56
|
||||
817.5 23.64
|
||||
821.0 23.72
|
||||
824.5 23.79
|
||||
828.0 23.87
|
||||
831.5 23.94
|
||||
835.0 24.02
|
||||
838.5 24.09
|
||||
842.0 24.17
|
||||
845.5 24.24
|
||||
849.0 24.32
|
||||
852.5 24.39
|
||||
856.0 24.46
|
||||
859.5 24.54
|
||||
863.0 24.61
|
||||
866.5 24.69
|
||||
870.0 24.76
|
||||
873.5 24.84
|
||||
877.0 24.91
|
||||
880.5 24.98
|
||||
884.0 25.06
|
||||
887.5 25.13
|
||||
891.0 25.21
|
||||
894.5 25.28
|
||||
898.0 25.35
|
||||
901.5 25.43
|
||||
905.0 25.50
|
||||
908.5 25.57
|
||||
912.0 25.65
|
||||
915.5 25.72
|
||||
919.0 25.79
|
||||
922.5 25.87
|
||||
926.0 25.94
|
||||
929.5 26.01
|
||||
933.0 26.09
|
||||
936.5 26.16
|
||||
940.0 26.23
|
||||
943.5 26.30
|
||||
947.0 26.38
|
||||
950.5 26.45
|
||||
954.0 26.52
|
||||
957.5 26.59
|
||||
961.0 26.67
|
||||
964.5 26.74
|
||||
968.0 26.81
|
||||
971.5 26.88
|
||||
975.0 26.96
|
||||
978.5 27.03
|
||||
982.0 27.10
|
||||
985.5 27.17
|
||||
989.0 27.24
|
||||
992.5 27.32
|
||||
996.0 27.39
|
||||
999.5 27.46
|
||||
1003.0 27.53
|
||||
1006.5 27.60
|
||||
1010.0 27.67
|
||||
1013.5 27.75
|
||||
1017.0 27.82
|
||||
1020.5 27.89
|
||||
1024.0 27.96
|
||||
1027.5 28.03
|
||||
1031.0 28.10
|
||||
1034.5 28.17
|
||||
1038.0 28.24
|
||||
1041.5 28.31
|
||||
1045.0 28.39
|
||||
1048.5 28.46
|
||||
1052.0 28.53
|
||||
1055.5 28.60
|
||||
1059.0 28.67
|
||||
1062.5 28.74
|
||||
1066.0 28.81
|
||||
1069.5 28.88
|
||||
1073.0 28.95
|
||||
1076.5 29.02
|
||||
1080.0 29.09
|
||||
1083.5 29.16
|
||||
1087.0 29.23
|
||||
1090.5 29.30
|
||||
1094.0 29.37
|
||||
1097.5 29.44
|
||||
1101.0 29.51
|
||||
1104.5 29.58
|
||||
1108.0 29.65
|
||||
1111.5 29.72
|
||||
1115.0 29.79
|
||||
1118.5 29.86
|
||||
1122.0 29.93
|
||||
1125.5 30.00
|
||||
1129.0 30.07
|
||||
1132.5 30.14
|
||||
1136.0 30.21
|
||||
1139.5 30.28
|
||||
1143.0 30.35
|
||||
1146.5 30.41
|
||||
1150.0 30.48
|
||||
1153.5 30.55
|
||||
1157.0 30.62
|
||||
1160.5 30.69
|
||||
1164.0 30.76
|
||||
1167.5 30.83
|
||||
1171.0 30.90
|
||||
1174.5 30.97
|
||||
1178.0 31.03
|
||||
1181.5 31.10
|
||||
1185.0 31.17
|
||||
1188.5 31.24
|
||||
1192.0 31.31
|
||||
1195.5 31.38
|
||||
1199.0 31.45
|
||||
1202.5 31.51
|
||||
1206.0 31.58
|
||||
1209.5 31.65
|
||||
1213.0 31.72
|
||||
1216.5 31.79
|
||||
1220.0 31.86
|
||||
1223.5 31.92
|
||||
1227.0 31.99
|
||||
1230.5 32.06
|
||||
1234.0 32.13
|
||||
1237.5 32.20
|
||||
1241.0 32.26
|
||||
1244.5 32.33
|
||||
1248.0 32.40
|
||||
1251.5 32.47
|
||||
1255.0 32.53
|
||||
1258.5 32.60
|
||||
1262.0 32.67
|
||||
1265.5 32.74
|
||||
1269.0 32.80
|
||||
1272.5 32.87
|
||||
1276.0 32.94
|
||||
1279.5 33.01
|
||||
1283.0 33.07
|
||||
1286.5 33.14
|
||||
1290.0 33.21
|
||||
1293.5 33.27
|
||||
1297.0 33.34
|
||||
1300.5 33.41
|
||||
1304.0 33.48
|
||||
1307.5 33.54
|
||||
1311.0 33.61
|
||||
1314.5 33.68
|
||||
1318.0 33.74
|
||||
1321.5 33.81
|
||||
1325.0 33.88
|
||||
1328.5 33.94
|
||||
1332.0 34.01
|
||||
1335.5 34.08
|
||||
1339.0 34.14
|
||||
1342.5 34.21
|
||||
1346.0 34.28
|
||||
1349.5 34.34
|
||||
1353.0 34.41
|
||||
1356.5 34.47
|
||||
1360.0 34.54
|
||||
1363.5 34.61
|
||||
1367.0 34.67
|
||||
1370.5 34.74
|
||||
1374.0 34.81
|
||||
1377.5 34.87
|
||||
1381.0 34.94
|
||||
1384.5 35.00
|
||||
1388.0 35.07
|
||||
1391.5 35.14
|
||||
1395.0 35.20
|
||||
1398.5 35.27
|
||||
1402.0 35.33
|
||||
1405.5 35.40
|
||||
1409.0 35.46
|
||||
1412.5 35.53
|
||||
1416.0 35.60
|
||||
1419.5 35.66
|
||||
1423.0 35.73
|
||||
1426.5 35.79
|
||||
1430.0 35.86
|
||||
1433.5 35.92
|
||||
1437.0 35.99
|
||||
1440.5 36.05
|
||||
1444.0 36.12
|
||||
1447.5 36.18
|
||||
1451.0 36.25
|
||||
1454.5 36.31
|
||||
1458.0 36.38
|
||||
1461.5 36.44
|
||||
1465.0 36.51
|
||||
1468.5 36.57
|
||||
1472.0 36.64
|
||||
1475.5 36.70
|
||||
1479.0 36.77
|
||||
1482.5 36.83
|
||||
1486.0 36.90
|
||||
1489.5 36.96
|
||||
1493.0 37.03
|
||||
1496.5 37.09
|
||||
1500.0 37.16
|
||||
Loaded 100 of 1357 files, more files were not shown because too many files have changed in this diff.
Show more
Reference in new issue
Block a user