Initial commit
new file: Copy_of_Exz_with_hamamatsu.m new file: Exz_mod.m new file: Exz_with_hamamatsu.m new file: GS.m new file: MRAF.m new file: MRAF_8bit.bmp new file: PSF of spherical aberration/Exz.m new file: PSF of spherical aberration/Thumbs.db new file: PSF of spherical aberration/josaa-12-10-2136.pdf new file: PSF of spherical aberration/josaa-12-2-325.pdf new file: PSF of spherical aberration/main.m new file: "PSF of spherical aberration/\351\207\215\350\246\201psf\346\226\207\347\214\256.pdf" new file: Spherical_aberration_SiminCao.m new file: gen_m.m new file: gen_rectangle.m new file: hamamatsu.m new file: m.tif new file: m2.tif new file: photo/50-30.BMP new file: photo/8bit_50-30.BMP new file: photo/8bit_ellipse.BMP new file: photo/convert_8bit.exe new file: photo/ellipse.BMP new file: rect_MRAF_SiminCao.m new file: rectangle.tif new file: size/.vscode/settings.json new file: size/black_c_20THSize_4f_1.064lamda.bmp new file: size/black_c_30THSize_4f_61.064lamda.bmp new file: size/black_output.bmp new file: size/black_rect_30THSize_4f_1.064lamda.bmp new file: size/black_rect_30THSize_4f_6_1.064lamda.bmp new file: size/c_20THSize_4f_1.064lamda.bmp new file: size/c_20THSize_4f_1.064lamda_resize.bmp new file: size/c_30THSize_4f_61.064lamda.bmp new file: size/c_30THSize_4f_61.064lamda_resize.bmp new file: size/noisy_output.bmp new file: size/output.bmp new file: size/rect_30THSize_4f_1.064lamda.bmp new file: size/rect_30THSize_4f_1.064lamda_resize.bmp new file: size/rect_30THSize_4f_6_1.064lamda.bmp new file: size/rect_30THSize_4f_6_1.064lamda_resize.bmp new file: size/resize_4.7z new file: size/resize_black.7z new file: size/size copy.py new file: size/size.py new file: size/wave.7z new file: sp.m new file: to8bit.m new file: trans_8bit.zip new file: wavef/A.bmp new file: wavef/B_linear.bmp new file: wavef/PHA SID230828-2003.csv new file: wavef/PHA_bilinear_1280_1024.csv new file: wavef/PHA_bilinear_reversal.csv new file: wavef/PHA_output_1280_1024.csv new file: wavef/Untitled-1.py new file: wavef/filled.bmp new file: wavef/from PIL import Image.py new file: wavef/matrix_filled.csv new file: wavef/output.bmp new file: wavef/output.csv new file: wavef/output2.bmp new file: wavef/pha_wavef copy.py new file: wavef/pha_wavef.py new file: wavef/pha_wavef_step.py new file: wavef/wavef.zip new file: wavef/xy_values.csv new file: "wavef/\346\226\260\345\273\272\346\226\207\344\273\266\345\244\271/matrix.csv" new file: "wavef/\346\226\260\345\273\272\346\226\207\344\273\266\345\244\271/matrix_filled.csv"
This commit is contained in:
65
sp.m
Normal file
65
sp.m
Normal file
@@ -0,0 +1,65 @@
|
||||
clc
|
||||
clear
|
||||
lambda=1.064; %um
|
||||
n1=1;
|
||||
n2=2.585;
|
||||
d_nom=590; %um
|
||||
NA=0.65;
|
||||
alpha=asin(NA);
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%定义参数
|
||||
|
||||
Phi_sa=@(rho) -2*pi*d_nom*(sqrt(n2^2-(NA*rho).^2)-sqrt(n1^2-(NA*rho).^2))/lambda;
|
||||
Dn2=@(rho) 2*pi*d_nom*sqrt(n2^2-(NA*rho).^2)/lambda;
|
||||
|
||||
phi_ave=integral(@(rho) rho.*Phi_sa(rho),0,1)/integral(@(rho) rho,0,1);
|
||||
dn2_ave=integral(@(rho) rho.*Dn2(rho),0,1)/integral(@(rho) rho,0,1);
|
||||
|
||||
phi_sa_p=@(rho) Phi_sa(rho)-phi_ave;
|
||||
dn2_p=@(rho) Dn2(rho)-dn2_ave;
|
||||
|
||||
s=1/(1+integral(@(rho) phi_sa_p(rho).*dn2_p(rho).*rho,0,1)/integral(@(rho) dn2_p(rho).*dn2_p(rho).*rho,0,1));
|
||||
R=1/s;
|
||||
Phi_SA_hat=@(rho) 2*pi*d_nom*(s*sqrt(n1^2-(NA*rho).^2)-sqrt(n2^2-(NA*rho).^2))./(lambda*s);
|
||||
Phi_SA_hat=@(rho) Phi_SA_hat(rho)-Phi_SA_hat(0)+mod(Phi_SA_hat(0),2*pi)-2*pi;
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%不同rho条件下相位补偿值(列出文献公式)
|
||||
|
||||
pixelx=1280;
|
||||
pixely=1024;
|
||||
F=1;
|
||||
pixel=F*pixely;
|
||||
%%%%%%%%%%%%%%%%%%%%%%%设置相位图像素数目,设置调制区域线性占比F(填充因子)
|
||||
|
||||
[x,y]=meshgrid(1:pixelx,1:pixely);
|
||||
x=x-(pixelx+1)/2;
|
||||
y=y-(pixely+1)/2;
|
||||
D=(pixel-1)/2;
|
||||
Aperture=(x.^2+y.^2).*4./pixel.^2;
|
||||
Aperture(Aperture<=1)=1;
|
||||
Aperture(Aperture>1)=0;
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 设置约束孔径Aperture
|
||||
rho=(sqrt(x.^2+y.^2)/D).*Aperture;
|
||||
|
||||
%Phase=Phi_SA_hat(rho);
|
||||
offset=-min(min(Phi_SA_hat(rho)));
|
||||
Phase=Phi_SA_hat(rho)+offset;%相位数值转变为全正
|
||||
Phase=mod(Phase,2*pi); %相位折叠
|
||||
PhaseHolo=round((Phase*255/(2*pi))).*Aperture; %相位归一化到0-255
|
||||
|
||||
ApertureN=(x.^2+y.^2).*4./pixel.^2;
|
||||
ApertureN(ApertureN<=1)=0;
|
||||
ApertureN(ApertureN>1)=1;
|
||||
Noise=round(255*rand(pixely,pixelx)).*ApertureN;
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%生成0-255间随机噪声,并设置相反约束孔径ApertureN
|
||||
|
||||
PhaseHolo=PhaseHolo+Noise;%添加随机噪声后的相位图
|
||||
|
||||
figure(1)
|
||||
imshow(PhaseHolo,[])
|
||||
figure(2)
|
||||
r1=linspace(-1,1,pixelx);
|
||||
%plot(r1,PhaseHolo(512,:))
|
||||
plot(r1,PhaseHolo(512,:)*2*pi/255,'r')
|
||||
axis([-1,1,0,6*pi])
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%水平直径上的相位分布
|
||||
filename=['','d=',num2str(d_nom),'um','_F=',num2str(F),'.bmp'];
|
||||
imwrite(uint8(PhaseHolo),filename); %%%%%%%%%%%%%%%%%%%%%%%%%%导出8位相位图存储
|
||||
Reference in New Issue
Block a user