📄 ctemincohmtf.m
字号:
function mtf = ctemincohmtf(k,params,type)
%
% MATLAB function to calculate CTEM bright field
% contrast transfer function with partial coherence
% for weak phase objects
%
% function mtf = ctemincohmtf(k,params,type)
%
% input array k has the spatial frequency values (in 1/A)
% input array params has the optical parameters
% params = [Cs, df, kev, ddf, beta]
% input type = 0 for phase contrast
% and 1 for amplitude contrast
% output array contains the transfer function vs k
%
% params ={ Cs, df, kev, ddf, beta, amax}
% params.Cs = spherical aberration (in mm)
% params.df = defcocus (in Angstroms)
% params.kev = electron energy (in keV)
% params.ddf = chromatic aberation defocus spread (in Angstroms)
% params.beta = spread in illumination angles (in mrad)
%
% rewritten and corrected 5-Jun-2006 Huolin Xin
Cs = params.Cs*1.0e7;
df = params.df;
kev = params.kev;
ddf = params.ddf;
beta = params.beta*0.001;
%calculated of electron wave legnth
%mo = 511.0; % electron rest mass in keV
%hc = 12.3986; % in keV-Angstroms
%wav = (2*mo)+kev;
%wav = hc/sqrt(wav*kev);
wav = 12.3986/sqrt((2*511.0+kev)*kev); %electron wave length
K = (Cs*wav^3)^0.25.*k; %dimensionless k
Ks = (Cs*wav^3)^0.25*beta/wav; %dimensionless k straggle
D = df/sqrt(Cs*wav); %dimensionless defocus
Ds = ddf/sqrt(Cs*wav); %dimensionless defocus straggle
E = pi^2*Ks^2*Ds^2; %dimensionless epsilon
K2 = K.*K; %K^2
base = 1+E.*K2; %1+E*K^2
prefactor = 1./sqrt(base); %1/(1+E*K^2)^(1/2)
wr = pi.*K2./base.*(0.5.*K2.*(1-E.*K2)-D);
wi = prefactor.*exp(-(pi^2*Ks^2.*(K2-D).^2.*K2+0.25*pi^2.*Ds^2.*K2.^2)./base);
if type == 0
mtf = sin(wr).*wi;
else
mtf = cos(wr).*wi;
end;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -