ENVI5.6.3/IDL8.8.3新特性
ENVI5.6.3版本于2022年11月正式发布,对应的IDL版本为V8.8.3,并匹配新发布的深度学习工具ENVI Deep LearningV2.0。主要包括以下新功能:
- 支持新的传感器
- 新增机器学习工具包
- 新增矿物和植被光谱指数
- 新增和更新ENVI工具箱中的工具,以及新的保存和恢复功能的工具设置
- 新的ENVITasks
- 二次开发的改进
- JP2文件格式的性能增强
ENVI5.6.3试用:https://envi.geoscene.cn/envi_license,之前安装过562版本可直接覆盖安装,许可通用。
ENVI5.6.3新特性
1. 支持新数据
ENVI5.6.3新增以下传感器的支持
- 新增德国DLR航天局EnMAP高光谱图像的支持
- 新增PlanetScope数据格式支持,6.3读取以下PlanetScope产品:
- L1B级别数据(大气表观辐射亮度)
- L3B正射数据(大气表观辐亮度和表观反射率)
- L3A正射数据(辐射校正,传感器校正,几何校正)
包括从PS2.SD和PSB.SD下一代传感器获得的产品。 使用“File > Open or File > Open As > Optical Sensors > Planet > PlanetScope”菜单选项并选择*_metadata.xml、*_metadata_clip.xml或 *_metadata.json文件打开。图像数据可以在TIFF或NITF(需要NITF支持模块的许可)文件中。
2. 新增机器学习工具包
全新机器学习工具包(ENVI Machine Learning)。ENVI 机器学习包含一组工具和Task。在监督分类、非监督分类和异常检测领域扩展了ENVI的功能。它包括最先进的算法:
- 支持向量机(Support Vector Machine)
- 随机森林分类(Random Forest Classification)
- 极度随机树分类(Extra Trees Classification)
- 朴素贝叶斯分类(Naive Bayes Classification)
- Birch非监督分类(Birch Unsupervised Classification)
- K均值非监督分类(K-Means Unsupervised Classification)
- 两种异常检测算法
还新增标签制作工具,支持使用光谱库作为训练数据。
图:新增机器学习工具包
图:使用机器学习工具进行土地利用分类
3. 新增光谱指数
- ENVI5.6.3 新增27个矿物特征的指数:
- 明矾石指数Alunite Index (ALUI)
- 方解石指数Calcite Index (CALI)
- 碳酸盐指数Carbonate Index (CARI)
- 黏土蚀变指数Clay Alteration Index (CLAI)
- 白云石指数Dolomite Index (DOLI)
- 绿帘石/绿泥石/两栖石指数Epidote / Chlorite / Amphibole Index (ECAI)
- 铁变质指数Ferric Iron Alteration Index (FEAI)
- 亚铁Fe2+指数Ferrous Iron (Fe2+) Index (FEI)
- 硅酸亚铁指数Ferrous Silicates Index (FESI)
- 含羟基(OH)变化矿物指数1 Hydroxyl-Bearing (OH) Altered Minerals Index 1 (OHI1)
- 含羟基(OH)变化矿物指数2 Hydroxyl-Bearing (OH) Altered Minerals Index 2 (OHI2)
- 含羟基(OH)变化矿物指数3 Hydroxyl-Bearing (OH) Altered Minerals Index 3 (OHI3)
- 高岭石指数1 Kaolinite Index 1 (KAI1)
- 高岭石指数2 Kaolinite Index 2 (KAI2)
- 高岭石指数3 Kaolinite Index 3 (KAI3)
- 红土指数Laterite Index (LATI)
- 菱镁矿指数Magnesite Index (MAGI)
- 碳酸镁丰度指数MgOH-Carbonate Abundance Index (MGAI)
- 蒙脱石指数Montmorillonite Index (MONI)
- 白云母指数Muscovite Index (MUSI)
- Phengitic Index (PHEI)
- 物理变化指数Phyllic Alteration Index (PHAI)
- 丙烯转化指数Propylitic Alteration Index (PRAI)
- 富石英岩石指数Quartz Rich Rocks Index (QRRI)
- 石英/硅质岩指数Quartz/Siliceous Rocks Index (QSRI)
- 二氧化硅指数Silica Dioxide Index (SIDI)
- 硫酸盐指数Sulfate Index (SULI)
- 新增6个植被指数:
- 疾病水分胁迫指数(Disease Water Stress Index)
- 叶片叶绿素指数(Leaf Chlorophyll Index)
- 叶片水植被指数1(Leaf Water Vegetation Index 1)
- 叶片水植被指数1(Leaf Water Vegetation Index 2)
- 归一化色素叶绿素指数(Normalized Pigment Chlorophyll Index)
- 结构独立色素指数(Structure Independent Pigment Index)
4. 新功能和工具更新
4.1 ENVI工具箱中新增工具
- 异常检测流程化工具
识别测试区域与其相邻像素或整个数据集之间的光谱或颜色差异。
图:异常检测流程化工具
- 图像自动配准流程化工具
几何上配准两个具有不同观测几何和/或不同地形扭曲的图像到相同的坐标系。
- 构建时态立方体
构建一个时态立方体,这是一个多波段栅格数据,每个波段代表同一地理区域的不同日期/时间。您可以使用ENVI工具像分析其他栅格数据一样对时态立方体数据进行处理(如监督分类或非监督分类),来进行时间序列分析。
图:构建时态立方体工具
图:时态栅格数据
- 下载DEM
根据查询结果下载SRTM DEM数据。
图:DEM下载工具
- 预处理流程化工具
为分析光谱图像进行预处理准备工作。
- 点云特征提取工具
对点云数据进行特征提取。
图:点云特征提取工具
- 上传栅格到ENVI Connect
从ENVI上传栅格到ENVI Connect。
- 植被分析流程化工具
能够对作物胁迫、易燃性分布、林木健康、植被抑制进行分类。
4.2 ENVI工具箱更新
- ENVI工具箱中的以下工具进行了更新,可使用ENVITASK:
- 作物胁迫工具
- 创建一个显示作物胁迫分布的空间地图
- 易燃性分布工具
- 创建一个空间地图,显示一个地区的防火燃料分布和燃烧危险。
- 林木健康工具
- 创建空间地图,显示森林地区的整体健康和活力。
- 对数残差校正工具
- 从辐射数据中去除太阳辐照度、大气透过率、仪器增益、地形效应和反照率效应。
- 以下工具从ENVI工具箱中删除(它们的功能已被上面列出的流程化工具所取代):
- 异常探测
- 栅格图像去除条带工具
- SPEAR工具集中的异常探测
- SPEAR工具集中的影像对地图校正
- SPEAR工具集中的独立主成分分析
- SPEAR工具集中的元数据浏览器
- SPEAR工具集中的植被圈定
- SPEAR工具集中的垂直条纹去除
- THOR工具集中的异常检测
- THOR工具集中的去条带
- THOR工具集中的光谱分组合并工具
- THOR工具集中的光谱平滑
- THOR工具集中的植被胁迫
此外,上传矢量到ArcGIS Portal工具菜单已经从ENVI工具箱移动到File > Publish主菜单下。
5. 保存工具箱参数
可以在工具箱工具中保存所设置的参数值,以便在其他ENVI处理中再次使用这些设置。如何保存和恢复参数值在每个工具的帮助中都有描述。
6. 新增Range ring注记
在这个版本中是新增Range ring注记。这些注记允许您创建以所单击区域为中心的单个圆或多个同心圆的注记。
图:新增Range ring注记
7. 剖面图更新
- 添加时间配置文件,以便与时间多维数据集一起使用。它绘制了所有波段的数据值,以显示所选像素随时间的变化情况
- 增加了一个绘图属性选项卡
8. 新的ENVI Tasks
可以使用这些新的ENVITASK在您的ENVI+IDL程序中执行数据处理操作:
- AgriculturalStressClassification:基于农业胁迫估计进行栅格分类
- BuildRasterPyramid:为栅格创建金字塔文件
- BuildTemporalCube:创建一个多波段栅格数据,其中每个波段代表不同的日期/时间。该task可以从单波段栅格阵列构建这样一个栅格,或者为每个输入栅格计算相同的光谱索引,然后将所有的光谱索引栅格合并到时间立方体中
- DownloadSRTMRasterDEM:根据查询结果下载SRTM DEM数据
- EmpiricalLineCalibration:用经验线法对栅格数据进行光谱校准
- FireFuelClassification:根据火灾燃料估计进行栅格分类
- ForestHealthClassification:基于林木健康评估执行栅格分类
- LogResidualsCorrection:执行对数残差校正,从辐射数据中去除太阳辐照度、大气透过率、仪器增益、地形效应和反照率效应
- RasterThresholdToVector:将栅格阈值化的结果向量化
- RemoveScanLineStriping:删除图像中的水平或垂直周期扫描线条纹
- SpectralBinning:将光谱波段按顺序分组合并,从而将输入的波段集中到指定数量的波段集中
- SpectralSmoothing:应用Savitsky-Golay平滑滤波器平滑噪声谱特征
- UploadRasterToENVIConnect:从ENVI上传一个栅格到ENVI Connect应用程序
- VegetationDelineation:基于植被描绘进行栅格分类
9. 二次开发
- Style Sheet Keys新增键
Style Sheet Keys新增一个tab_groups键,该键可将参数分组显示在不同的选项卡中。其中,键是选项卡的标签名称,值是对应选项卡包含的参数名数组。
- ENVIPseudoSpatialRasterRef函数增加属性
ENVIPseudoSpatialRasterRef函数增加PIXEL_SIZE属性。
- ENVISecureString 对象
新的ENVISecureString对象包含一个加密的字符串。加密和解密是使用RSA非对称密码系统执行的,需要使用公钥和私钥对。
- NorthIsUpAngle/UpIsUpAngle 方法
NorthIsUpAngle方法返回以度数为单位的旋转角度,使North位于显示的顶部。已添加到以下方法中:
- ENVIGLTRasterSpatialRef
- ENVINITFCSMRasterSpatialRef
- ENVIPseudoRasterSpatialRef
- ENVIRPCRasterSpatialRef
- ENVIStandardRasterSpatialRef
UpIsUpAngle方法返回旋转角度(以度为单位),以便对象(特别是建筑物)与监视器垂直。此方法已添加到以下对象中:
- ENVINITFCSMRasterSpatialRef
- ENVIRPCRasterSpatialRef
- 新的ENVINITF方法。该版本的ENVINITF中添加了以下方法:
- GetBandFields:从选定的NITF或MIE4NITF图像段中检索band字段
- GetBandValue:从选定的NITF或MIE4NITF图像段中检索band字段的值
- GetBandValues: 从选定的NITF或MIE4NITF图像段的band中检索字段的值数组
- GetDESUserDefinedDataFields: 该方法检索NITF文件中所选数据扩展段(DESes)的用户定义数据字段名
- GetDESUserDefinedDataValue: 该方法检索NITF文件中选定的数据扩展段(DES)用户定义数据字段的值
- 移除旧的分类框架
分类框架的API已从ENVI中移除。被新的机器学习功能取代。具体可参考包含在深度学习中的机器学习工具。
10. 性能增强
这个版本包括JP2文件格式的性能改进,如下所示:
- JP2图像的平移和缩放速度快40%
- 显示时间缩短20%
- 在某些情况下,处理速度可以提高60%
IDL8.8.3新特性
1. 新特性
- 支持RSA非对称加密密钥
新的RSA_PRIVATE_KEY和RSA_PUBLIC_KEY程序可以创建一组RSA非对称密钥。IDL_String::Encrypt和Decrypt方法使用RSA公私钥对加密和解密IDL字符串。
- 日期/时间例程现在支持修改儒略历日期
CALDAT、GREG2JUL、JUL2GREG、JULDAY、SYSTIME和TIMEGEN现在有一个新的MODIFIED关键字来返回MODIFIED Julian Dates,其精度更高,大约为1微秒。
- ARRAY_EQUAL和IDL_Variable::Equals -新增TOLERANCE关键字
ARRAY_EQUAL和IDL_Variable::Equals新增TOLERANCE关键字,设置此关键字时,如果一些值在彼此容差值范围之内,它们将被视为相等。
- COMPILE_CODE 程序
新的COMPILE_CODE程序可以从字符串或字符串数组创建并编译IDL函数或过程。COMPILE_CODE可以用来避免为小型算法创建新文件,或者用在希望从用户输入或变量动态生成函数或过程的情况下。
- FILE_SEARCH -新增NULL关键字
FILE_SEARCH新增NULL关键字,如果没有文件名匹配,它将返回!NULL。
- JSON SERIALIZE -新增PRECISION关键字
JSON_SERIALIZE的PRECISION关键字可更改浮点数的输出精度,从而可以创建较小的JSON文件或具有特定输出精度的文件。
- RUNNING STATS程序
RUNNING_STATS程序允许您计算数组的平均值和无偏样本方差,而且不会出现内存溢出的情况。该函数还可以将之前计算的结果与新数据结合起来,以实现对过大数组(无法同时加载到内存)计算均值和方差。该函数在计算均值和方差时更加稳定,速度明显快于VARIANCE函数,并且不需要任何额外的内存。
- RUNNING_COVARIANCE程序
RUNNING_COVARIANCE函数计算两个数组之间的无偏样本协方差和相关性,而且不会出现内存溢出的情况。该函数还可以将之前计算的结果与新数据结合起来,以实现对过大数组(无法同时加载到内存)计算协方差和相关性。这个例程比CORRELATE函数更稳定和高效,而且不需要任何额外的内存。
2. 更新
- MAKE_RT Syntax增强
MAKE_RT的manifest文件有一个新的、更具有表达性的语法,用于指定包含和排除哪些文件。
- IDL和ENVI现在在macOS上进行了代码签名(Code-signed)
IDL和ENVI应用程序现在都在macOS上进行了代码签名。这使得可以在macOS的最新版本上进行更简单、可信的安装。代码签名的软件也可以防止被篡改和滥用。
- LIST性能增强
List::Filter、Map、Reduce和Remove方法效率提升明显。
- 任意大小的PNG文件
QUERY_PNG、READ_PNG和WRITE_PNG现在可以处理任意大小的PNG图片。
- 64位GZIP和ZIP文件
FILE_GZIP和FILE_GUNZIP现在支持大于4GB的文件。FILE_ZIP和FILE_UNZIP同样支持大于4GB的文件,包括ZIP64格式。
- 带有扩展ASCII文件名的ZIP文件
FILE_ZIP和FILE_UNZIP现在支持包含扩展ASCII字符的文件名。
3. 库更新
下列第三方库已更新为这些新版本:
- P4Eclipse 2021.2.2264919
- curl 7.85.0
- eclipse-temurin-jdk 17.0.4
- eclipse-temurin-jre 17.0.4
- ffmpeg 4.4.2
- jackson-json-processor 2.13.4
- libtiff 4.4.0
- libxml2 2.10.2
- openssl 1.1.1q
- poco 1.12.2
- sqlite 3.39.3
- zlib 1.2.12