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