https://github.com/cmu-ci-lab/mcspeckle
Tip revision: c4ecf78f32558cba5e45ab0c43a0995a20f2c85b authored by igkiou on 05 September 2019, 11:00:35 UTC
first commit
first commit
Tip revision: c4ecf78
testRefocus3D.m
lambda=1;
box_min=[-50; -50; 0];
box_max=[ 50; 50; 100];
sigt=[1/25,1/25,0,0;0,0,1/25,1/25]';
%sigt=[0,1/2000,1/2000,0;0,1/2000,1/2000,0]';
sigt=repmat(reshape(sigt,4,1,2),[1,4,1]);
box_bin=[25;25;50];
sigt=[1/50,1/25,1/25,0,0;0,0,1/50,1/25,0]';
sigt=repmat(reshape(sigt,5,1,2),[1,5,1]);
sigt(:,[1:2,4:5],:)=0;
box_bin=[20;20;50];
theta_l=pi-deg2rad([-35:5:35]);
theta_v=deg2rad([-40:0.2:40]);
Nl0=length(theta_l);
Nv0=length(theta_v);
Nv=Nv0^2;
Nl=Nl0^2;
Nx=(box_max(1)-box_min(1))/box_bin(1);
Nz=(box_max(2)-box_min(2))/box_bin(2);
Nxz=Nx*Nz;
[vx,vy]=ndgrid(theta_v,theta_v);
v=[sin(vx(:))';sin(vy(:))';ones(1,Nv)];
v=v./repmat(sum(v.^2,1).^0.5,3,1);
[lx,ly]=ndgrid(theta_l,theta_l);
l=[sin(lx(:))';sin(ly(:))';ones(1,Nl)];
l=l./repmat(sum(l.^2,1).^0.5,3,1);
doCBS=1; smpFlg=1;
maxItr=10^4;
%maxItr=1;
maxItr=200;
j=1
rng(520)
parfor j=1:24
tic
uL(:,:,j)=MCsampleHetro( sigt, 1, box_min,box_max,box_bin, l, v,1,1,maxItr,lambda,doCBS,smpFlg,1,0);
toc
end
uL=sum(uL,3);
box_stp=[1;50;2];
box_stp=[2;50;5];
j=ceil(Nl/2);
trU=refocus(uL(:,j),v,l(:,j),box_min,box_max,box_stp,lambda);
d2=size(trU,2); d2=ceil(d2/2);
figure, imshow(squeeze(abs(mean(trU(:,d2,:,:),4))),[])
parfor j=1:Nl
j
tic
trU=refocus(uL(:,j),v,l(:,j),box_min,box_max,box_stp,lambda);
rU(:,j)=trU(:);
toc
%d2=size(rU,2); d2=ceil(d2/2);
%figure, imshow(squeeze(abs(rU(:,50,:,j))),[])
%keyboard
end
dd=size(trU);
rU=reshape(rU,[dd,Nl]);
d2=size(rU,2); d2=ceil(d2/2);
figure, imshow(squeeze(abs(mean(rU(:,d2,:,:),4))),[])
