利用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文件。
节点效果如下图所示:
注:本节点同样可以使用Dataset类型。
3) 在左侧Basic Nodes中,将Iterator用鼠标拖拽到右侧空白区。并将Raster与Iterator节点相连。如下图所示。
4) 在左侧Tasks中,将Spectral Index用鼠标拖拽到右侧空白区,并将Iterator与之相连。单击节点中
设置节点参数如下:
建模效果如下:
5) 按照前边的步骤,依次在后边添加如下节点:
建模效果如下图所示:
6) 下面添加自动生成输出文件名的Task。在左侧Tasks中,将Generate Output Filename用鼠标拖拽到右侧空白区,连接在Iterator后边,并设置如下参数。输出路径(Output Directory)可根据自己需要进行设置。
注:Delete Existing File的目的是删除已存在输出文件。
然后将Generate Output Filename与Color Slice Classification相连,在弹出的对话框中按照如下进行设置。
建模效果如下图所示:
7) 在左侧Basic Nodes中,依次将Data Manager和View节点拖拽到右侧,并将Color Slice Classification节点与之相连。目的是将最终结果添加到Data Manager和加载显示。最终效果如下图:
8) 单击Run按钮执行模型。
本文模型下载链接:https://pan.baidu.com/s/1ZIE2KyoWEG8H87mZlH3c_g 密码:ksey
文件名为:批量计算NDVI密度分割.model