pro bandmathdivide10000
COMPILE_OPT idl2
envi,/restore_base_save_files
envi_batch_init
;image_file=DIALOG_PICKFILE(PATH=’d:\’, $
; TITLE=’Select DICOM Patient File’, FILTER=’*.tif’) ;TITLE为数据选取窗口的标题,PATH为打开文件的默认目录,TILTER为过滤出的数据格式
imgFile=Dialog_Pickfile(Filter='*.dat',/Read)
outPath=Dialog_Pickfile(File='default.dat',/Write)
ENVI_OPEN_FILE,imgFile,r_fid = input_fid
; MAP_INFO = ENVI_GET_MAP_INFO(input_fid=input_fid);获取投影信息
ENVI_FILE_QUERY,input_fid, nb = num_bands ,dims = dims,bnames= bnames
pos_t = indgen(num_bands)
out_fid=INTARR(num_bands)
expression ='float(b1)/10000'
FOR i=0,num_bands-1 DO BEGIN
ENVI_DOIT, 'math_doit', dims=dims, exp= expression, pos=pos_t[i], $
fid=input_fid, r_fid=r_fid,/IN_MEMORY
out_fid[i]=r_fid
ENDFOR
pos_dt = INTARR(num_bands)
o_bname = bnames+"("+expression+")"
ENVI_DOIT, 'cf_doit', dims=dims, fid=out_fid,/IN_MEMORY,out_bname = o_bname,$
out_dt=4,OUT_NAME=outPath,pos=pos_dt,/REMOVE,r_fid=result_fid
ENVI_OUTPUT_TO_EXTERNAL_FORMAT,dims=dims,fid=result_fid,$
OUT_BNAME=o_bname,out_name=outPath,pos=pos_t,/TIFF
envi_file_mng,id=input_fid,/REMOVE
ENVI_BATCH_EXIT
end