ENVI5.6/IDL8.8新特性介绍
ENVI 5.6/IDL 8.8于2020年8月正式发布。
ENVI 5.6
本版本ENVI包含了很多新增和改进的功能。主要包含如下内容:
- 新增ENVI Server:能够在后台和并行运行tasks和model。或设置远程服务器,进行分布式处理。
- 软件库得到更新,提高了ENVI运行时的性能。
- ENVI新增支持GOES-17和珠海一号高光谱数据。
- 性能改进:ENVI打开、显示、读取和处理NITF文件的速度提高了50%。QUAC大气校正效率也得到了提升,是因为在分块处理时能更高效率地访问数据。
- ENVI光谱库新增USGS V7版本光谱库。
- ArcGIS集成:ENVI支持与较新版本的ArcGIS软件匹配使用,可以将矢量文件上传到ArcGIS Portal或ArcGIS Online帐户。
- ENVI对OGC WCS数据集有更好的支持。
- 视图改进:新增视图布局选项,链接视图时可同步旋转。并且工具预览效果得到提升。
- ROI改进:新增键盘和鼠标快捷键、魔术棒工具、ROI中的掩膜像素以及其他新功能。
- 新增4种矢量工具,可用于处理shapefile。
- “GO TO”工具现在支持地理查找表(GLT)空间参考坐标。
- ENVI二次开发新增API,支持创建工作流程序。
- 新增一些API和ENVITask,以及原有API增强。
1 ENVI Server
从ENVI 5.6开始,可以将ENVI安装升级为ENVI Server,这将允许我们在后台并行运行ENVI任务和模型。安装了ENVI和Geospatial Services Framework(GSF)的任何Windows或Linux机器都被视为ENVI Server。我们可以监视作业状态,并在每个作业完成后查看结果。还可以设置远程机器作为ENVI Server,以实现分布式处理。
ENVI Modeler的Iterator节点新增一个按钮 ,可以设置一个或多个ENVI Server用来执行多个批处理工作。
同时提供ENVIServer API,可以配置ENVI Server,并支持后台、并行、分布式运行任务。
2 软件库更新
IDL和ENVI使用许多底层的第三方软件库,这些库需要不断的更新和维护。其中大部分已更新到最新版本。这样提高软件运行性能。有关库更新的完整列表,请参阅ENVI 5.6发行说明。
3 新增USGS光谱库
ENVI 5.6提供USGS V7版本以及以前可用的其他光谱库。第7版共包含2457个来自人工材料、涂料、液体、矿物、有机物、土壤和植被的单个光谱。第7版存放于ENVI安装路径的\resource\speclib\usgs_v7目录中。有关这组光谱库的更多信息,请参见自述文件.txt文件。
2007年的第6版仍然可以在\resource\speclib\usgs_v6目录中找到。
使用Spectral Library Viewer可以访问并绘制USGS第7版光谱图,以及ENVI提供的其他光谱库。
4 ArcGIS集成
ENVI 现在支持与ArcGIS Pro 2.5以及ArcMap 10.8匹配使用。
5 OGC WCS 支持改进
ENVI的远程数据连接器(Remote Connection Manager)和ENVI::OpenRaster API支持OGC WCS 1.1.x和2.0.1;具体为GeoServer、MapServer、Jagwire、ArcGIS Server 10.7/8。
6 视图改进
菜单File > Views & Layers被重命名为File > ENVI Session。
在Views菜单下提供4种新的布局风格,如下图所示。
如下图为4个横向分布视图效果:
视图像素链接和地理链接现在可以同步旋转。
基于ENVITask的工具,例如QUAC、Spectral Indices等,预览功能得到改进,现在可以在平移、缩放和旋转时预览结果,而且预览刷新效率有明显提升。
7 ROI改进
对于多边形ROI,可以使用快捷键以一定角度绘制矩形,方法如下:单击两个顶点以定义矩形的一侧。这两点决定了绘制矩形的角度。然后按住Shift键并将预览的矩形拖动到对象位置。当确认无误时单击鼠标即可完成绘制。
可以按如下方法旋转ROI:绘制一个形状,然后右键单击视图并选择“Complete shape type”。将光标移到中心附近,然后单击Shift键。此时会出现一个旋转图标。根据需要单击并拖动以旋转对象,完成时释放鼠标键即可。
新增Magic Wand工具,能够从一个或多个“种子”像素增长为ROI多边形。此工具有助于绘制复杂对象(如云、树冠和湖泊)的ROI多边形。打开ROI工具后,按住Ctrl键并单击对象内部的像素,将绘制初始多边形,并显示Magic Wand Parameters对话框。可以调整“阈值”并试验其他参数,以更好地细化对象的形状。
如果一个或多个ROI包括图像中被掩膜的像素(比如设置了Data Ignore Value),统计结果新增”Mask Count”列以显示ROI中掩膜的像素个数。
对于multi-part 的ROI,右键菜单新增Remove Holes选项。
8 矢量处理工具
ENVI工具箱中提供了四种新的工具:
Filter Vector:将包含在指定的最小值和(或)最大值范围内的矢量记录输出为一个新的矢量文件。
Smooth Vector:减少多段线或多边形矢量的顶点数。输出一个新的矢量文件。
Vector to Bounding Box:创建矢量记录的边界框,输出为新的多边形矢量文件。
Vector to Centroid:计算矢量记录的质心,输出为新的点矢量文件。
下图此图显示飞机周围的边界框和质心:
9 二次开发
9.1 工作流API
可以使用ENVIAPI创建工作流,工作流由多个步骤组成,这些步骤以用户界面(UI)对话框的形式呈现,这些对话框指导用户完成一系列数据处理操作。
通过工作流,可以在完成每个步骤时与ENVI进行交互。工作流步骤基于ENVITasks,其中每个任务执行一个功能。界面中会显示一个时间轴,展示当前所处的步骤,以根据需要在步骤之间来回移动。
以下是用于创建工作流的程序和方法:
Workflow 程序/方法 |
描述 |
该方法用于显示工作流程序界面。 |
|
该程序创建包含多步骤的图像处理工作流。 |
|
该函数定义工作流中的具体步骤。 |
9.2 新增程序和方法
程序/方法 |
描述 |
数据容器。可以包含数据对象(例如raster、vector),或者任意数据类型的变量(比如字符串、数字等)。数据容器可以保持跟踪数据对象的状态。这样可以关闭或保存数据对象,或在需要时检索它。 |
|
是所有用户界面(UI)类的基类。 |
|
该方法可以显示ENVITask的用户界面。与ENVIUI::SelectTaskParameters方法不同,该方法将在点击OK按钮后自动开始运行。并且该方法显示的界面不会打断操作ENVI,还可以选择在ENVI Server中运行该任务。 |
|
此方法显示ENVI Server Job Console,用于监视提交到ENVIServer的作业。 |
|
此函数可以创建ENVIServer对象,以便可以在后台、并行或分布式运行多个并发的ENVI任务。 |
9.3 新增ENVITasks
可以使用这些新的ENVITasks在自己的ENVI+IDL程序中执行数据处理操作。它们也可用作ENVI Modeler中的任务节点,以便将它们与其他任务组合起来,构建自定义的数据处理工作流。
ENVITask |
描述 |
由分类图像创建像素ROI |
|
由分类图像创建多边形ROI |
|
从数组中提取单列数据 |
|
从数组中提取单行数据 |
|
由特征计数文件(Feature Count .efc)创建点ROI |
|
执行矢量过滤功能 |
|
执行矢量平滑功能 |
|
将shapefile由ENVI上传到ArcGIS Portal或ArcGIS Online帐号。 |
|
计算矢量质心,并输出新的矢量文件 |
|
计算质量边界框 ,并输出新的矢量文件 |
9.4 其他API更新
ENVI对象的LAYOUT属性新增4中视图布局选项。
ENVIView::GeoLink和ENVIView::PixelLink方法新增两个关键字,ROTATE_LINK和UPDATE_ROTATE_LINK,允许同步旋转选定的视图。
新增以下用户界面API类,ENVI程序员可以使用这些类在程序中显示对话框:
- IDLContainer_UI:这是一个包含多个UI类的容器,以便可以一次显示它们。
- IDLPassword_UI:显示一个对话框,供用户输入带有隐藏字符的密码。
IDL 8.8
1 新特性
1.1 IDL工作台
在IDL工作台中可以安装Eclipse Marketplace Client,该客户端能够浏览和安装基于Eclipse的插件。有关步骤请参阅帮助文档的Install the Marketplace Client and Plug-ins章节。
现在可以修改IDL工作台主题。比如可以切换为暗黑模式。详细信息可查看帮助中的Change the Workbench Theme章节。
编辑器视图可以取消停靠,也可以移动到单独的显示器上。
1.2 SOBOLSEQUENCE
新增SOBOLSEQUENCE函数支持从Sobol序列生成数值。Sobol序列是一种低差分拟随机序列。Sobol序列被设计成比完全随机抽样更均匀的方式填充空间。
2 更新
2.1 IDL Workbench语言包
IDL工作台以前包括几种不同的语言;在这个版本中,需要从Eclipse的Babel Language Pack 中安装新的语言包。详细信息请查看Install the Marketplace Client and Plug-ins
2.2 EIGENQL增加关键字
EIGENQL增加关键字SYMMETRY_RTOL。使用关键字指定一个值,该值表示在验证数组是否对称时允许的最大可接受相对公差。
2.3 新增数据格式
IDL现在支持以下视频格式:
Data Type |
Read |
Write |
File to Select |
DV (Linux only) |
• |
• |
.dv |
RAW |
• |
• |
.raw |
IDL可以读写MPEG-2 Part 2 文件(.mpeg,
IDL现在支持以下视频编解码器格式:
Name |
Description |
Read |
Write |
BMP |
Bitmap (Windows only) |
• |
|
HEVC |
High Efficiency Video Coding |
• |
|
VC-1 |
Microsoft codec, also known as SMPTE 421M |
• |
|
VP8 |
Google codec |
• |
|
IDL现在可以读写RAW解码器视频文件。还可以读写MSMPEG4V1解码器格式的视频文件。
3 库更新
下面列出的第三方库已更新为新版本:
· ANTLR, 2.7.5
· Apache Commons Logging, 1.1.3
· Chromium Embedded Framework, 79.1.35
· CLL, 4.1.1
· cURL, 7.70.0
· DXF, 2.003
· Eclipse CVS Client, 1.4.1200.v20191210-0610
· HDF5, 1.10.5
· IDL Python Bridge now supports 3.7 and 3.8
· JPEG was replaced with JPEG-turbo library 2.0.3
· libxml2, 2.9.9
· netcdf, 4.7.1
· OpenSSL, 1.1.1g
· Proj 6.2.0
此版本中添加了以下第三方库:
· AdoptOpenJDK 11.0.6
· AdoptOpenJDK JRE 11.0.6
· ecCodes 2.15.0
· Esri Projection Engine and data 10.7.0
· GCTP2 2
· jaxb-api 2.3.1
· Mesa Open GL Utility 9.0.1
· MGRS 1.3.4
· NumPy 1.18.1
· Openmp 9.0.1
· TBB 4.4.5
· TinyXML2 8.0.0
· wglext.h 23
此版本中已删除以下第三方库:
· Anaconda
· Apache HTTP Client
· CBLAS
· Apache Commons Validator
· F2CMath
· GEOS
· Google GSON
· GRIB API
· libiconv
· MODTRAN
· ogr2ogr
· SpatialLite
· Zulu