Skip to content

创建简单的 ENVI 模型

来源: https://vis-webcontent.s3.amazonaws.com/quickguides/Automated+Processing/Creating+a+Simple+ENVI+Model/index.html#/

课程内容

第 1 课,共 1 课

创建简单的 ENVI 模型

本快速指南将引导您了解如何在 ENVI Modeler 中构建简单模型,并提供不同的数据输入选项。您可以在 ENVI Modeler 入门 快速指南中找到其他介绍性信息。

您将学习如何构建和运行用于多光谱图像非监督分类的简单模型。您将创建一个使用固定栅格作为输入的模型,以及一个类似的允许您指定自己输入栅格的模型。

ENVI Modeler 输入选项:

ENVI Modeler 支持使用以下节点类型来为模型设置数据输入:

  • 文件(File) - 此节点允许您选择计算机上保存的一个或多个文件。
  • 数据集(Dataset) - 此节点允许您指定一个或多个已在 ENVI 中打开的文件。
  • 输入参数节点(Input Parameters) - 此节点允许您设置各种输入参数。运行模型时,将显示一个对话框,提示您选择输入,并为您连接到此节点的任务设置任何其他参数。
  • 值数组(Array of Values) - 此节点允许您指定一个数字或字符串数组,用作任务的输入。

您也可以在任务节点本身内部设置输入。

在本快速指南中,我们将使用文件(File)和输入参数(Input Parameter)节点选项创建示例模型。

示例 1:创建具有预定义输入文件的模型

您将创建一个简单模型,对多光谱图像执行非监督分类,并在 ENVI 中查看输出。

如果您在本地计算机上进行测试,并且希望避免每次调整参数后运行流程时都要选择输入文件,那么预定义文件会很有用。此外,以这种方式设置硬编码文件是生成 ENVI 模型对应的 Python 程序的必要条件。您可以查看 导出 ENVI 模型 快速指南,了解有关导出模型的更多详细信息。

  1. 打开 ENVI Modeler:显示(Display) > ENVI Modeler。将出现一个带有空白布局窗口的 无标题(Untitled) 选项卡。
  2. 基础节点(Basic Nodes) 下双击 文件(File)。将出现一个 选择类型(Select Type) 面板。
  3. 单击 栅格(Raster)。将出现一个 选择文件(Select Files) 对话框。
  4. 转到 ENVI 安装路径中的 "data" 目录。
    Windows: C:\Program Files\NV5\ENVIxx\data (xx 是版本号)
    Linux: /user/local/NV5/envixx/data
    Mac: /Applications/NV5/envixx/data
  5. 选择文件 qb_boulder_msi 并单击 打开(Open)
    这是科罗拉多州博尔德市的一幅 QuickBird 多光谱图像。它有四个波段:波段 1(蓝色)、波段 2(绿色)、波段 3(红色)和波段 4(近红外)。
    一个名为 qb_boulder_msi 的蓝色节点出现在布局窗口中,如下所示:

  1. 任务(Tasks) 下的搜索栏中输入 isodata。双击 ISODATA 分类(ISODATA Classification)。这会将一个黄色的 ISODATA 分类(ISODATA Classification) 任务节点添加到布局窗口。
    当您选择一个任务时,您将在任务列表下方看到该任务的简要描述。您可以单击搜索框右侧的 重置(Reset) 按钮来移除您搜索的关键字,并使用旁边的 按标签筛选(Filter by Tag) 按钮按类别搜索任务。您也可以右键单击任何任务并选择 查找类似任务(Find Similar Tasks),以用具有相同类别标签的其他任务填充搜索结果。
  2. 基础节点(Basic Nodes) 下双击 视图(View)。这会添加一个名为 视图(View) 的绿色节点。或者,如果您希望输出出现在当前会话的 ENVI 数据管理器(Data Manager)中,而不是显示在 ENVI 视图中,可以选择数据管理器(Data Manager)节点而不是视图(View)节点。您也可以让您的分类节点连接到 视图(View)数据管理器(Data Manager) 两个节点,以获得两种结果。
    要调整节点的位置,请左键单击并按住一个节点,将其拖动到新位置。
  3. 现在您必须连接节点。当您将鼠标悬停在节点的右箭头或左箭头上时,鼠标会变为十字准线符号。将鼠标悬停在 qb_boulder_msi 节点的右箭头上,直到看到十字准线,然后左键单击并将出现的虚线拖到 ISODATA 分类(ISODATA Classification) 节点的左侧箭头上。如果连接有效,虚线会变为实线,此时您可以松开鼠标点击。现在,文件节点和任务节点之间有了一个实心的连接线。
  4. ISODATA 分类(ISODATA Classification) 节点中的右箭头连接到 视图(View) 节点中的左箭头。

现在您已经为这个简单模型拥有了三个节点和两个连接器,如下所示。您可以单击 Modeler 工具栏中的 自动布局(Automatic Layout) 图标,以便更整齐地排列节点。其左侧的 模型居中(Center Model) 图标将使您的模型在布局窗口中居中。

文件节点 qb_boulder_msi 的右下角有一个图标,允许您更改要作为输入的文件,如下所示。

如果您更改了输入文件的路径、想在另一台计算机上运行模型,或者想选择其他文件作为输入,可以使用此图标确保指向正确的文件。

与大多数任务(Task)节点和一些基础(Basic)节点一样,ISODATA 分类(ISODATA Classification) 节点的右下角有另一个图标,即 参数(Parameters) 图标,允许您更改该节点的参数:

  1. 单击 ISODATA 分类(ISODATA Classification) 节点中的 参数(Parameters) 图标。这将打开此任务的参数窗口,如上图所示。您将看到输入栅格(Input Raster)参数已自动填充为 <- qb_boulder_msi。这表示与文件节点存在连接。
  2. 保留面板中的默认参数。如果您想保存输出栅格,可以选择输出栅格(Output Raster)的名称和位置;或者留空以创建虚拟栅格。单击 确定(OK) 关闭面板。
  3. 双击第一个和第二个节点之间的连接器。这将打开 编辑连接参数(Edit Connection Parameters) 窗口,并以青色高亮显示该连接,如下所示。您会看到一条红线将左侧的 qb_boulder_msi 连接到右侧的 输入栅格(Input Raster)。这表明您为文件节点选择的文件将成为分类节点的输入。
    由于这是这些节点之间唯一可能的连接,因此自动建立了连接。如果两个节点之间可能存在多个连接,则在建立连接时会弹出 连接参数(Connect Parameters) 对话框,以便您可以手动指定正确的连接。要建立连接,请单击左列的项目,然后单击右列要与之匹配的项目。单击任一已连接的项目可移除连接。

  1. 单击 确定(OK) 关闭对话框。
  2. 双击第二个和第三个节点之间的连接器。这将打开 编辑连接参数(Edit Connection Parameters) 窗口。您将看到一条红线将左侧的 输出栅格(Output Raster) 连接到右侧的 输入栅格(Input Raster)。它表明分类任务的唯一输出是一个栅格,并且该栅格将成为 ENVI 视图的输入。
    视图(View)列中"输入栅格(Input Raster)"下方的所有选项都是此节点可以接受作为输入的其他文件类型,如果它们是您感兴趣的任务的输出。

  1. 单击 确定(OK) 关闭对话框。

保存、验证和运行模型

现在您已经完成了用于非监督分类的模型,可以保存、验证和运行它了。

  1. 要保存模型,请从 Modeler 菜单栏中选择 文件(File) > 保存(Save)文件(File) > 另存为(Save As)。为文件选择名称和位置,然后单击 保存(Save)。它将具有 .model 扩展名。
  2. 从 Modeler 菜单栏中,选择 代码(Code) > 验证模型(Validate Model)。这将显示一个 模型验证报告(Model Validation Report) 对话框,指示模型中的任何错误或警告。
  3. 单击 确定(OK) 关闭对话框。
  4. 要运行模型,请单击 Modeler 工具栏上的 运行(Run) 按钮,或从 Modeler 菜单栏中选择 代码(Code) > 运行模型(Run Model)。所有节点首先变为灰色,然后变为绿色,表示执行完成。
  5. 最小化 ENVI Modeler 窗口并转到 ENVI 图像窗口(Image window)。模型的分类输出将显示出来,如下所示:

*示例 2:创建具有输入参数的模型*

与使用 文件(File)数据集(Dataset) 节点将硬编码文件指定为模型输入不同,您可以修改模型,使用户在运行模型时被提示选择输入文件。您可以使用 输入参数(Input Parameters) 节点来实现这一点。输入参数(Input Parameters) 节点还允许用户在运行模型时指定任务中任何参数的值,而无需预先设置。

输入参数(Input Parameter) 节点在创建将要共享的模型时非常有用,因为它们不依赖于为数据集设置固定路径。因此,它们允许用户在运行模型时灵活选择要处理的任何文件。

  1. 使用您上面构建的简单模型打开 ENVI Modeler 窗口:显示(Display) > ENVI Modeler
  2. 使用 文件(File) > 另存为(Save As) 将其保存为新模型。为此模型选择一个新名称,然后单击 保存(Save)
  3. 右键单击青色文件节点 qb_boulder_msi,然后选择 删除(Delete)
  4. 基础节点(Basic Nodes) 列表中,双击 输入参数(Input Parameters)。这会将一个粉红色的 输入参数(Input Parameters) 节点添加到布局中。
  5. 将此节点拖放到其他节点的左侧,即原来文件节点所在的位置。
  6. 输入参数(Input Parameters) 节点和 ISODATA 分类(ISODATA Classification) 节点之间绘制一个连接器。这将弹出 连接参数(Connect Parameters) 对话框。
    此对话框允许您指定希望在运行模型时(而不是在任务节点本身内部)设置分类节点的哪些输入。
  7. 单击左列中的 添加新输入项(Add New Input(s)),然后单击右列中的 输入栅格(Input Raster)。一条红线连接了选中的项。
  8. 单击右列中的 输出栅格 URI(Output Raster URI)。一条绿线将此项目连接到左列中的 添加新输入项(Add New Input(s)) 项目。
    如果您想设置分类任务中任何其他参数的值,可以创建与 添加新输入项(Add New Input(s)) 项目类似的连接。

  1. 单击 确定(OK) 关闭 连接参数(Connect Parameters) 对话框。
  2. 单击 ISODATA 分类(ISODATA Classification) 节点上的参数图标。输入栅格(Input Raster)输出栅格(Output Raster) 字段都将自动填充为从输入参数节点中选择的字段,如下所示。您可以在此处调整所有其他参数。

  1. 单击 确定(OK) 关闭对话框。
  2. 单击 输入参数(Input Parameters) 节点上的参数图标。您可以编辑将提示您为每个添加项选择文件名的标题。

  1. 单击 确定(OK) 关闭对话框。

您可以在此处下载此示例模型:

[SimpleModel2.model

2 KB

下载(Download) 带下划线的向下箭头图标](assets/SimpleModel2.model)

运行具有输入参数的模型

现在新模型已完成,您可以运行它。在运行之前保存模型也是一个好主意,以防程序崩溃导致未保存的更改丢失。

  1. 保存(Save) 模型。
  2. 单击工具栏上的 运行(Run),或从 Modeler 菜单栏中选择 文件(File) > 运行(Run)
    所有节点将首先变为灰色。然后输入参数节点会以黄色高亮显示。将出现一个以您模型名称命名的对话框,提示您选择 输入栅格(Input Raster) 并指定 输出栅格 URI(Output Raster URI)
  3. 单击 输入栅格(Input Raster) 右侧的三点图标。这将打开 数据选择(Data Selection) 对话框。
  4. 单击 打开文件(Open File) 图标,导航到 ENVI 安装路径中的 "data" 目录:
    Windows: C:\Program Files\NV5\ENVIxx\data (xx 是版本号)
    Linux: /user/local/NV5/envixx/data
    Mac: /Applications/NV5/envixx/data
  5. 单击 打开(Open)。在 数据选择(Data Selection) 对话框中高亮显示 qb_boulder_msi,然后单击 确定(OK)
  6. 单击 输出栅格(Output Raster) 右侧的三点图标。将出现 数据选择(Data Selection) 对话框。
  7. 导航到要保存输出的目录,指定文件名,然后单击 打开(Open)

  1. 单击确定(OK) 继续。节点将在运行时变为绿色。完成后,输出将显示在 ENVI 图像窗口(Image window) 中,与之前运行的情况相同。

本快速指南到此结束。

您的意见对我们非常重要,请花几分钟时间填写我们的快速指南反馈(Quick Guide Feedback) (在新标签页中打开)表单。

© 2024 NV5 Geospatial Solutions, Inc. 此信息不受国际武器贸易条例(ITAR)或出口管理条例(EAR)的约束。