function [p1]=EIA2HOLO(EIA,Lens_Numb) tic %f=imread('EI_150.tif'); f=EIA; lensnumber=Lens_Numb; %<--- input the lens number a=size(f); p1=zeros(a(1),a(2)); % a matrix g=a(1)/lensnumber; cropnumber=lensnumber; y=g; % n=0; %dummy for d1= 1:cropnumber; for d2=1:cropnumber; h=f(1+(d1-1)*y:d1*y,1+(d2-1)*y:d2*y,:); %% crop the EIA into EI n=n+1; p=h; p=rgb2gray(p); p0=double(p); %% Generate a random phase mask [nx,ny]=size(p0); p0=p0.*exp(i*2*pi*rand(nx,ny)); % random phase mask %% fourier transform each EI and put it into the corresponding erea EH=fft2(p0);% EH=fftshift(EH);% %d2=rem(n-1,lensnumber)+1; %<----- lens number %d1=floor((n-1)/lensnumber)+1; %<----- lens number p1(1+(d1-1)*y:d1*y,1+(d2-1)*y:d2*y,:)=EH; end end save mydata2 p1 %filename=sprintf('holo.tif'); %imwrite(mat2gray(real(p1)),filename); toc