第一条博客决定贴一个简单去除遥感影像NAN异常值的IDL代码
PS:运行前要在IDL里调出ENVI额!
pro removenan
envi, /restore_base_save_files
envi_batch_init, log_file='batch.txt'
envi_select,title='choose multispectral reflectance image',fid=fid,dims=dims,pos=pos
if(fid eq -1) then begin
print,'cancelled'
return
endif
ENVI_FILE_QUERY, fid, dims=dims, NS = ns, NL = nl,NB = nb
pos = LINDGEN(nb)
num_cols=dims[2]-dims[1]+1
num_rows=dims[4]-dims[3]+1
num_bands=n_elements(pos)
num_pixels=num_cols*num_rows
image1=fltarr(num_cols,num_rows,num_bands)
img=fltarr(num_cols,num_rows,num_bands)
for k=0,num_bands-1 do image1(*,*,k)=envi_get_data(fid=fid,dims=dims,pos=pos[k])
;image1=reform(image1,num_cols,num_rows)
image1(WHERE(FINITE(image1, /I