ENVI 5.7/IDL 8.9 新特性介绍
1 ENVI 5.7 新特性
-
新增支持数据类型
-
新增支持SAR数据
-
FLAASH模块更新
-
全新变化检测工作流
-
工具箱部分工具更新
-
全新交互式视域分析工具
-
新增菜单和操作选项
-
新增ENVITasks
-
NITF更新
-
新增ENVI Modeler示例模型
-
新增二次开发接口
-
移除32位ENVI
1 新增支持数据类型
ENVI 5.7新增如下数据类型和传感器:
-
支持从GeoJSON文件中读取矢量
-
支持EMIT(Level 1B, Level 2A)高光谱图像
2 新增支持SAR数据
ENVI 5.7新增支持显示SICD NITF SAR数据。
3 FLAASH模块更新
FLAASH模块有重大功能更新和新特性,包含如下:
-
更新到MODTRAN 6模型,包含以下更新:
-
全新Line-By-Line(LBL)算法,可在更短的波长分辨率下计算透射率和辐射度,以获得更高的精度
-
更新DISORT算法,提高倾斜法和较低太阳高度的精度
-
新的高级气溶胶选项,可以尝试不同的参数来确定哪一个能产生更准确的结果
-
新增云图像输出选项
-
新增创建水汽图功能,可显示每个像素内的水蒸气量
-
如果输入图像不在辐射亮度值范围内,则自动进行辐射校正(在FLAASH中处理图像之前不再需要辐射校正)
-
提供FLAASH Task接口,可以在ENVI Modeler和IDL中实现批处理。在ENVI Classic中可继续使用旧版FLAASH工具
4 全新变化检测工作流
-
Change Detection Difference Map
-
Image Change Workflow
-
SPEAR Change Detection
-
THOR Change Detection
5 工具箱部分工具更新
如下工具更新使用新的ENVITasks接口:
-
Emissivity From Alpha Residuals: 生成阿尔法残差光谱,该光谱近似于热红外辐射数据中发射率光谱的形状。
-
Emissivity From Normalization: 使用固定的发射率值,根据热红外辐射数据计算发射率和温度值。
-
Emissivity From Reference Channel: 根据热红外辐射数据计算发射率和温度值。该方法假设热红外数据的一个波段中的所有像素都具有恒定的发射率。
-
Relative Water Depth Tool: 利用具有蓝、绿和近红外波段的多光谱图像,计算描绘水域相对水深的产品。
-
Thermal Atmospheric Correction: 热红外大气校正。
以下工具已从ENVI工具箱中删除。它们的功能被上述新工具所取代:
-
SPEAR Google Earth Bridge
-
SPEAR Pan Sharpening
-
SPEAR Relative Water Depth
-
THOR Zero Band
-
THOR Zero Pixels
6 全新交互式视域分析工具
全新交互式视域分析工具(工具栏灯塔图标,须打开并显示DEM图像才可点击此按钮)已经替代旧版工具。使用此工具可更快完成视域分析,而无需繁琐步骤。此工具还可以执行路线分析和视线分析。
使用交互式视域分析,可以动态添加观察点,例如:
-
单个观察点可在图像范围内任意移动
-
可绘制一个或多个路径,包含沿该路径的多个观察者点
-
可绘制一个或多个区域,包含该区域内的多个观察者点
7 新增菜单和操作选项
-
Link Views:在Layer Manager中,View右键菜单中添加Quick Link选项,可用于快速链接视图。此外,链接视图功能均已支持RPC、CSM和伪投影以及标准投影。 -
Band Animation:在Layer Manager右键菜单和ENVI主菜单Display中的Band Animation均提供了两种方法可供选择。可以使用Xtreme Viewer或Raster Series显示波段动画。
-
Shadows Down Manipulator:新操纵器旋转当前视图,使阴影朝向显示的底部。它仅适用于SICD格式的经过地理校正的SAR图像。
8 新增ENVITasks
可以在IDL中使用以下ENVITasks来进行图像处理:
-
CalculateRelativeWaterDepth: 利用具有蓝、绿和近红外波段的多光谱图像,计算描绘水域相对水深的产品。
-
EmissivityFromAlphaResiduals: 生成阿尔法残差光谱,该光谱近似于热红外辐射数据中发射率光谱的形状。
-
EmissivityFromNormalization: 使用固定的发射率值,根据热红外辐射数据计算发射率和温度值。
-
EmissivityFromReferenceChannel: 根据热红外辐射数据计算发射率和温度值。该方法假设热红外数据的一个波段中的所有像素都具有恒定的发射率。
-
ExportRasterToKMZ: 导出栅格及其边界线为谷歌地球的KMZ格式。
-
ROIToKML: 导出ROI为KML文件。
-
StringProcessing: 提供字符串基本处理功能。可用于ENVI Modeler对文件名处理。
-
ThermalAtmosphericCorrection: 热红外大气校正。
9 NITF更新
本版本包括对以下TREs的支持:
-
FCRNSA NITF Tagged Record Extension
-
FRMSGA NITF Tagged Record Extension
本版本包含以下针对NITF 2.1 JPEG 2000压缩图像的性能改进:
-
平移和缩放的显示性能有所提高,速度提高了60%
-
在某些情况下,处理速度提升高达60%
10 新增ENVI Modeler示例模型
新增一些ENVI Modeler的示例模型,帮助我们更好的学习ENVI Modeler。每个示例展示了不同节点和技术用于自定义工作流的方法。查看帮助中Getting Started with the ENVI Modeler 获取详情。
11 新增二次开发接口
ENVIPseudoRasterSpatialRef::ShadowsDownAngle
新的ShadowsDownAngle方法可以返回旋转角度(以度为单位),以便阴影朝向显示的底部。此选项仅适用于SICD格式的经过地理校正的SAR图像。
12 移除32位ENVI
2 IDL 8.9 新特性
-
新特性
-
更新内容
-
库更新
1 新特性
ASDF文件格式支持
a = ASDF_File('mydata', randomu(seed, 100, 50))
ASDF_Write, 'myfile.asdf', a
af = ASDF_Parse('myfile.asdf')
help, af
help, af['mydata']
help, af['mydata', 'data']
IDL打印结果:
AF ASDF_FILE <ID=28 NELEMENTS=3> TAG='!core/asdf-1.1.0' GLOBAL_TAGS=1
<Expression> ASDF_NDARRAY <ID=27> float32 [50,100] internal
<Expression> FLOAT = Array[100, 50]
复数常数
IDL> help, 1 - 2i, 3.14i, 1 + 2d-20i
<Expression> COMPLEX = ( 1.00000, - 2.00000)
<Expression> COMPLEX = ( 0.00000, 3.14000)
<Expression> DCOMPLEX = ( 1.0000000, 2.0000000e-20)
IDL> num = 0i ; create a complex zero
IDL> reads, '1+2i', num ; complex number cannot contain spaces
IDL> help, num
NUM COMPLEX = ( 1.00000, 2.00000)
二进制、八进制和十六进制常数
IDL> help, 0b101110111100, 0o777, 0xFA62, BigInteger('0xFFFFFF')
<Expression> INT = 3004
<Expression> INT = 511
<Expression> LONG = 64098
<Expression> BIGINTEGER <ID=7 LENGTH=24 bits> = 16777215
IDL> num = 0L
IDL> reads, "0x2000", num
IDL> help, num
NUM LONG = 8192
IDL> reads, '0o777', num
IDL> help, num
NUM LONG = 511
IDL> reads, '0b101110111100', num
IDL> help, num
NUM LONG = 3004
IDL> print, 8192, 511, 3004, format='%x %o %b'
2000 777 101110111100
详情请参阅Defining and Using Constants。
Gabor变换滤波器
新的GABOR_KERNEL和GABOR_FILTER函数可用于对二维阵列执行复杂的GABOR滤波器。Gabor滤波器由特定方向的正弦波组成,高斯包络将效果限制在图像中每个点周围的局部区域。该滤波器可用于边缘检测和纹理分析。
Gabor演示应用程序
模板文本字符串
IDL > a = [1, 2, 3, 4, 5]
IDL > result = `There are ${total(a gt 2, /int)} matches\nin the array ${a}.`
IDL > print, result
There are 3 matches
in the array [1,2,3,4,5].
详情参阅Template Literal Strings。
FLOAT64和IDL3编译选项
新的FLOAT64编译选项表示浮点常量默认为64位DOUBLE类型,而不是通常的32位FLOAT类型。指数为“e”的浮点常量将保留为32位浮点。新的IDL3编译选项是编译选项DEFINT32、FLOAT64、LOGICAL_PREDICATE和STRICARR的快捷方式。有关更多详细信息,请参阅COMPILE_OPT。
YAML (YAML Ain't Markup Language) 支持
IDL现在可以使用YAML_PARSE解析YAML字符串和文件。还可以使用YAML_SERIALIZE将IDL HASH、LIST和其他数据类型转换为YAML。
2 更新内容
数组连接
现在可以使用最多8个嵌套级别的括号来连接IDL数组(以前的限制是3个级别)。例如:
IDL> a = fltarr(2,2,2,2,2,2,2,2)
IDL> b = a
IDL> help, [a, b]
<Expression> FLOAT = Array[4, 2, 2, 2, 2, 2, 2, 2]
IDL> help, [[[[a]]], [[[b]]]]
<Expression> FLOAT = Array[2, 2, 2, 4, 2, 2, 2, 2]
IDL> help, [[[[[[[[a]]]]]]], [[[[[[[b]]]]]]]]
<Expression> FLOAT = Array[2, 2, 2, 2, 2, 2, 2, 4]
详情参阅 Creating Arrays 章节内容。
CONVOL函数新增EDGE_REFLECT关键字
CONVOL函数有一个新的EDGE_REFLECT关键字,它将把数组边缘的值视为反射值。这与EDGE_MIRROR关键字类似,只是不重复最边缘的点。例如,如果数组值由“abcdefg”表示,则有效数组将为“gfedcb|abcdefg|fedcba”。
ISA函数新增UNSIGNED 关键字
ISA函数有一个新的UNSIGNED关键字,它将为无符号整数变量返回true,否则返回false。
JSON_SERIALIZE函数新增PRETTY关键字
JSON_SERIALIZE函数有一个新的PRETTY关键字,它将以“美观”的格式输出JSON,并使用空格换行和缩进。
Python Bridge 安装简化
IDL-to-Python 和Python-to-IDL Bridge的安装过程经过了简化,变得更加健壮。有关详细信息,请参见Python Bridge。
移除32-bit IDL
移除32位模式下运行的IDL。这还包括删除COM Object-Import(IDLcomIDispatch)和DXF文件格式(IDLffDXF)支持。
3 库更新
-
CDF 3.8.1
-
New CDF_READCDF routine
-
New CDF_READVARIABLE routine
-
curl 7.88.1
-
ffmpeg 4.4.3
-
jackson-json-processor 2.14.2
-
libtiff 4.5.0
-
libxml2 2.10.3
-
openssl 1.1.1t
-
sqlite 3.41.2
-
x11-xpm 3.5.15
-
zlib 1.2.13
已添加以下第三方库:
-
rapidyaml 0.5.0
已删除以下第三方库:
-
IDL Python Bridge support for Python 3.7