This software release includes the new and enhanced features listed below.

See the following sections:

Supported Data Types


ENVI supports the following sensors and data types:

  • KOMPSAT-3A
  • PeruSat-1
  • WorldView-4

ENVI Modeler


The ENVI Modeler is a visual programming tool that you can use to create custom task-based workflows in ENVI. It combines the power of the ENVI application programming interface (API) with a simple and intuitive user interface to help you build workflows without any knowledge of ENVI programming. You can easily batch-process data, run tasks remotely on a Geospatial Services Framework (GSF) server, and generate IDL and Python programs from models. See Visual Programming with the ENVI Modeler. Start the ENVI Modeler by selecting Display > ENVI Modeler from the ENVI menu bar.

ENVI Py


The ENVI Py Engine is a standalone Python API that enables you to run any ENVITask. You can query for available tasks, retrieve task information, and run ENVI and IDL tasks on the desktop. See the Help that comes with the ENVI Py Engine for details.

To run ENVITasks through ArcGIS Pro or ArcMap, you need to install ENVI Py for ArcGIS Pro or ENVI Py for ArcMap. When integrated with ArcGIS, you can run ENVITasks that use data types supported by ArcGIS. The supported data types are:

Bool

Long64

Boolarray

Long64array

Boolean

String

Byte

Stringarray

Bytearray

Uint

Double

Uintarray

Doublearray

Ulong

ENVIURI

Ulongarray

Float

Ulong64

Floatarray

Ulong64array

Int

ENVIVector

Intarray

ENVIRaster

Long

ENVIAgCrops

Longarray

 

All array types can only be one dimension. See the ENVI Py for ArcGIS Help for details.

Data Processing


New broadband indices are available for use with the Spectral Indices tool and API. See Broadband Greenness for details.

  • Green Chlorophyll Index
  • Green Leaf Index
  • Green Optimized Soil Adjusted Vegetation Index
  • Green Soil Adjusted Vegetation Index
  • Modified Soil Adjusted Vegetation Index 2
  • Triangular Greenness Index
  • Wide Dynamic Range Vegetation Index

The Lignin Cellulose Absorption narrowband index is also new. See Dry or Senescent Carbon for details.

The RPC Orthorectification Using Reference Image and Generate GCPs from Reference Image tools have a new Search Window Size parameter. Increasing its value will reduce misalignment between the input raster and the reference raster.

A new Processing Tile Size preference was added. When processing a raster, ENVI breaks it down into chunks or tiles. Use this preference to adjust the size of the tile in Megabytes.

Programming


Asynchronous Framework

The IDL Asynchronous Job Classes were extended for ENVI purposes, introducing classes to run ENVITask asynchronously:

  • ENVIAsyncBridgeTaskJob: Allows the user to specify a single ENVITask that will executed inside an IDL_IDLBridge.
  • ENVIAsyncSpawnTaskJob: Allows the user to specify a single ENVITask that will executed by the ENVITaskEngine.

Backward-Compatibility Notes

The INPUT_POINTCLOUD_URI property was changed to INPUT_POINTCLOUD in the ColorPointCloud task.

The INPUT_RASTER_URI property was changed to INPUT_RASTERS in the following tasks:

  • BuildRasterSeries
  • BuildTimeSeries

The INPUT_RASTERSERIES_URI property was changed to INPUT_RASTERSERIES in the following tasks:

  • RegridRasterSeries
  • RegridRasterSeriesByIndex
  • RegridRasterSeriesByIntersection
  • RegridRasterSeriesByUnion

If you wrote a custom script with these tasks before ENVI 5.5, it will no longer work. You must update your script to use these new properties.

The temporary filenames generated by ENVITasks for output parameters has changed:

  • The old filenames were of the form envitempfile[date][random].[extension]
  • The new filenames are of the form [task name]_[parameter name]_[date][random].[extension]

New Objects

Object

Description

ENVIParameterENVITask

This function creates a new ENVITask parameter object.

ENVITaskFromGSF

ENVITask uses the ENVITaskFromGSF routine if a valid Geospatial Services Framework (GSF) URL is used instead of a task name. This routine communicates with the GSF server to request the definition of the requested task. It also configures the task's properties and parameters, based on that information. It provides a uniform API for running tasks remotely the same way they can be run locally.

You can also use Run GSF Task in the ENVI Toolbox to run ENVITasks on a GSF server, using dynamic user interfaces instead of writing ENVI API scripts.

New ENVITasks

Task

Description

BuildGridDefinitionFromRaster

Create a grid definition based on the spatial reference of another raster.

BuildLayerStack

Create a layer-stacked raster from a set of rasters that will be regridded to a common spatial grid.

CreateSubrectsFromROI

Create an array of subrects based on regions of interest (ROIs).

EditRasterMetadata

Set specific metadata values for an input raster and produce a new raster with the edited metadata. Metadata items that are not set with the task will remain intact.

ExportRasterToNITF20

Export a raster to NITF 2.0 format.

ExportRasterToNITF21

Export a raster to NITF 2.1 format.

ExportRasterToNSIF10

Export a raster to NSIF 1.0 format.

ExportRasterToTIFF

Export a raster to TIFF format.

ExtractRasterFromFile

Open a single raster from an input uniform resource indicator (URI).

GenerateFilename

Specify an output directory for task processing, including a prefix, file extension, and numbers.

LabelRegions

Separate an image into regions, which are groups of contiguous pixels that share the same value. Then label all of the regions with a unique index.

LinearSpectralUnmixing

Perform Linear Spectral Unmixing.

MatchedFilter

Perform a matched filter supervised classification.

MixtureTunedMatchedFilter

Perform a mixture tuned matched filter (MTMF) supervised classification.

PixelPurityIndex

Compute a Pixel Purity Index (PPI).

RunTask

Run a specified ENVITask. It returns a clone of the input task. You can also use Run Task in the ENVI Toolbox to run ENVITasks using dynamic user interfaces instead of writing ENVI API scripts.

SAMImageDifference

Perform image change detection using a spectral angle mapper (SAM) technique.

TopographicFeatures

Compute topographic features from a DEM.

TopographicModeling

Perform topographic modeling on a DEM.

Other Programming Updates

ENVIURI now supports a "force file" sentinel in the form of an exclamation symbol (!). With ENVITasks that have required or optional output rasters, you can set the OUTPUT_RASTER_URI property to an exclamation symbol to create a temporary file.

In previous versions, ENVITasks that produced virtual output required the creation of an output file. Now you can set the OUTPUT_RASTER_URI property to an asterisk symbol (*) to indicate that you want virtual output only without requiring an output file.

A revision key was added to all task files, so that users can keep track of task definition changes between versions. Because of this update to the task template, the task schema key is now envitask_3.2.

The following type key was introduced to task templates: ENVIVirtualizableURI. This data type is a string that references a filename or folder to use, or that virtual output was requested.

The following user interface classes are new for ENVITasks:

  • ENVIPointCloud_UI: Select a LAS-format point cloud file.
  • ENVIPointCloudSpatialRef_UI: Enter parameters for a spatial reference object that applies to ENVI point clouds.
  • IDLRadioButtons_UI: Create a set of buttons for the user to choose from. The buttons can be exclusive (only one item can be selected) or non-exclusive (multiple items can be selected).

The following are new parameter classes for various data types. They inherit from the appropriate IDLParameter* base class. They provide better dehydration and rehydration support for DEFAULT or VALUE parameters in the task template. You can use these objects to create custom data types for ENVITasks:

  • ENVIParameterENVIVirtualizableURI
  • ENVIParameterENVIVirtualizableURIArray