首页 > 解决方案 > 如何运行 IDL 程序以在所有频段上执行频段数学?

问题描述

我尝试使用 IDL Band Math 处理图像。图像有 90 个波段并设置变量pos=[0,1...90,],但只有一个波段(band1)进入 last.tiff

PRO bandmath
  compile_opt IDL2
  e = envi() 
  
  Path = FILE_DIRNAME(ROUTINE_FILEPATH())+PATH_SEP()
  print, Path
  radiance_file = FILEPATH('QUAC.dat', $
    root_dir=Path)
  raster = e.OpenRaster(radiance_file)
  print, raster
  fid = ENVIRasterToFID(raster)
  exp = '(b1 le 0)*0+(b1 gt 0)*(b1*0.0001)'
  ENVI_File_Query, fid, DIMS=dims, NB=nb
  pos = lindgen(nb)
  print, pos
  out_name = "last.tiff"
  ENVI_DOIT, 'MATH_DOIT', DIMS = dims, FID = fid, $
                          POS = pos, EXP = exp, OUT_NAME = out_name, R_FID = r_fid
END

标签: idlenvi

解决方案


您可以从 envi claasic 帮助中找到名为“ CF_DOIT ”的 API


推荐阅读