Envi 将扩大10000的反射率还原成float

 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

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值