如何从 IDL 中的图像序列中删除图像?

How do I delete an image from an image sequence in the IDL?

我有一个尺寸为 [491,710,710] 的图像数组。例如。我想从此图像中删除第 25 和第 30 个图像。我怎样才能做到这一点 ?

restore, 'C:\Users\User1\Desktop\TEZ\SUNSPOT_3_Crop\norm_Leke3.sav'

dim = SIZE(im8)
nfls = dim[1]

new_img = dblarr(nfls-2,710,710)

for i =0, nfls do begin
  IF i EQ 25 THEN begin
    i++
  ENDIF
  IF i EQ 30 THEN begin
    i++
new_img[i,*,*] = bytscl(im8[i,*,*])
endfor


end

我是 IDL 新手。我认为的代码是这样的。删除图像是的,但它变黑并且大小仍然相同([491,710,710])。如果我删除第 25 和第 30 张图像,我的尺寸应该是 [399,710,710]。我该如何解决?

尝试使用这样的索引:

; img is 401 by 710 by 710

mask = bytarr(401) + 1B
mask[[25, 30]] = 0B
keep_indices = where(mask, n_keep)

if (n_keep gt 0L) then begin
  new_img = img[keep_indices, *, *]
endif else new_img = !null