Function GetFliterfunction
COMPILE_OPT idl2
e=envi(/headless)
root_Dir = e.root_dir
filterfolder=root_Dir+'resource\filterfuncs\'
file1=file_search(filterfolder,'landsat8_oli.sli',/test_regular)
file2=file_search(filterfolder,'landsat8_oli_cirrus.sli',/test_regular)
sli1=ENVISpectralLibrary(file1)
sli2=ENVISpectralLibrary(file2)
specnames=[sli1.SPECTRA_NAMES,sli2.SPECTRA_NAMES]
sp=sli1.GetSpectrum(specnames[1])
wave=sp['WAVELENGTHS']
ENVI_OPEN_FILE,file1,r_fid=fid1
ENVI_FILE_QUERY,fid1,dims=dims1,nb=nb1,nl=nl1,ns=ns1,data_type=data_type,h_info=h_info
data1=ENVI_GET_DATA(DIMS=dims1,FID=fid1,POS=0)
ENVI_OPEN_FILE,file2,r_fid=fid2
ENVI_FILE_QUERY,fid2,dims=dims2,nb=nb2,nl=nl2,ns=ns2
data2=ENVI_GET_DATA(DIMS=dims2,FID=fid2,POS=0)
slidata=[[data1],[data2]]
INHERIT = ENVI_SET_INHERITANCE(fid1, dims1, /BBL, /FILE_TYPE, /FULL, /GEO_POINTS, /MAP_INFO, /SENSOR_TYPE, /SPATIAL, /ZRANGE)
slifile=filterfolder+'landsat8_oli_temp.sli'
ENVI_WRITE_ENVI_FILE,slidata,/no_copy,OUT_NAME=slifile,ns=1941,nl=9,nb=1,OUT_DT=4,interleave=0,BYTE_ORDER =0,$
bnames=['Spectral Library'],offset=0,file_type=4,WL=wave,WAVELENGTH_UNIT =0,$
INHERIT=INHERIT,REFLECTANCE_SCALE_FACTOR=1.0,SPEC_NAMES =specnames,ZRANGE=[0.00, 1.00]
ENVI_SETUP_HEAD,fname=slifile,/write,ns=1941,nl=9,nb=1,data_type=4,interleave=0,BYTE_ORDER =0,$
bnames=['Spectral Library'],offset=0,file_type=4,WAVELENGTH_UNIT =0,$
REFLECTANCE_SCALE_FACTOR=1.0,SPEC_NAMES =specnames,ZRANGE=[0.00, 1.00],WL=wave
e.Close
return,slifile
END
IDL合成landsat8OLI光谱响应函数
最新推荐文章于 2023-04-19 22:43:53 发布