利用ENVI Modeler可以轻松构建批处理。

在批处理时,我们需要自动设定输出文件名。ENVI目前提供了一个ENVIGenerateFilenameTask可以自动生成文件名,但是只能设定固定前缀+索引+后缀”的格式,会丢失输入文件名。

本着服务大家的目的,特意编写了一个自定义ENVITask——Generate_Output_Filename,可以设定输入文件名+后缀”的格式。

请大家下载zip压缩包。

下载链接:https://pan.baidu.com/s/1tUUH1FiyFodZq_H3YlL31w?pwd=envi

解压得到ENVI_Generate_Output_Filename文件夹,将其拷贝到:

  • C:\Program Files\Harris\ENVI5x\custom_code\

重启ENVI即可。

本文以批量计算NDVI、去除异常值、密度分割流程为例进行介绍。

1)   启动ENVI Modeler有两种方式:

工具箱:/Task Processing/ENVI Modeler

主菜单:Display > ENVI Modeler

2)   在左侧Basic Nodes中,将File用鼠标拖拽到右侧空白区(也可以通过双击实现)。在弹出的Select Type对话框中选择Raster。然后可以多选栅格图像文件(ENVI格式二进制文件、hdr文件、tif文件等能够被ENVI直接识别的均可)。如下图所示,我选择了5个hdr文件。 

envfrom批量生成环境变量 envi批量转换格式_envfrom批量生成环境变量

节点效果如下图所示:

envfrom批量生成环境变量 envi批量转换格式_envfrom批量生成环境变量_02

注:本节点同样可以使用Dataset类型。

3)   在左侧Basic Nodes中,将Iterator用鼠标拖拽到右侧空白区。并将RasterIterator节点相连。如下图所示。

envfrom批量生成环境变量 envi批量转换格式_envfrom批量生成环境变量_03

4)   在左侧Tasks中,将Spectral Index用鼠标拖拽到右侧空白区,并将Iterator与之相连。单击节点中

envfrom批量生成环境变量 envi批量转换格式_文件名_04

设置节点参数如下:

envfrom批量生成环境变量 envi批量转换格式_建模_05

建模效果如下:

envfrom批量生成环境变量 envi批量转换格式_envfrom批量生成环境变量_06


5)   按照前边的步骤,依次在后边添加如下节点:

envfrom批量生成环境变量 envi批量转换格式_envfrom批量生成环境变量_07

建模效果如下图所示:

envfrom批量生成环境变量 envi批量转换格式_文件名_08


6)   下面添加自动生成输出文件名的Task。在左侧Tasks中,将Generate Output Filename用鼠标拖拽到右侧空白区,连接在Iterator后边,并设置如下参数。输出路径(Output Directory)可根据自己需要进行设置。

 

envfrom批量生成环境变量 envi批量转换格式_拖拽_09

注:Delete Existing File的目的是删除已存在输出文件。

然后将Generate Output FilenameColor Slice Classification相连,在弹出的对话框中按照如下进行设置。

 

envfrom批量生成环境变量 envi批量转换格式_拖拽_10

建模效果如下图所示:

envfrom批量生成环境变量 envi批量转换格式_文件名_11

 

7)   在左侧Basic Nodes中,依次将Data ManagerView节点拖拽到右侧,并将Color Slice Classification节点与之相连。目的是将最终结果添加到Data Manager和加载显示。最终效果如下图:

envfrom批量生成环境变量 envi批量转换格式_envfrom批量生成环境变量_12

 

8)   单击Run按钮执行模型。

本文模型下载链接:https://pan.baidu.com/s/1ZIE2KyoWEG8H87mZlH3c_g 密码:ksey

文件名为:批量计算NDVI密度分割.model