combine_amp_dem.m

来自「StaMps最新测试版」· M 代码 · 共 120 行

M
120
字号
function [dd]=combine_amp_dem(az_down,rg_right,exponent,scale_factor,use_slope)%COMBINE_AMP_DEM combine amp and dem and display%    MAKE_AMP_DEM(BLUE_DOWN,BLUE_RIGHT,RED_CONTRAST,BLUE_BRIGHTNESS)%    RED_CONTRAST  (default 0.5) = contrast of interferogram amplitude%    BLUE_BRIGHTNESS (default 1) = brightness of DEM or DEM slope%    USE_SLOPE (default 1) = set to 0 to plot DEM elevation instead %%   Modified from make_amp_dem, Andy Hooper, Mar 2005%%   ==========================================================%   05/2007 AH: memory needs reduced  %   10/2007 AH: added DEM slope option (default)%   ==========================================================if nargin<1    az_down=0;endif nargin<2    rg_right=0;endif nargin<3    exponent=0.5;endif nargin<4    scale_factor=1;endif nargin<5    use_slope=1;end!grep Data_output_format dem.out | gawk 'END {print $2}' > demformat.txtfid=fopen('demformat.txt');dem_format=fgetl(fid);fclose(fid);!grep 'Number of pixels (multilooked)' interferogram.out | gawk 'END {print $5}' > width.txtload width.txtfid=fopen('dem_radar.raw'); if strfind(upper(dem_format),'I2')    bb=fread(fid,[width,inf],'int16');else    bb=fread(fid,[width,inf],'float');endfclose(fid);bb=bb';if use_slope~=0    bb=[zeros(size(bb,1),1),diff(bb,1,2)];    scale_factor=scale_factor*100;endbb(bb<0)=0;[ny,nx]=size(bb);if exist('amp_5laz.flt','file')    fid=fopen('amp_5laz.flt');     aa=fread(fid,[width,inf],'float');else    fid=fopen('cint.minrefdem.raw');     aa=fread(fid,[width*2,inf],'float=>single');    fclose(fid);    aa=complex(aa(1:2:end,:),aa(2:2:end,:));    aa=abs(aa);    if size(aa,2)~=size(bb,1)        aa=aa(:,1:5:end)+aa(:,2:5:end)+aa(:,3:5:end)+aa(:,4:5:end)+aa(:,5:5:end);        fid=fopen('amp_5laz.flt','w');         fwrite(fid,aa,'float');        fclose(fid);    endendcc=zeros(size(bb));if az_down>0   i2l=1;   i2h=ny-az_down;   i3l=1+az_down;   i3h=ny;else   i2l=1-az_down;   i2h=ny;   i3l=1;   i3h=ny+az_down;endif rg_right>0   j2l=1;   j2h=nx-rg_right;   j3l=1+rg_right;   j3h=nx;else   j2l=1-rg_right;   j2h=nx;   j3l=1;   j3h=nx+rg_right;endcc(i3l:i3h,j3l:j3h)=bb(i2l:i2h,j2l:j2h);%cc_sort=sort(cc(:));%cc(cc<cc_sort(round(nx*ny*0.5)))=cc(round(cc_sort(round(nx*ny*0.5))));%hist(cc(:),100)aa=aa';%aa=log(aa);aa=aa.^exponent;aa_sort=sort(aa(:));aa_max=aa_sort(round(length(aa_sort)*0.99));aa=aa-min(aa(:));aa=aa./aa_max*255;cc=cc-min(cc(:));cc=cc./max(cc(:))*255*scale_factor;dd=zeros(size(cc,1),size(cc,2),3,'uint8');dd(:,:,1)=aa;dd(:,:,3)=cc;

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?