?? ganshee.m
字號:
% 粗配準,放入文件后綴為.ces.gas中 ,xrrr為配準后的信息(副圖),xrr為主圖
clear
clf
clc
close all
NR=3800;
NA=190;
NR1=1200;
NR2=NR-NR1;
X=(1500/(2*40e3))*(1200:3800)+15;
Y=1*0.2*(1:190);
file = uigetfile('*.ces');
if ~isequal(file, 0)
fp=fopen(file,'rb');
[x1 c]=fread(fp,[NR*2,NA],'float32');
[x2 c]=fread(fp,[NR*2,NA],'float32');
fclose(fp);
end
file=file(1:size(file,2)-4);
x3=x1';
x4=x2';
xr=complex(x3(:,1:2:NR*2-1),x3(:,2:2:NR*2));
xrr=complex(x4(:,1:2:NR*2-1),x4(:,2:2:NR*2));
xr1=zeros(NA,NR2+1);
xrr1=zeros(NA,NR2+1);
xr1=xr(:,NR1:NR);
xrr1=xrr(:,NR1:NR);
figure
imagesc(X,Y,abs(xrr1));
axis xy;
Nshift=5;
Skip=1;
ScopeX=51;
ScopeY=19;
for iy=1:ScopeY:NA
for ix=1:ScopeX:NR2
sr1=zeros(ScopeY,ScopeX+2*Nshift);
if ix<Nshift
sr2(:,Nshift+1:ScopeX+2*Nshift)=xr1(iy:iy+ScopeY-1,ix:ix+ScopeX+Nshift-1);
else if ix+ScopeX+Nshift>NR2
sr2(:,1:ScopeX+Nshift)=xr1(iy:iy+ScopeY-1,ix-Nshift:ix+ScopeX-1);
else
sr2(:,1:ScopeX+2*Nshift)=xr1(iy:iy+ScopeY-1,ix-Nshift:ix+ScopeX+Nshift-1);
end
end
sr1=xrr1(iy:iy+ScopeY-1,ix:ix+ScopeX-1);
k=1;
for j=-Nshift:Skip:Nshift
img1=sr1;
img2=sr2(:,j+Nshift+1:j+ScopeX+Nshift);
temp1(k)=abs(sum(sum((img1.*conj(img2)))));
temp2(k)=sum(sum(abs(img1.*conj(img1))));
temp3(k)=sum(sum(abs(img2.*conj(img2))));
q(k)=temp1(k)/sqrt(temp2(k)*temp3(k));
k=k+1;
end
dlt=find(q==max(q));
xrrr(iy:iy+ScopeY-1,ix:ix+ScopeX-1)=sr2(:,(dlt-1)*Skip+1:(dlt-1)*Skip+ScopeX);
end
end
srp=xrr1.*conj(xrrr);
fi=angle(srp);
figure
imagesc(X,Y,fi);
colorbar('vert');
axis xy;
fp=fopen([file '.gas'],'wb');
comXrr(:,1:2:2601*2-1)=real(xrrr);
comXrr(:,2:2:2601*2)=imag(xrrr);
comXr(:,1:2:2601*2-1)=real(xrr1);
comXr(:,2:2:2601*2)=imag(xrr1);
fwrite(fp,comXrr,'float32');
fwrite(fp,comXr,'float32');
fclose(fp);
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -