ENVI 5.0 API存在以下问题:我经常在脚本中使用ENVI_DOIT批处理例程来生成中间图像,并使用/ IN_MEMORY开关将它们留在内存中。当我完成它们时,我用
去除它们ENVI_FILE_MNG,id = FID,/ REMOVE。
在ENVI 5.0“Classic”中运行良好。然而,新的ENVI 5.0 GUI似乎有必要将以这种方式创建的所有图像放在“视图”中,完成构建金字塔,然后我收到警告
“处理金字塔时无法关闭栅格”
因此无法以编程方式删除中间文件。我尝试将它们作为临时文件放在磁盘上,但是当我尝试从脚本中删除文件时会弹出相同的错误。有什么方法可以避免这种情况吗?
答案 0 :(得分:1)
我确信这目前已被打破。我尝试了很多方面,包括尝试手动触发金字塔的创建,测试它存在,然后关闭栅格,如:
raster_file.createpyramid
print, raster_file.pyramid_exists ; prints '1'
raster_file.close
我仍然得到错误,"处理金字塔时无法关闭栅格。"
我切换回ENVI classic。
答案 1 :(得分:0)
这个对我有用:
;pro closeall
fid=envi_get_file_ids()
if fid[0] ne -1 then begin
for i=0, n_elements(fid)-1 do begin
envi_file_mng, id=fid[i], /remove
endfor
endif
;end
来源: