Red de conocimiento informático - Espacio del host - 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.

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

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