The Harris Geospatial maintenance program allows you to pay a reasonable yearly fee and receive new products versions and updates as they become available.

4733 Rate this article:
No rating

What's New in ENVI 5.4, Service Pack 1

Nate Oscar

What's New in ENVI 5.4, Service Pack 1

This software release includes the new and enhanced features listed below. See the following sections:

  • Supported Data Types
  • Display Tools
  • Image Processing
  • Programming

Supported Data Types

ENVI supports the following sensors and data types:

  • ADS80 Level-2 products (ENVI previously supported only Level-1 products)
  • Landsat 8 Surface Reflectance data
  • PlanetScope
  • Sentinel-2 Level-2A, including files distributed by Amazon Web Services
  • Sentinel-3 Ocean and Land Colour Instrument (OLCI) and Sea and Land Surface Temperature Radiometer (SLSTR)
  • UrtheCast Theia

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:

  • Terrain Type: Choose whether the input image contains mostly flat or mountainous terrain. The associated API routine, ENVIGeneratePointCloudsByDenseImageMatchingTask, has a new TERRAIN_TYPE parameter.
  • Refine Point Clouds: If this is set to Yes, the output point clouds will have smoothed height values but will not contain any intensity or color information. The associated API routine, ENVIGeneratePointCloudsByDenseImageMatchingTask, has a new REFINE_ POINT_CLOUDS parameter.

Masking updates:

  • A new Data Ignore Value field is available in the Save File As Parameters dialog when you save an image to disk. This allows you to select a specific pixel value that ENVI should ignore when processing an image or computing statistics. Click the Find Suitable Data Ignore Value button to automatically find a suitable value to use, based on the image statistics and data type.
  • The Apply Mask tool was removed from the ENVI Toolbox. Instead, use the Mask button in the File Selection dialog to select a masked raster. See the Masks help topic for details. Also, the Build Mask tool was renamed to Build Raster Mask.
  • A new Masks help topic describes how to create and apply masks in the ENVI user interface and API.
  • Most ENVITasks now support the use of masks.


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:

  • X represents the major version. An incremented value indicates that API additions and updates are not backward-compatible.
  • Y represents the minor version. An incremented value indicates that API additions and updates are backward-compatible.
  • Z represents the patch number. An incremented value indicates bug fixes that do not affect the API.

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

Object Description
ENVIBinaryMorphologicalFilterTask Perform binary morphological filtering on an ENVIRaster.
ENVICastRasterTask Convert pixel values in an ENVIRaster to a different data type; for example, unsigned integer.
ENVIExtractRastersFromRasterSeriesTask Extract individual rasters from an ENVIRasterSeries.
ENVIGrayscaleMorphologicalFilterTask Perform grayscale morphological filtering on an ENVIRaster.
ENVIPixelwiseBandMathRasterTask Apply a mathematical expression to an ENVIRaster on a pixel-by-pixel basis.
ENVIROIStatisticsTask 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.


Please login or register to post comments.

Get the latest geospatial analysis and data visualization technology as soon as it’s available and for a fraction of the costs. Maintenance customers have access to our world class technical support team to walk you through the answers to your ENVI and IDL related questions.

Update your Software >