参考:ENVI API

参考:ENVI Classic Display

序号 类名称  

功能说明

  语法 & 举例
01 ENVI 函数  

====<<<< Description >>>>====

启动 ENVI 程序并返回此程序的对象引用。
----------------------------------------------------------------------------------

====<<<< Syntax >>>>====

Result = ENVI([, Keywords=value] [, Properties=value])
----------------------------------------------------------------------------------

====<<<< Return Value >>>>====

ENVI 程序的对象引用。
----------------------------------------------------------------------------------

====<<<<  Methods >>>>====

AddCustomReader
AddExtension
Close
CreateView
GetBroadcastChannel
GetTemporaryFilename
GetView
HideExtensionFiles
LogMessage
OpenPointCloud
OpenRaster
OpenROI
OpenVector
QueryPointCloud
Refresh
ReportError
RestoreSession
SaveSession
Show

   
 02  ENVI 过程  

====<<<< Description >>>>====

使用这个过程来恢复基本的环境保存文件(.sav)。
----------------------------------------------------------------------------------

====<<<< Syntax >>>>====

ENVI, /RESTORE_BASE_SAVE_FILES
----------------------------------------------------------------------------------

====<<<< Parameters >>>>====

◈  RESTORE_BASE_SAVE_FILES:使用这个关键字来恢复基本的环境保存文件(.sav)批处理模式。

 

ENVI, /RESTORE_BASE_SAVE_FILES
ENVI_BATCH_INIT
ENVI_REPORT_INIT, ['line1', 'line2', 'line3'], $
title='Title', base = base, /interrupt
ENVI_REPORT_INC, base, 100
ENVI_REPORT_STAT, base, 50, 100, CANCEL=cancel

效果如下所示:

添加 Cancel 按钮判断:

ENVI, /RESTORE_BASE_SAVE_FILES
ENVI_BATCH_INIT
ENVI_REPORT_INIT, ['line1', 'line2', 'line3'], $
title='Title', base = base, /interrupt
ENVI_REPORT_INC, base, 100 FOR i = 0, 100-1 DO BEGIN
ENVI_REPORT_STAT, base, i+1, 100, CANCEL=cancelvar
;用来判断是否点击了 Cancel 按钮
IF cancelvar EQ 1 THEN BEGIN
tmp = DIALOG_MESSAGE('是否停止处理?', /cancel)
;用来判断点击了“确定”还是“取消”
IF tmp eq 'OK' THEN BEGIN
ENVI_REPORT_INIT, base = base, /finish
BREAK
ENDIF
ENDIF
WAIT,0.1
ENDFOR ENVI_REPORT_INIT, base = base, /finish
ENVI_BATCH_EXIT

点击 Cancel 按钮效果如下所示:

参考:【转】进度条终止判断(IDL+ENVI)

03 ENVI_BATCH_INIT  

====<<<< Description >>>>====

这个过程已经被 ENVI 函数替换,代码如下:
e = ENVI(/HEADLESS)
代替如下代码:
ENVI, /RESTORE_BASE_SAVE_FILES
ENVI_BATCH_INIT, /NO_STATUS_WINDOW。
----------------------------------------------------------------------------------

====<<<< Syntax >>>>====

ENVI_BATCH_INIT [, BATCH_LUN=variable] [, LOG_FILE=string] [, /NO_STATUS_WINDOW]
----------------------------------------------------------------------------------

====<<<< Parameters >>>>====

◈  NO_STATUS_WINDOW:使用这个关键字不显示经典状态窗体。

 
 04 ENVI_REPORT_INIT  

====<<<< Description >>>>====

这个过程显示一个典型的进度条。
----------------------------------------------------------------------------------

====<<<< Syntax >>>>====

ENVI_REPORT_INIT, Rstr, BASE=variable, /FINISH, /INTERRUPT, TITLE=string

----------------------------------------------------------------------------------

====<<<< Parameters >>>>====

◈  Rstr:显示在状态窗体上的一组字符串,每一个元素显示一行。
◈  BASE:设置此关键字用于显示状态窗体。
◈  FINISH:设置此关键字,当处理结束后移除状态窗体。必须是相同的 Base 值。
◈  INTERRUPT:设置此关键字允许使用 Cancel 中断处理。
◈  TITLE:显示在状态窗体的标题栏上。

 
 05 ENVI_REPORT_INC  

====<<<< Description >>>>====

用于增量处理。
----------------------------------------------------------------------------------

====<<<< Syntax >>>>====

ENVI_REPORT_INC, Base, Num_tiles

----------------------------------------------------------------------------------

====<<<< Parameters >>>>====

◈  Base:状态窗体的 ID 值。
◈  Num_tiles:处理循环的总数。

 
 06 ENVI_REPORT_STAT  

====<<<< Description >>>>====

更新百分比。
----------------------------------------------------------------------------------

====<<<< Syntax >>>>====

ENVI_REPORT_STAT, Base, Num, Den, CANCEL=variable
----------------------------------------------------------------------------------

====<<<< Parameters >>>>====

◈  Base:状态窗体的 ID 值。
◈  Num:处理的数值,百分比取决于此值与总数的比值。
◈  Den:总数。
◈  CANCEL:用此关键字获取 cancel 按钮的返回值。 此关键字仅当设置了 ENVI_REPORT_INIT 的 INTERRUPT 关键字才管用。如果返回值为 1 表示按钮被按了,否则返回值为 0.

 
 07 ENVI_BATCH_EXIT  

====<<<< Description >>>>====

此过程已经被 ENVI 函数的 Close 方法所代替。

使用此过程用来终止 ENVI。
----------------------------------------------------------------------------------

====<<<< Syntax >>>>====

ENVI_BATCH_EXIT [, /EXIT_IDL] [, /NO_CONFIRM

----------------------------------------------------------------------------------

====<<<< Parameters >>>>====

◈  EXIT_IDL:设置此关键字将会强制退出 IDL。
◈  NO_CONFIRM:不显示窗体退出的确认按钮。

 
           

【300】◀▶ IDL - ENVI API的更多相关文章

  1. 【译】Android NDK API 规范

    [译]Android NDK API 规范 译者按: 修改R代码遇到Lint tool的报错,搜到了这篇文档,aosp仓库地址:Android NDK API Guidelines. 975a589 ...

  2. 【167】IDL 中相关技巧

    IDL 中相关技巧 1. 注释:分号“;”表示注释内容的开始. 2. 续行:最后一个字符是“$”,那么本行将紧接着下一行,续行标志.(换行符,$+回车) 3. 中文编码:窗口>首选项>常规 ...

  3. 【算法】实现字典API:有序数组和无序链表

    参考资料 <算法(java)>                           — — Robert Sedgewick, Kevin Wayne <数据结构>       ...

  4. 【221】◀▶ IDL GUI 函数说明

    参考:GUI - Dialogs Routines参考:GUI - Widgets Routines参考:GUI - Compound Widgets Routines 01   DIALOG_MES ...

  5. 【180】IDL 读写 HDF 文件

    HDF(Hierarchical Data Formats)数据格式由 NCSA 开发.HDF 提供了大量的数据模式,包括多维数组.表格.图像.注解和调色板.在下面的章节中,将描述 HDF 科学数据系 ...

  6. 【179】IDL 读写 NetCDF 文件

    NetCDF(network Common Data Form)由位于科罗拉多州波尔市的 Unidata 程序中心开发,主要应用于大气科学的研究.NetCDF 的数据模式具有简单性和灵活性的特点.Ne ...

  7. 【170】◀▶ IDL 学习初体验-全

    IDL Reference 操作符号 数组 字符及字符串 结构体 指针 链表 & 哈希表 程序控制(循环.条件.跳转语句) 过程 & 函数 输入与输出 系统变量 文件系统操作 直接图形 ...

  8. 【NFC】Android NFC API Reference中英文

    0 Near Field Communication Near Field Communication (NFC) is a set of   short-range wireless technol ...

  9. 【转载】常用精品API接口汇总

    原文链接戳这里~~ 下面列举了100多个国内常用API接口,并按照 笔记.出行.词典.电商.地图.电影.即时通讯.开发者网站.快递查询.旅游.社交.视频.天气.团队协作.图片与图像处理.外卖.消息推送 ...

随机推荐

  1. 像黑客一样!Chrome 完全键盘操作指南(原生快捷键 + Vimium 插件)

    有那么一波小伙伴,多数时候都不需要用到鼠标,通常他们正好是“黑客”.当你开始使用键盘操作一切时,便能体会到无需用鼠标瞄准按钮时的干脆,无需在键盘和鼠标之间移动手时的轻松. Chrome 原生自带大量快 ...

  2. 《DSP using MATLAB》示例Example 8.30

    %% ------------------------------------------------------------------------ %% Output Info about thi ...

  3. flask第十五篇——Response

    从这一节开始,我就要开始讲关于模板的知识了.先来学习一下Response的相关知识. 所有返回前台的内容其实都应该是Response的对象或者其子类,我们看到如果返回的是字符串直接可以写成return ...

  4. 【DUBBO】Dubbo原理解析-服务引用

    服务引用是服务的消费方向注册中心订阅服务提供方提供的服务地址后向服务提供方引用服务的过程. 服务的应用方在spring的配置实例如下: <dubbo:referenceid="demo ...

  5. css 样式常用属性

    一般的一个DIV的CSS设置属性有:margin,padding,width,height,font-size,text-align,background,float,border 附:< cs ...

  6. 1.Django入门小Demo

    1.Django安装 (1)前提:已安装python环境 (2)打开命令行输入:pip install Django==2.1.3 (3)打开Pycharm,在File--Setting--Proje ...

  7. angular的指令独立作用域(以及$watch的使用)

    在编写指令的时候,会有一个独立作用域的问题(scope),他默认的是 scope:false 不创建自己的作用域,直接使用的就是父级的作用域, 问题:容易出现全局的污染,是的指令的重复性使用回出现一些 ...

  8. Oracle条件分支查询

    Oracle的条件分支查询其实跟java的条件分支语法没啥太大的区别,只不过java多了一个switch关键字而已.看例子: SQL ELSE SUM(t1.TOTALTICKET) END tota ...

  9. Unit07: MyBatis框架简介 、 MyBatis基本应用

    Unit07: MyBatis框架简介 . MyBatis基本应用 1. myBatis (1)myBatis是什么? 是一个开源的持久层框架. 注:myBatis底层仍然是jdbc. (2)编程步骤 ...

  10. 关于不同应用程序存储IO类型的描述

    介绍 存储系统作为数据的载体,为前端的服务器和应用程序提供读写服务.存储阵列某种意义上来说,是对应用服务器提供数据服务的后端“服务器”.应用服务器对存 储系统发送数据的“读”和“写”的请求.然而,不同 ...