What's New in ENVI 5.4
What's New in ENVI 5.4
This software release includes the new and enhanced features listed below. See the following sections:
Installation and Licensing
ENVI licensing is now managed through a third-party solution from Flexera Software. You obtain the license through a portal hosted by Flexera, then you can choose to activate the license on a license server or on an individual node-locked machine. Details about ENVI licensing are documented in a standalone topic outside of this Help.
By default, ENVI installs under a Harris directory. It was previously Exelis:
- Windows: C:\Program Files\Harris\ENVI54
- Linux: /usr/local/harris/envi54
- Macintosh: /Applications/harris/envi54
ENVI and IDL have separate installers. If IDL and ENVI are both installed on the same system, the Help application contains the help for both products.
Supported Data Types
ENVI supports the following sensors and data types:
Use File > Open to open MODIS (HDF-EOS), ASTER (HDF-EOS), and EO-1 ALI and Hyperion (HDF4) files. In previous versions, you had to use the File > Open As > Optical Sensors > sensor type menu option.
The Dataset Browser was redesigned to let you easily build new ENVI rasters that contain a combination of scientific data, attributes, and latitude/longitude information from HDF and NetCDF files. Use the File > Open As > Scientific Formats > format menu option to access the Dataset Browser. Here are some other updates:
- The Dataset Browser user interface has new icons to simplify the process of building new rasters.
- You can map attributes from the source dataset to standard ENVI header fields.
- You can add standard ENVI header fields to the new raster with known metadata values.
- You can add VData fields from HDF4 files to the new raster. Each raster can only have one VData field. You cannot combine VData fields with other datasets.
- You can select latitude and longitude datasets from the source file and add them to a Geographic Information folder in the Raster Builder. When you display the raster, ENVI georeferences the raster on-the-fly in the Image window, using the latitude and longitude information. It does not actually geocorrect the dataset.
- You can create a report of the data fields and metadata that comprise a raster. The available formats are text, XML, or JSON. With HDF4 files, JSON is the only available option.
- ENVI programmers can manually create XML templates for reading data in HDF4 and NetCDF-3 datasets. Previously, templates only worked with HDF5 and NetCDF-4 datasets. Templates are helpful in building the same raster and metadata structure from several scientific data formats. Using a template prevents you from having to use the Dataset Browser to re-define the raster and metadata for every file. See the "Open Scientific Data Formats" topic in ENVI Help for more information.
The Generate Point Clouds and DSM by Dense Image Matching tool will now generate digital surface models (DSMs) in TIFF format, in addition to point clouds. This tool is part of the ENVI Photogrammetry Module and requires a separate license and installation of that module. This tool runs on Windows 64-bit platforms only.
Use the RPC Orthorectification Using DSM from Dense Image Matching tool to perform RPC orthorectification using a digital surface model (DSM). The DSM is generated from two or more images taken from different view points. It is used as the terrain source to orthorectify the first raster in the input rasters. This tool is part of the ENVI Photogrammetry Module and requires a separate license and installation of that module. This tool runs on Windows 64-bit platforms only.
The RPC Orthorectification Using Reference Image tool was updated to include a new parameter: Output Pixel Size in the X and Y direction, in meters. The default value is derived from the pixel size of the input image.
Use the Edit Classification Image tool to reassign classes in classification images. You can also use this tool with the results of viewshed analysis or thematic change detection.
The Color Point Cloud tool uses red/green/blue (RGB) data from a raster to colorize a LAS file of the same location. Each point of the point cloud receives the RGB value of the raster pixel that has the same location.
The Image Registration workflow has been updated as follows:
- The base image and warp image are displayed using side-by-side views instead of separate windows.
- New buttons and controls are provided for reviewing and managing tie points.
- A new Predict Warp Location option is available. When you click on a feature point in the base image and this option is enabled, ENVI will use an image-matching technique to try to find the corresponding location in the warp image. This prevents you from having to manually select tie points in both images.
Use the Dice Raster tools to separate a raster into tiles based on tile count, distance, pixel count, or a vector shapefile. The Dice Raster tools are in the ENVI Toolbox under Raster Management > Raster Dicer.
The Calculate Cloud Mask Using Fmask tool was redesigned and simplified from the previous version. You no longer have to calibrate the imagery or create a layer stack before adding the imagery to the tool. It automatically calibrates the imagery and determines the appropriate multispectral, thermal, and cirrus bands to use in creating a cloud mask. It currently supports the following sensors:
- Landsat 4-5 TM
- Landsat 7 ETM+
- Landsat 8
- Sentinel-2 Level-1C
- NPP VIIRS Moderate Resolution (750 m) reflectance and brightness temperature SDR data downloaded from NOAA CLASS (HDF5 format)
The Normalized Difference Snow Index (NDSI) was updated to use any green band ranging from 0.5 to 0.6 µm. The NDSI is based on the following references:
Hall, D., G. Riggs, and V. Salomonson. "Development of Methods for Mapping Global Snow Cover Using Moderate Resolution Imaging Spectroradiometer Data." Remote Sensing of Environment 54, No. 2 (1995): 127-140.
Salomonson, V., and I. Appel. "Estimating Fractional Snow Cover from MODIS Using the Normalized Difference Snow Index." Remote Sensing of Environment 89 (2004): 351-360.
The new ENVI classification framework provides a powerful and flexible way to classify data. You can create and train a classifier on one dataset and apply it to a similar dataset. Traditionally, classifiers are tied to one data source. With the new framework, you can train and evaluate the performance of a classifier once and apply it anywhere, including desktop or enterprise environments. Currently, the classification framework uses the ENVI application programming interface (API).
Here are some of the new features included in the classification framework:
- Softmax Regression classifier: Softmax is a generalization of logistic regression that is used for multi-class classification where classes are mutually exclusive. An example is classifying a satellite image into four different classes such as cloud, water, asphalt, and vegetation.
- Iterative and Gradient Descent trainers: These algorithms minimize classification error by iteratively reducing a loss function until it converges on a minimum value.
- Evaluate a classifier: New API routines are available to compute a confusion matrix and accuracy metrics. Once you train and evaluate a classifier, you can save the classifier to an IDL save file and use it to classify other similar datasets.
- New tutorials: "Classification Tutorial 1: Create an Attribute Image" describes how to create an image that consists of different attributes, which typically improves classification results. "Classification Tutorial 2: Collect Training Data" shows how to interactively define regions of interest (ROIs) that represent known land-cover types. The ROIs serve as ground truth data for supervised classification.
See the "ENVI Classification" topic in ENVI Help for details. Also see the "New Classification Routines" section below.
Stretch Types and Histograms
Several updates were made to the ENVI stretch and histogram manipulation tools:
- When you click the new Stretch on View Extent with auto update button, the selected stretch type automatically updates as you pan around the image.
- The Custom Stretch dialog was renamed to Histogram Stretch. It allows better control with red/green/blue histograms (for color images) or with greyscale histograms. You can adjust the minimum and maximum values of the histograms as well as the number of bins.
- The Contrast control works in conjunction with Linear, Equalization, Gaussian, Square Root, and Logarithmic stretch types.
- In previous versions, the stretch type changed to Custom when you adjusted the Contrast setting. The Custom option has since been removed from the Stretch Types drop-down list.
- The Brightness and Contrast controls are enabled when the Custom Histogram Stretch dialog is displayed. As you adjust the Contrast setting, both the minimum and maximum histogram points adjust accordingly in the Custom Histogram Stretch dialog (for red, green, and blue).
- Bipolar Stretch is a new option for the Stretch Types drop-down list.
The Viewshed Analysis workflow and the corresponding API routine (ENVIViewshedRasterTask) were updated with new observer view constraints such as horizontal and vertical field of view, azimuth, and pitch. When combined with range and observer height (which were already in ENVI), these view constraints can more accurately model line-of-sight analyses.
ENVI now uses the Izraelevitz (2003) algorithm for viewshed analysis, which is an extension to the original Xdraw algorithm developed by Franklin et al. (1994). The Izraelevitz algorithm performs well in densely sampled terrain elevation models, and it is significantly faster than the radial interpolation method used in previous versions of ENVI.
Franklin, W. R., C. K. Ray, and S. Mehta. Geometric Algorithms for Siting of Air Defense Missile Batteries, Technical Report DAAL03-86-D-0001 (1994), Battelle, Columbus Division, Columbus, OH, 129 p.
Izraelevitz, D. "A Fast Algorithm for Approximate Viewshed Computation." Photogrammetric Engineering & Remote Sensing 69, No. 7 (2003): 767-774.
The Viewshed Analysis tutorial uses new data files to show different ways to determine visibility from multiple view sources.
You can affix certain annotation items to the display so that they remain stationary while you zoom, pan, and rotate. These are called on-the-glass annotations, and they include text, symbols, classification legends, color bars, and scale bars.
The Create Pyramid if None Exists preference was changed to a drop-down list with more options. It offers better flexibility in choosing whether or not to create pyramid files with datasets that have a large number of bands (such as hyperspectral imagery).
Use the Icon Size preference to adjust the size of icons in the ENVI application. If it is set to Automatic (default), ENVI checks your system's default font size and resizes icons accordingly. Other choices are as follows:
- Original - 100%: Icons display at their original size.
- Medium - 140%: Icons display at 140% of their original size.
You can add four new annotation types to the Image window view. These options are available from the Annotations drop-down menu in the toolbar:
- Legends for classification images
- Scale bars for georeferenced images
- Color bars for single-band greyscale images with color tables applied
- Grid lines for georeferenced images
The Description and/or the Coordinates string from the Feature Counting Tool table now display in the view.
If any layer in a view has a standard, RPC, or pseudo spatial reference, you can change the base projection of the view to any supported map projection. Right-click on the View layer in the Layer Manager and select Change Base Projection, then use the Select Coordinate System dialog to choose a projection.
If a view contains a standard, RPC, or pseudo projection, you can overlay grid lines in that view by clicking the Grid Lines button in the ENVI toolbar.
JPG2000 and NITF C8/M8 compressed rasters display and process faster.
A new "Custom Tasks" tutorial shows how to write a custom task that creates vegetation indices from Sentinel-2A Level-1C imagery. New example files are provided with the tutorial in the
/examples/tasks/sentinelexample folder of the ENVI installation path.
envitaskengine executable to run ENVITasks in command-line environments. You can now plug ENVI analytics into applications in different programming languages or environments that share information. The environments must be able to handle standard streams (
Dehydrate and Hydrate methods were added to all virtual rasters and data type objects.
If you create a custom task that displays a dialog for selecting parameters for an ENVITask or custom API script, you can include a style sheet to define the individual user interface (UI) elements. Examples of UI elements include file selection boxes, color pickers, and text boxes.
The ENVIGLTRasterSpatialRef routine now acts as a constructor function, allowing you to create a new geographic lookup table (GLT) spatial reference in the ENVI API. You can then open an ENVIRaster using the GLT spatial reference. See the ENVIGLTRasterSpatialRef help topic for details.
||Calculate a cloud mask for the following sensors: Landsat 4-5 TM, Landsat 7 ETM+, Landsat 8, Sentinel-2, and NPP VIIRS reflectance/thermal data. The task automatically performs the radiometric calibration required for the Fmask algorithm. You do not need to calibrate the imagery before running this task.
||Color a point cloud using raster data.
||Create a 2D array of subrects based on a specified distance. A subrect is a bounding box used to spatially subset a raster.
||Create a 2D array of subrects based on a specified number of pixels.
||Create a 2D array of subrects based on a specified number of tiles.
||Create a 2D array of subrects based on the spatial extent of individual vector records.
||Separate a raster into tiles based on a specified distance.
||Separate a raster into tiles based on a specified number of pixels.
||Create an array of rasters based on subrects.
||Separate a raster into tiles based on a specified number of tiles.
||Separate a raster into tiles based on the spatial extent of individual vector records.
||Export multiple virtual rasters to a specified directory on disk.
||Export a raster to ENVI file format.
||Compute first-order entropy texture on a raster.
||Compute first-order entropy texture on the label bands of a rank-strength-texture raster.
||Flip a raster horizontally, vertically, or both.
||Return a hash where each key is the task name and each task name key contains a hash of the task's properties.
||Compute label rank and strength texture metrics on a raster.
||Transform the color space of a raster from red/green/blue (RGB) to hue/saturation/intensity (HSI).
|Perform RPC orthorectification using a digital surface model (DSM) generated from a dense image matching method.
||Interchange rows with columns in a raster.
New Classification ENVITasks
||This task applies a gain and offset to the examples in an ENVIExamples object. Its purpose is to get the data into a consistent range of values prior to classification.
||This task returns a reference to an ENVIConfusionMatrix object computed from a classification raster and truth ROIs.
||This task classifies a raster using a trained classifier.
||This task creates a Gradient Descent trainer that can train a classifier using ENVITrainClassifierTask.
||This task creates an iterative trainer that can train a classifier using ENVITrainClassifierTask.
||This task creates a Softmax Regression classifier.
||This task creates a Support Vector Machine (SVM) classifier.
||This task takes in truth examples, truth class values, and a classifier. It uses the classifier and truth examples (ignoring the truth class values) to calculate predicted class values. Then it computes a confusion matrix and accuracy metrics between the truth and predicted class values.
||This task returns a reference to an ENVIExamples object that contains examples, class values, and other properties from an input raster and regions of interest (ROIs).
||This task shuffles the examples and class values from an ENVIExamples object to randomize the order of the examples. Random ordering of the examples is important if the examples are split into multiple sets (such as training and evaluation sets).
||This task splits the examples and class values from an ENVIExamples object into two sets of examples and class values. A common scenario is to use one set for training a classifier and the other set for evaluation.
||This task trains a classifier. It updates the original classifier instead of creating a new output classifier.
New Objects and Methods
||Restore an ENVI session file.
||Create an ENVI session file that specifies a layout configuration, files loaded into views, and their properties.
||Construct an ENVIRaster from a source raster that has been calibrated to radiance, top-of-atmosphere (TOA) reflectance, or brightness temperatures.
||Construct an ENVIRaster from a source raster where first-order entropy texture has been computed on an input raster.
||This is a wrapper around a GeoJSON representation that is stored as an IDL Hash. It is required input for tasks such as ENVIGeoJSONToROITask that need a GeoJSON string.
||This is a reference to an ENVIGridLinesLayer object. Also see the ENVIView::CreateGridLinesLayer method below.
||Construct an ENVIRaster from a source raster where a first-order entropy texture has been computed on a the label bands of a rank-strength-texture raster.
||Create a layer-stacked ENVIRaster from source rasters that have been regridded to a common spatial grid. The source rasters can be band groups within a metaspectral dataset (such as Landsat, ASTER, or Sentinel-2), or they can come from different raster files.
||Construct an ENVIRaster from a source raster that is reflected (flipped) horizontally, vertically, or both.
||Construct an ENVIRaster from a source raster for which rank-based strength and label texture metrics have been computed.
||This function restores a persistable object from disk, including its saved properties and parameters.
||Construct an ENVIRaster from a source raster that has been transformed from a red/green/blue (RGB) to hue/saturation/intensity (HSI) color space.
||Return information about the properties of the parameter.
||Construct an ENVIRaster from a source raster that has been transposed.
||Display a dialog containing a specified user interface (UI) element for selecting object or task parameters. It allows you to preview a user interface element when writing API scripts and custom tasks.
||Display a dialog for selecting regions of interest (ROIs).
||Create grid lines to overlay on a raster or vector layer.
New Classification Routines
||This function applies a gain and offset to the examples in an ENVIExamples object. Its purpose is to get the data into a consistent range of values prior to classification.
||This function returns a reference to an ENVIConfusionMatrix object computed from a classification raster and truth regions of interest (ROIs).
||This function classifies a raster using a trained classifier.
||This function returns a reference to an ENVIConfusionMatrix object, which contains a confusion matrix and classification accuracy metrics that indicate how well a classifier performed.
||This function takes in truth examples, truth class values, and a classifier. It uses the classifier and truth examples (ignoring the class values) to calculate predicted class values. Then it computes a confusion matrix and accuracy metrics between the truth and predicted class values.
||This is a reference to an ENVIExamples object, which contains examples and class values used as input to the training method of a classification trainer and to evaluate the performance of a classifier.
||This function creates an ENVIExamples object that contains examples, class values, and other properties from an input raster and regions of interest (ROIs).
||This function uses a Gradient Descent algorithm to train a classifier that reports a gradient; for example, Softmax Regression.
||This function uses an iterative loop to train a classifier that knows how to update its own weights; for example, Support Vector Machine (SVM).
||This function shuffles examples and class values from an ENVIExamples object in order to create a random distribution of training data used for classification. Random ordering of the examples is important if the examples are split into multiple sets (such as training and evaluation sets).
||This function classifies a dataset using a Softmax regression classifier.
||This function splits examples and class values from an ENVIExamples object into two sets of examples and class values. A common scenario is to use one set for training a classifier and the other set for evaluation.
||This function classifies a dataset using a support vector machine (SVM) classifier.
||This function trains a classifier. It updates the original classifier instead of creating a new output classifier.
The IGNORE_VALIDATE property for ENVITasks has been deprecated and has no effect on task behavior. All task property values are validated when they are set, and they throw an error with bad input.
The ENVITask::Validate method has deprecated.
The CHOICE_LIST, MAX, and MIN properties of ENVITaskParameter may not be present when the TYPE property is set to certain values. Use the QueryProperty method to find out if these properties are available.
In custom task templates, the
version key has changed to
schema with the ENVI 5.4 release. Its only valid value is
envitask 3.0. You can still specify
version but its value must be
5.3.2 or earlier.
For the TYPE property in ENVITaskParameter, one-element arrays are no longer converted to scalars (and vice-versa).
© 2016 Exelis Visual Information Solutions, Inc., a subsidiary of Harris Corporation. All Rights Reserved. This information is not subject to the controls of the International Traffic in Arms Regulations (ITAR) or the Export Administration Regulations (EAR). However, this information may be restricted from transfer to various embargoed countries under U.S. laws and regulations.