exelisvis.com / Docs Center / Using ENVI / What's New in ENVI 5.3

ENVI

What's New in ENVI 5.3

What's New in This Release

ENVI 5.3 includes the new and enhanced features listed below. See the following sections:

Sensors and Data Formats


ENVI reads and displays imagery from the following sensors and data formats:

  • Deimos-2
  • DubaiSat-2
  • Pleiades-HR and SPOT mosaic tiles
  • GeoPackage vectors
  • Google-formatted SkySat-2
  • Sentinel-2

Image Processing


Point Clouds

Use the Generate Point Clouds by Dense Image Matching tool to create point clouds in LAS format from two or more satellite images taken from different view points. The following sensors are supported:

  • DPPDB with a generic RPC sensor model
  • GeoEye-1 in DigitalGlobe format (.til) and PVL format
  • IKONOS
  • Pleiades-1A
  • QuickBird
  • SPOT-6
  • WorldView-1 through -3

This tool runs on Windows 64-bit platforms and requires a separate license for the ENVI Photogrammetry Module (formerly the ENVI Orthorectification Module), which also includes access to Rigorous Orthorectification.

QUAC

The QUick Atmospheric Correction (QUAC)® algorithm was updated to the latest baseline source code from Spectral Sciences, Inc. The following reference summarizes the updated algorithm:

Bernstein, L. S., X. Jin, B. Gregor, and S. Adler-Golden. "Quick Atmospheric Correction Code: Algorithm Description and Recent Upgrades." Optical Engineering 51, No. 11 (2012): 111719-1 to 111719-11.

It contains the following enhancements to improve the accuracy of atmospheric correction:

  • Applies mud filtering to exclude highly structured materials.
  • Selects endmembers based on a small subset of available bands for most sensors. When a sensor spans both the visible and NIR-SWIR spectral regions, the algorithm excludes bands in the visible region.
  • Constrains the gain curve to be constant for wavelengths below 650 nm.
  • Suppresses the effects of dense vegetation.
  • Removes cloud endmembers for hyperspectral sensors with 940 to 1020 nm water absorption bands.

QUAC also works with images where pixels are masked out or set to NoData, NaN, and Infinity.

GMTED2010

A higher-resolution version of the GMTED2010 DEM (7.5 arc seconds) is available for download from the Exelis VIS website. We recommend using this version for RPC Orthorectification and automatic tie-point generation in Image Registration because it will significantly improve the accuracy of the results. See GMTED2010 Overview for details.

New Spectral Indices

The Normalized Difference Mud Index (NDMI) highlights muddy or shallow-water pixels. This index was originally designed as a filter to exclude those pixels and to improve the accuracy of QUick Atmospheric Correction (QUAC)®.

The Modified Normalized Difference Water Index (MNDWI) enhances open water features while suppressing noise from built-up land, vegetation, and soil. Xu (2006) reported that the MNDWI produced better results than the Normalized Difference Water Index originally developed by McFeeters (1996) in enhancing and extracting water from a background that is dominated by built-up land areas.

The Spectral Indices tool now lists only the spectral indices that are available to compute from an input raster, based on its wavelength metadata. It previously listed all spectral indices, then issued an error message if you selected any that could not be computed for the input raster.

User Interface


Numerous performance enhancements have been included in this release, improving the speed and efficiency of ENVI when working with multiple datasets and raster series animation.

ENVI imagery can now be saved to Geospatial PDF files. Select File > Chip View To > Geospatial PDF to capture all georeferenced data layers displayed in the current view, or use File > Export View To > Geospatial PDF to select and export entire georeferenced raster layers.

Use the Regrid Raster Series tool (under the Spatiotemporal Analysis folder in the Toolbox) to define a custom grid and to regrid a raster series to it. A custom grid definition is a combination of a coordinate system, spatial extent, pixel size, number of rows and columns, and/or tie-point pixel and map coordinates.

Right-click on the Classes folder of an ENVI classification image and select Edit Class Names and Colors to edit the default names and colors of individual classes.

The Clump Classes and Sieve Classes dialogs allow you to preview processing results.

The Edit ENVI Header dialog has been replaced by the Set Raster Metadata dialog. Use this to edit the values of ENVI header fields and to save the results to an ENVI header file. In the Toolbox, select Raster Management > Edit ENVI Header to access the Set Raster Metadata tool.

The Jagwire product, available from Exelis VIS, provides a server that streams imagery and video for display and analysis. Use the redesigned and simplified Remote Connection Manager to connect to Jagwire servers, perform spatial and time queries on their contents, and open raster data that represents properties of geographic locations.

The File Selection dialog now includes buttons for subsetting by raster, by vector, by region of interest (ROI), or by map coordinates. Click the Spatial Subset button in the File Selection dialog to access these options.

The File > Save As menu option now includes buttons for creating a masked raster file. A mask can be defined from another raster, a vector, or one or more ROIs. Click the Mask button in the File Selection dialog to access these options.

The ENVI LiDAR application has been merged into ENVI. To open the ENVI LiDAR window select LiDAR > Launch ENVI LiDAR from the Toolbox, or select Display > ENVI LiDAR from the ENVI menu bar.

Analyze data over time with a spatiotemporal Series Profile. From the main menu, select Display > Profiles > Series to launch the plot window.

ENVI profiles now provide adjustable smoothing to plotted data. Select Options > Curve Smoothing to display the slider control.

Programming


ENVIQUACTask and ENVI_QUAC_DOIT were updated to the latest algorithm from Spectral Sciences, Inc., documented in the following reference:

Bernstein, L. S., X. Jin, B. Gregor, and S. Adler-Golden. "Quick Atmospheric Correction Code: Algorithm Description and Recent Upgrades." Optical Engineering 51, No. 11 (2012): 111719-1 to 111719-11.

Tasks

The following table lists new ENVITasks. You can also publish these tasks to client applications using ENVI Services Engine.

Task

Description

ENVIAdditiveLeeAdaptiveFilter

Apply a Lee adaptive filter to smooth noisy data that has an additive component.

ENVIAdditiveMultiplicativeLeeAdaptiveFilterTask

Apply a Lee adaptive filter to smooth noisy data that has an additive and multiplicative component.

ENVIBinaryGTThresholdRasterTask

Create a raster where values above a specified threshold are set to 1 and all other values are set to 0.

ENVIBinaryLTThresholdRasterTask

Create a raster where values below a specified threshold are set to 1 and all other values are set to 0.

ENVIBitErrorAdaptiveFilterTask

Apply a bit error adaptive filter to a raster.

ENVIBuildMosaicRasterTask

Build a mosaic raster based on a set of input rasters.

ENVICalculateQUACGainOffsetTask

Calculate the gain and offset for QUAC on multispectral or hyperspectral imagery.

ENVIDataValuesMaskRasterTask

Export a data values mask raster to an ENVI-format file.

ENVIDirectionalFilterTask

Apply a directional filter to a raster.

ENVIDirectionalKernelTask

Define a directional kernel for use with convolution filtering.

ENVIEnhancedFrostAdaptiveFilterTask

Apply an enhanced Frost filter to a raster, to reduce speckling while preserving edges.

ENVIEnhancedLeeAdaptiveFilterTask

Apply an enhanced Lee filter to a raster, to reduce speckling while preserving texture information.

ENVIExportColorSlicesTask

Export raster color slices to a density slice range (DSR) file.

ENVIFrostAdaptiveFilterTask

Apply a Frost filter to a raster, to reduce speckling while preserving edges.

ENVIGammaAdaptiveFilterTask

Apply a gamma filter to a raster, to reduce speckling while preserving edges.

ENVIGaussianHighPassFilterTask

Apply a Gaussian high pass filter to a raster.

ENVIGaussianHighPassKernelTask

Define a Gaussian high pass filter for use with convolution filtering.

ENVIGaussianLowPassFilterTask

Apply a Gaussian low pass filter to a raster.

ENVIGaussianLowPassKernelTask

Define a Gaussian low pass filter for use with convolution filtering.

ENVIGeneratePointCloudsByDenseImageMatchingTask

Generate 3D point clouds from two or more images taken from different view points using a dense image matching method.

ENVIGeoJSONToROITask

Convert GeoJSON features to a region of interest (ROI).

ENVIGeoPackageToShapefileTask

Convert GeoPackage vector files to Shapefile format.

ENVIGetColorSlicesTask

Get data ranges and colors from a density slice range (DSR) file.

ENVIGetSpectrumFromLibraryTask

Retrieve the details of a specified material from a spectral library.

ENVIHighClipRasterTask

Create a new raster where values above a threshold are set to the threshold.

ENVIHighPassFilterTask

Apply a high pass filter to a raster.

ENVIHighPassKernelTask

Define a high pass kernel for use with convolution filtering.

ENVIKuanAdaptiveFilterTask

Apply a Kuan adaptive filter to a raster.

ENVILocalSigmaAdaptiveFilterTask

Apply a Local Sigma adaptive filter to a raster.

ENVILaplacianFilterTask

Apply a Laplacian filter to a raster.

ENVILaplacianKernelTask

Define a Laplacian kernel for use with convolution filtering.

ENVILowClipRasterTask

Create a new raster where values below a threshold are set to the threshold.

ENVILowPassFilterTask

Apply a low pass filter to a raster.

ENVILowPassKernelTask

Define a low pass kernel for use with convolution filtering.

ENVIMaskRasterTask

Export a mask raster to an ENVI-format file.

ENVIMedianFilterTask

Apply a median filter to a raster.

ENVIMultiplicativeLeeAdaptiveFilterTask

Apply a Lee adaptive filter to smooth noisy data that has a multiplicative component.

ENVIROIMaskRasterTask

Export an ROI mask raster to an ENVI-format file.

ENVIQuerySpectralLibraryTask

Query a spectral library, returning the names of all spectra in the library.

ENVIQueryTaskTask

View property descriptions for a selected ENVITask.

ENVIQueryTaskCatalogTask

View a list of available tasks in ENVI.

ENVIRasterConvolutionTask

Apply a convolution filter to a raster.

ENVIRasterHistogramTask

Compute the histogram of a raster.

ENVIRasterMetadataItemTask

Retrieve the value of a given raster metadata key.

ENVIRegridRasterSeriesTask

Reproject a series of rasters to a common spatial grid, using a custom grid definition.

ENVIReprojectRasterTask

Reproject a raster from one coordinate system to another.

ENVIResampleSpectrumTask

Resample a given spectrum to a different set of wavelengths, typically from a hyperspectral image.

ENVIRobertsFilterTask

Apply a Roberts filter to a raster.

ENVISetRasterMetadataTask

Set metadata values for a raster that does not have an associated ENVI header file (.hdr). This task creates a new header file and saves it to a specified location on disk.

ENVISobelFilterTask

Apply a Sobel filter to a raster.

ENVISpectralAdaptiveCoherenceEstimator
UsingSubspaceBackgroundStatisticsTask

Perform Adaptive Coherence Estimator (ACE) target detection analysis, using the mean and covariance from subspace background statistics.

ENVISpectralSubspaceBackgroundStatisticsTask

Compute background statistics by excluding anomalous pixels.

ENVIVectorMaskRasterTask

Export a vector mask raster to an ENVI-format file.

ENVIVectorRecordsToSeparateROITask

Create individual ROIs from each geometry record in a vector.

Objects and Methods

Object/Method

Description

ENVIBinaryGTThresholdRaster

Construct an ENVIRaster from a source raster where pixel values above a specified threshold are set to 1 and all others are set to 0.

ENVIBinaryLTThresholdRaster

Construct an ENVIRaster from a source raster where pixel values below a specified threshold are set to 1 and all others are set to 0.

ENVIDataValuesMaskRaster

Construct an ENVIRaster from a source raster and a specified data range, where each pixel within the data range will not be masked.

ENVIGainOffsetWithThresholdRaster

Construct an ENVIRaster from a source raster with gains and offsets applied. Optionally constrain the resulting pixel values to a specified range.

ENVIHighClipRaster

Construct an ENVIRaster from a source raster where values above a threshold are set to the threshold.

ENVIJagwireServer

Reference an ENVIJagwireServer object. You can:

ENVILowClipRaster

Construct an ENVIRaster from a source raster where values below a threshold are set to the threshold.

ENVIQUACRaster

Construct an ENVIRaster from a source raster that has QUick Atmospheric Correction (QUAC) applied.

ENVIReprojectRaster

Construct an ENVIRaster from a source raster that has been reprojected to a different coordinate system.

ENVIRoi::GetExtent

Return the pixel coordinates boundary of the ROI for a given ENVIRaster.

ENVISpectralLibrary

Create an ENVI spectral library object.

ENVIView::Chip

Create a new ENVIRaster from the contents of a view.

ENVIView::ChipToFile

Chip the contents of a view directly to a file.

ENVI LiDAR Objects, Methods, and Tasks

Use the following objects, methods, and tasks for ENVI LiDAR.

Object/Method/Task

Description

ENVI::OpenPointCloud

This method opens one or more point cloud files. It also opens a single ENVI LiDAR project file.

ENVI::QueryPointCloud

The QueryPointCloud function method opens a single point cloud file.

ENVICreatePointCloudSubProjectTask

This task divides an existing ENVI LiDAR project into a number of subprojects for simultaneous processing by a number of ENVI Services Engine (ESE) workers.

ENVIPointCloud

This method is a reference to a point cloud object, to which you can:

ENVIPointCloudFeatureExtractionTask

This task performs feature extraction on point cloud data. Building, tree, and power line feature extraction can be performed with the purchase of the ENVI Feature Extraction license. It also includes a validate task.

ENVIPointCloudFilter

This is a reference to an ENVIPointCloud point filter object. It is used to filter the point data that will be returned from the point query methods of the ENVIPointCloud object.

ENVIPointCloudMetadata

This is a reference to a point cloud metadata object.

ENVIPointCloudProductsInfo

This object stores the fully-qualified filenames for all products generated by ENVIPointCloudFeatureExtractionTask.

ENVIPointCloudQuery

This method is a reference to a point cloud object that has not been built into an optimized file format (i.e., an ENVI LiDAR .ini file). You can:

  • Get spatially sorted points within a given range
  • Close the ENVIPointCloudQuery object

ENVIPointCloudSpatialRef

This method creates an ENVIPointCloudSpatialRef object, to which you can:

ENVIPointCloudViewer

This method starts the ENVI LiDAR application and returns an object reference to the instance of the application. You can:

ENVISpatialSubsetPointCloud

This method creates a new ENVISpatialSubsetPointCloud object which is a spatial subset of an existing ENVIPointCloud object.

Messaging

Use the following objects and methods to add progress notification, or messaging, to ENVI API scripts.

Object/Method

Description

ENVI::GetBroadcastChannel

This method returns an object reference to the system's broadcast channel.

ENVIAbortable

Use this class to communicate if an abort is requested.

ENVIAbortableTaskFromProcedure

Use this base class when writing custom tasks that will have a progress dialog with an option to abort the process. This base class has its own set of PreExecute, DoExecute, and PostExecute methods.

ENVIBroadcastChannel

This is a reference to a broadcast channel object, to which you can:

ENVIMessage

This is an abstract class used as a superclass for other message classes.

ENVIMessageHandler

This is an abstract class used as a super class for other message classes. ENVIBroadcastChannel calls the ENVIMessageHandler::OnMessage method to forward messages to all of its subscribers.

ENVIStartMessage

This function constructs an ENVIStartMessage object to send to the ENVIBroadcastChannel. If the ENVI user interface is running, then a progress dialog will appear.

ENVIProgressMessage

This function constructs an ENVIProgressMessage object to send to the ENVIBroadcastChannel. If the ENVI user interface is running with a progress dialog, the dialog will update.

ENVIFinishMessage

This function constructs an ENVIFinishMessage object to send to the ENVIBroadcastChannel. If the ENVI user interface is running with a progress dialog, the dialog will close.

See Custom Tasks with Abortable Progress Reports for instructions on creating custom tasks with the option to display a progress report and an option to abort (cancel) the task.


This information is not subject to the controls of the International Traffic in Arms Regulations (ITAR) or the Export Administration Regulations (EAR). However, it may be restricted from transfer to various embargoed countries under U.S. laws and regulations.
© 2015 Exelis Visual Information Solutions