参考: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. GitHub项目为己所用

    1.下载 2.cmd  进入文件夹 3.mvn clean package 4.mvn install

  2. 《DSP using MATLAB》示例Example6.6

    代码: h = [1, 2, 3, 2, 1]/9; [C, B, A] = dir2fs(h) 运行结果:

  3. CycloneII之EDA及学术开发功能描述

    1.概述 同Stratix/Cyclone. 2.逻辑单元(Logic Cell)描述 在以前的架构中(比如Cyclone),单个LE包括一个组合逻辑和寄存器.对于Cyclone II来说,组合逻辑和 ...

  4. MySQL-Proxy 读写分离、同步延时问题解决方案

    MySQL-Proxy 读写分离.同步延时问题解决方案 使用MySQL将读写请求转接到主从Server. 一 安装MySQL Proxy MySQL Proxy的二进制版非常方便,下载解压缩后即用. ...

  5. ffmpeg hls 点播负载均衡简单实现

    备注: 主要是进行文件的切片处理,以及m3u8 的文件前缀添加以达到通过nginx 或者类似的分布式文件工具进行数据切片处理 参考配置如下: ffmpeg -y -i mydemo.mp4 -vcod ...

  6. java之集合概述

    集合也称容器:从大的类别分成两类:Collection和Map,也即:单列和双列列表. java编程思想中一张图说明该体系的整体结构:其中黑色着重的类是经常使用的类. 1 Collection Col ...

  7. Django 的路由分配系统

    Django的路由系统 URL配置(URL.conf)就像Django所支撑网站的目录,它的本质是URL与要为该URL调用的视图函数之间的映射表. 我们就是以这种方式告诉Django,遇到哪个URL的 ...

  8. 【转】用Jmeter制造测试数据

    在平时的测试过程中,肯定会有碰到需要一批大量的数据的情况,如果这些数据本身没有太多的要求,或者说需求比较简单,可以通过简单的参数化实现的,推荐用Jmeter来造数据. 限制: Jmeter只能支持ja ...

  9. sklearn: TfidfVectorizer 中文处理及一些使用参数

    TfidfVectorizer可以把原始文本转化为tf-idf的特征矩阵,从而为后续的文本相似度计算,主题模型,文本搜索排序等一系列应用奠定基础.基本应用如: #coding=utf-8 from s ...

  10. POJ 3684 Physics Experiment(弹性碰撞)

    Physics Experiment Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 2936   Accepted: 104 ...