Quiero realizar un proceso por lotes de calibración de radiación n.º 1 de puntuación alta, pero solo puedo realizar bien la primera banda.
/Después de completar la primera banda, se muestra el intento de subíndice FID con I está fuera de rango. Al mismo tiempo, generé las cuatro bandas por separado. bandas? Que buena forma de salida, por favor ayúdenme! ! ! 100 puntos gratis
Mi código es el siguiente:
pro GF2_Calibration
COMPILE_OPT idl2
ENVI, /RESTORE_BASE_SAVE_FILES
ENVI_BATCH_INIT
ENVI_OPEN_FILE, fname, r_fid=fid
ENVI_FILE_QUERY, fid, dims=dims, ns=ns, nl=nl, nb=nb, data_type=dt p >
fid=intarr(nb) fid
pos=INDGEN(nb)
GAIN=[0.1585, 0.1883, 0.1740, 0.1897]
OFFSET =[-0.8765, -0.9742, -0.7652, -0.7233]
out_name1='d:\12.tiff'
out_name2='d:\1234.tiff'< / p>
out_name3='d:\1235.tiff'
out_name4='d:\1236.tiff'
out_names=[out_name1, out_name2, out_name3, out_name4 ]
PARA i = 0L, (nb-1) COMIENCE
fid=fid[i]
pos=pos[i]
exp=strtrim(string(offset[i]), 2) ' ' strtrim(string(GAIN[i]), 2) '*B' strtrim(string(i 1), 2)
ENVI_DOIT, 'math_doit', dims=dims, $
pos=pos, fid=fid, exp=exp, $
r_fid=r_fid, out_name=out_names[i]
ENDFOR
fin