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:
wxchen
2023-08-29 23:06:40 +08:00
commit ba13a3f053
69 changed files with 1320863 additions and 0 deletions

View 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() slm 1280*1024
[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; % rho
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-255ApertureN
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 = ['C:\Users\simin\Desktop\_SiC1280X1024_8\', 'd=', num2str(d_nom), 'um', '_F=', num2str(F), '.bmp'];
imwrite(uint8(PhaseHolo), filename); % % % % % % % % % % % % % % % % % % % % % % % % % %8