What's New in ENVI 5.4.1

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:

With the classified ENVI DoD plug-in, ENVI can read NITF files with replacement sensor model (RSM) georeferencing. It will save the RSM spatial reference to an ENVI header file, and it can repopulate a new NITF file with the same spatial reference information.

ADS80 tiled files now open as one image instead of as individual TIFF files. Use the File > Open menu option and select an .ads file.

ENVI reads reflectance gain and offset metadata from SPOT-7 and Pleiades DIMAP V2 imagery. You can calibrate these images to top-of-atmosphere reflectance using the Radiometric Calibration tool.

Display Tools

When setting a default stretch for images in ENVI format, you can specify optional minimum and maximum values to apply. If you do not specify a range of values, then the default maximum and minimum values will be calculated using 2% and 98% thresholds from the image histogram. This feature has always applied to Linear stretches. Now it includes Square Root, Gaussian, Equalization, and Logarithmic stretches.

Image Processing

ENVI supports ArcGIS versions 10.4 and 10.5.

ADS80 images can be used with the ENVI Photogrammetry Module.

The Generate Point Clouds and DSM by Dense Image Matching tool (available with the ENVI Photogrammetry Module) has two new parameters:

Masking updates:

Programming

The ENVI API Programming Guide in the ENVI Help has a new Metatasks topic with a working example of how to create "a task of tasks" using the ENVI API.

The ENVI routine has a new API_VERSION property. Its value represents the semantic version for the ENVI API. This version number is different from the marketing version number (for example, 5.4.1). Semantic versioning provides a quick way to extract information about a new software release using a convention of X.Y.Z, where:

Backward-Compatibility Notes

IDL 8.6.1 introduces better error messages from JSON_PARSE on malformed input, including contextual information. This feature introduced a new member variable to the IDLffJson class, which can cause problems with save files built in IDL 8.6 or earlier. If your save file includes the JSON_PARSE or JSON_SERIALIZE function, then loading that save file into IDL 8.6.1 will replace the definition of the IDLffJson class with the older version, and subsequent calls to JSON_PARSE and JSON_SERIALIZE will cause a runtime error due to an unknown member variable. The fix is to rebuild your save file in IDL 8.6.1, or to explicitly call RESTORE on your save file with the /SKIP_EXISTING keyword to prevent the replacement of the class definition.

The default schema key has changed to envitask_3.1 in task templates. This schema allows you to set the uri_param property on output parameters of API objects that are URI-based. The uri_param property is set to the name of an input parameter of type ENVIURI or ENVIURIArray that you want to associate with the output parameter. This property is used by the ENVIUI::SelectTaskParameters method to automatically populate the URI parameter widgets when it is displayed. The uri_param property is not supported in previous task schema versions.

New Objects

Object

Description

ENVICastRaster

Construct an ENVIRaster from a source raster where pixel values have been converted to a specified data type; for example, unsigned integer.

ENVINITFCSMRasterSpatialRef

This is a reference to a NITF replacement sensor model (RSM) spatial reference object. It is only available with the classified ENVI DoD plug-in.

New ENVITasks

Task

Description

BinaryMorphologicalFilter

Perform binary morphological filtering on an ENVIRaster.

CastRaster

Convert pixel values in an ENVIRaster to a different data type; for example, unsigned integer.

ExtractRastersFromRasterSeries

Extract individual rasters from an ENVIRasterSeries.

GrayscaleMorphologicalFilter

Perform grayscale morphological filtering on an ENVIRaster.

PixelwiseBandMathRaster

Apply a mathematical expression to an ENVIRaster on a pixel-by-pixel basis.

ROIStatistics

Compute statistics from one or more ENVIROIs and their associated raster.

Parameter Classes

The following are new parameter classes for each ENVI data type. They provide better dehydration and rehydration support for DEFAULT or VALUE parameters in task templates. Advanced ENVI API programmers can use these objects to create custom data types for ENVITasks. These replace the ENVITaskParameter routine, which has been deprecated.

ENVIParameterENVIAbortable

ENVIParameterENVIClassifier

ENVIParameterENVIClassifierArray

ENVIParameterENVIConfusionMatrix

ENVIParameterENVIConfusionMatrixArray

ENVIParameterENVICoordSys

ENVIParameterENVICoordSysArray

ENVIParameterENVIExamples

ENVIParameterENVIExamplesArray

ENVIParameterENVIGCPSet

ENVIParameterENVIGCPSetArray

ENVIParameterENVIGeoJSON

ENVIParameterENVIGLTRasterSpatialRef

ENVIParameterENVIGLTRasterSpatialRefArray

ENVIParameterENVIGridDefinition

ENVIParameterENVIGridDefinitionArray

ENVIParameterENVIPointCloud

ENVIParameterENVIPointCloudBase

ENVIParameterENVIPointCloudProductsInfo

ENVIParameterENVIPointCloudQuery

ENVIParameterENVIPointCloudSpatialRef

ENVIParameterENVIPointCloudSpatialRefArray

ENVIParameterENVIPseudoRasterSpatialRef

ENVIParameterENVIPseudoRasterSpatialRefArray

ENVIParameterENVIRaster

ENVIParameterENVIRasterArray

ENVIParameterENVIRasterMetadata

ENVIParameterENVIRasterMetadataArray

ENVIParameterENVIRasterSeries

ENVIParameterENVIRasterSeriesArray

ENVIParameterENVIROI

ENVIParameterENVIROIArray

ENVIParameterENVIRPCRasterSpatialRef

ENVIParameterENVIRPCRasterSpatialRefArray

ENVIParameterENVISpectralLibrary

ENVIParameterENVISpectralLibraryArray

ENVIParameterENVIStandardRasterSpatialRef

ENVIParameterENVIStandardRasterSpatialRefArray

ENVIParameterENVITaskCatalog

ENVIParameterENVITaskInfo

ENVIParameterENVITiePointSet

ENVIParameterENVITiePointSetArray

ENVIParameterENVITime

ENVIParameterENVITimeArray

ENVIParameterENVITrainer

ENVIParameterENVITrainerArray

ENVIParameterENVIURI

ENVIParameterENVIURIArray

ENVIParameterENVIVector

ENVIParameterENVIVectorArray