X
33412

What's New in ENVI 5.3

ENVI 5.3 is packed full of new features and functionality that will help you do more with your geospatial data than ever before. Learn how the newest version of ENVI can help you improve your geospatial analysis!



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
  • 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.

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.
ENVISpectralAdaptiveCoherenceEstimatorUsingSubspaceBackgroundStatisticsTask 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:
  • Query a hash table of raster datasets available on the Jagwire server
  • Query a hash table of dataset metadata
  • Close the Jagwire server connection in ENVI
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

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:
  • Get points within a circle region
  • Get points within a polygon region
  • Get spatially sorted points within a given range
  • Get points within a rectangle region
  • Get points within a specified tile
  • Save the ENVIPointCloud object
  • Write points to a new .las file
  • Close the ENVIPointCloud object
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:
  • Convert lon/lat coordinates to map
  • Convert map coordinates to lon/lat
  • Convert coordinates map to map
ENVIPointCloudViewer This method starts the ENVI LiDAR application and returns an object reference to the instance of the application. You can:
  • Open an ENVIPointCloud object in the viewer
  • Open a shapefile in the viewer
  • Get an ENVIPointCloud object that is already open in the viewer
  • Get the view extents
  • Set the location of the progress bar in the viewer
  • Set the view extents
  • Close the viewer
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:
  • Send messages using the Broadcast method
  • Subscribe using the Subscribe method
  • Unsubscribe using the Unsubscribe method
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 the "Custom Tasks with Abortable Progress Reports" topic in ENVI Help for instructions on creating custom tasks with the option to display a progress report and an option to abort (cancel) the task.



© 2015 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.