What’s New in ENVI 5.3

As the geospatial industry continues to evolve, so too does the software. Here’s a look at what’s new in ENVI 5.3, the latest release of the popular image analysis software from Exelis VIS.


  • New data formats and sensors. ENVI 5.3 now provides support to read and display imagery from Deimos-2, DubaiSat-2, Pleiades-HR and Spot mosaic tiles, GeoPackage vectors, Google-formatted SkySat-2, and Sentinel-2.
  • Spectral indices. In addition to the numerous indices already included in ENVI (more than 60), new options include the Normalized Difference Mud Index (NDMI) and Modified Normalized Difference Water Index (MNDWI).
  • Atmospheric correction. The Quick Atmospheric Correction (QUAC) algorithm has been updated with the latest enhancements from Spectral Sciences, Inc. to help improve algorithm accuracy.
  • Digital elevation model. Users can now download the GMTED2010 DEM (7.5 arc seconds resolution) from the Exelis VIS website for use in improving the accuracy of Image Registration using RPC Orthorectification and Auto Tie Point Generation.
  • Point clouds. If you subscribe to the ENVI Photogrammetry Module (separate license from ENVI), then the Generate Point Clouds by Dense Image Matching tool is now available for generating 3D point clouds from GeoEye-1, IKONOS, Pleiades-1A, QuickBird, Spot-6, WorldView-1,-2 and -3, and the Digital Point Positioning Data Base (DPPDB).
  • LiDAR. The ENVI LiDAR module has been merged with ENVI and can now be launched directly from within the ENVI interface.
  • Geospatial PDF. Your views, including all currently displayed imagery, layers and annotations in those views, can now be exported directly to geospatial PDF files.
  • Spatial subset. When selecting files to add to the workspace, the File Selection tool now includes options to subset files by raster, vector, region of interest or map coordinates.
  • Regrid raster. Users can now regrid raster files to custom defined grids (geographic projection, pixel size, spatial extent and/or number of rows and columns).
  • Programming. The latest ENVI release also includes dozens of new tasks, too numerous to list here, that can be utilized for developing custom user applications in ENVI and ENVI Services Engine.

To learn more about the above features and improvements, as well as many more, read the latest release notes or check out the ENVI help documentation.

ENVI 5.3

Application Tips for ENVI 5.x – Calculating vegetation indices for NDVI and beyond

This is part of a series on tips for getting the most out of your geospatial applications. Check back regularly or follow HySpeed Computing to see the latest examples and demonstrations.

Objective: Calculate a collection of vegetation indices for hyperspectral and multispectral imagery using ENVI’s Vegetation Index Calculator.

Scenario: In this tip, vegetation indices are calculated for two variants of AVIRIS data from Jasper Ridge, California: one version using the full range of 224 possible hyperspectral bands (400-2500 nm); and the other using a version that has been spectrally convolved to match 8 of the 11 possible multispectral bands of Landsat 8 OLI (i.e., all bands except the thermal and panchromatic).

The AVIRIS data (JasperRidge98av_flaash_refl; shown below) was obtained from the ENVI Classic Tutorial Data available from the Exelis website, and has already been corrected to surface reflectance using FLAASH.

Jasper Ridge, CA

Vegetation Indices: There are numerous vegetation indices included in ENVI, so in most cases there is already a vegetation tool available that meets your needs. These indices can be found in three main locations within the ENVI Toolbox: (1) Spectral > Vegetation; (2) SPEAR > SPEAR Vegetation Delineation; and (3) THOR > THOR Stressed Vegetation.

The core functionality for deriving vegetation properties in ENVI is the Vegetation Index Calculator (located in Toolbox > Spectral > Vegetation). This tool provides access to 27 different vegetation indices, and will conveniently pre-select the indices that can be calculated for a given input image dependent on the spectral characteristics of the data. Despite this bit of assistance, however, properly implementing and interpreting the various vegetation indices still requires thorough understanding of what is being calculated. To obtain this information, details and references for each index are provided in the ENVI help documentation.

  • Broadband Greenness [5 indices]: Normalized Difference Vegetation Index, Simple Ratio Index, Enhanced Vegetation Index, Atmospherically Resistant Vegetation Index, Sum Green Index.
  • Narrowband Greenness [7 indices]: Red Edge Normalized Difference Vegetation Index, Modified Red Edge Simple Ratio Index, Modified Red Edge Normalized Difference Vegetation Index, Vogelmann Red Edge Index 1, Vogelmann Red Edge Index 2, Vogelmann Red Edge Index 3, Red Edge Position Index.
  • Light Use Efficiency [3 indices]: Photochemical Reflectance Index, Structure Insensitive Pigment Index, Red Green Ratio Index.
  • Canopy Nitrogen [1 index]: Normalized Difference Nitrogen Index
  • Dry or Senescent Carbon [3 indices]: Normalized Difference Lignin Index, Cellulose Absorption Index, Plant Senescence Reflectance Index.
  • Leaf Pigment [4 indices]: Carotenoid Reflectance Index 1, Carotenoid Reflectance Index 2, Anthocyanin Reflectance Index 1, Anthocyanin Reflectance Index 2.
  • Canopy Water Content [4 indices]: Water Band Index, Normalized Difference Water Index, Moisture Stress Index, Normalized Difference Infrared Index.

There are also five additional vegetation tools included in Toolbox > Spectral Vegetation. The Vegetation Suppression Tool essentially removes the spectral contributions of vegetation from the image. The NDVI tool simply provides direct access to the commonly used Normalized Difference Vegetation Index. And the three other tools consolidate select subsets of the above vegetation indices into specific application categories: Agricultural Stress Tool, Fire Fuel Tool, and Forest Health Tool.

Two additional vegetation tools are also available as part of the THOR and SPEAR toolboxes. The THOR Stressed Vegetation and the SPEAR Vegetation Delineation tools both provide workflow approaches to calculating vegetation indices, inclusive of options such as atmospheric correction, mask definition, and spatial filtering. The SPEAR Vegetation Delineation tool uses NDVI to assess the presence and relative vigor of vegetation, whereas the THOR Stressed Vegetation tool provides a step-by-step methodology for processing imagery using the same suite of vegetation indices as defined for the Spectral toolbox.

It is important to note that input images should be atmospherically corrected prior to running the vegetation tools, or in the case of the SPEAR and THOR tools atmospherically corrected as part of the image processing workflow.

The Tip: This example demonstrates the steps used for running ENVI’s Vegetation Index Calculator. Interested users are also encouraged to download the tutorial data from Exelis, or use their own data, and explore what the other vegetation tools have to offer.

  • As specified above, two sets of imagery are used in this example: one is the full AVIRIS hyperspectral dataset, and the other is a spectrally convolved Landsat 8 OLI multispectral dataset of the same image.
  • After opening the images in ENVI, the vegetation tool is started by selecting Spectral > Vegetation > Vegetation Index Calculator.
  • The opening dialog window is used to specify the Input File along with any desired Spatial Subset and/or Mask Band.
  • Next is the main dialog for selecting Vegetation Indices and specifying the Output Filename. There is also an option for Biophysical Cross Checking, which compares results from different indices and masks out pixels with conflicting data values. Using Biophysical Cross Checking is application dependent, but can be useful for removing anomalous pixels from your analysis.
  • As illustrated below, the general process for calculating Vegetation Indices is always the same for any given dataset; the only difference is the list of vegetation indices that are actually available for a particular set of bands. In our example, the full AVIRIS hyperspectral dataset allows for 25 different indices to be calculated, whereas the Landsat 8 LOI multispectral dataset allows only 6 indices.

Vegetation Index Calculator

  • Once you have selected the relevant vegetation indices for your application, simply select OK and the Vegetation Index Calculator will generate an output file with individual bands corresponding to each of the selected vegetation indices.

Shown below is the output data from our two images, along with example quicklooks demonstrating the variability in the various output indices. The reason for this variability is that each index derives different, but related, biophysical information. Thus, be sure to look at the definitions and references for each index to help guide interpretation of the output.

Vegetation Indices

Application Tips for ENVI 5 – Using FLAASH for atmospheric correction of airborne hyperspectral data

This is part of a series on tips for getting the most out of your geospatial applications. Check back regularly or follow HySpeed Computing to see the latest examples and demonstrations.

Objective: Utilize the FLAASH Atmospheric Correction tool in ENVI for correction of airborne hyperspectral data.

About FLAASH (from ENVI documentation): “FLAASH [Fast Line-of-sight Atmospheric Analysis of Hypercubes] is a first-principles atmospheric correction tool that corrects wavelengths in the visible through near-infrared and shortwave infrared regions, up to 3 µm. FLAASH works with most hyperspectral and multispectral sensors.”


RGB composite of AISA Eagle data for coastal region in southwest Puerto Rico

Scenario: This tip demonstrates the steps used to perform atmospheric correction using FLAASH for airborne data acquired in southwest Puerto Rico using an AISA Eagle VNIR II Hyperspectral Imaging Sensor. Data covers the spectral range 400-970 nm, with 128 spectral bands at ~5 nm spectral resolution, and with a 2 m ground sampling distance.

The Tip: Below are steps used to implement FLAASH for the example AISA data:

  • Note that the settings used below were selected to work best for this example, and different values may be more appropriate for your particular application. For more details on running FLAASH, please refer to the ENVI documentation, which includes an excellent step-by-step overview of using FLAASH, as well as a tutorial using AVIRIS data that demonstrates FLAASH.
  • Prior to starting FLAASH, the first step is to perform radiometric calibration and make sure the data is in the appropriate format, specifically: radiance data; BIL or BIP; floating point, long integer or integer; and units of uW/(cm^2 * sr * nm). This can be easily achieved using the “Radiometric Calibration” tool and selecting the option to “Apply FLAASH Settings”.
  • The “Radiometric Calibration” tool requires data file have gains and offsets for each band. Additionally, the tool expects input units of W/(m^2 * sr * um), so depending on the units of your data you may need to manually edit the gain and offset information in your header data. For instance, the uncorrected AISA data in our example has units of 1000*mW/(cm^2 * sr *um), which is equivalent to 100*W/(m^2 * sr * um). This means the gain for each band is 0.01 (i.e., 1/100) and the offset is 0.0.
  • If you suspect the gains and offsets are not correct for your data, then be sure to check the output data from FLAASH to confirm reflectance values fall within acceptable limits. For instance, if we incorrectly set the gain equal to 0.1 in our example the resulting reflectance values are substantially higher than feasible (e.g., greater than 100% reflectance for bright targets), and if we set the gain equal to 0.001 the reflectance values are substantially lower (e.g., producing negative values for most targets).
  • To start the “Radiometric Calibration” tool, select “Radiometric Correction > Radiometric Calibration” in the Toolbox and choose the appropriate input file. In the dialog window that appears, select “Apply FLAASH Settings”, assign an output filename, and then hit “Ok” to run the correction. Once the process is completed, your data is now ready for input to FLAASH.


  • To start FLAASH, select “Radiometric Correction > Atmospheric Correction Module > FLAASH Atmospheric Correction” from the Toolbox. This will launch the main dialog window for entering FLAASH parameters.
  • Begin by selecting the appropriate Input Radiance File (i.e., the output from the radiometric correction). At this point a dialog window will open for selecting the “Radiance Scale Factors”. If you used the “Radiometric Calibration” tool for preparing your data, as above, then simply select “Use single scale factor for all bands” and leave the “Single scale factor” equal to 1.0.


  • The next step is to assign a filename for the “Output Reflectance File” (the main output file), a directory for the “Output Directory for FLAASH Files” (the directory for all ancillary output files), and a name for the “Rootname for FLAASH Files” (used for naming the ancillary files).
  • Now enter all of the relevant sensor and scene specific information: date and time of acquisition, altitude of sensor, ground elevation, center latitude and longitude, and pixel size.
  • The next step is to select options for the atmospheric model, water retrieval, aerosol model, aerosol retrieval, visibility, spectral polishing and wavelength recalibration. Details for all of these options are provided in the FLAASH documentation. In our example, we use the Tropical atmospheric and Maritime aerosol models (both appropriate for coastal Puerto Rico), the 820 nm water absorption feature for water retrieval, no aerosol retrieval (this data doesn’t have the necessary wavelength bands to run these calculations), 40 km initial visibility, spectral polishing with a width of 3 bands, and no wavelength recalibration.


  • In the Advanced settings we leave most parameters set to the default values, with the exception of “Use Tiled Processing”, which we set to “No”. See FLAASH documentation for more details on these various parameters. Note here that the default units for the output data is surface reflectance scaled by 10000, but this can be changed if desired.


  • Before running FLAASH, you can “Save…” the input parameters to a file for use in future runs, or alternatively, in the “Advanced Settings” there is an option to “Automatically Save Template File”, which can also be used to save the input parameters to a file.
  • When you are ready, execute FLAASH by clicking “Apply”.
  • Note that errors will sometimes occur, causing FLAASH to cancel the correction process. This can result from incompatibilities between the selected processing options and certain data characteristics. For example, the above data produces an error when using image tiling, but runs fine when tiling is disabled; whereas tiling works perfectly well for other datasets. So if this happens, try adjusting the FLAASH settings and re-running the correction.
  • Once FLAASH has completed, be sure to examine your output data for acceptability, and ideally, if available, utilize measured field data to validate the atmospheric correction output.

Acknowledgement: Data was collected for the University of Puerto Rico at Mayaguez by the Galileo Group Inc. in 2013 for a NASA EPSCoR sponsored research project on the biodiversity of coastal and terrestrial ecosystems.

Application Tips for ENVI 5.1 – Saving and Restoring Views and Layers

This is part of a series on tips for getting the most out of your geospatial applications. Check back regularly or follow HySpeed Computing to see the latest examples and demonstrations.

Objective: Utilize the new option in ENVI 5.1 to save views and layers from an active ENVI session, and subsequently restore them in a later session. This is a welcome addition to ENVI and will save you lots of time when reopening images!

Scenario: This tip demonstrates the steps used to save and restore a 2 x 2 view layout of a project in the Florida Keys. Data shown in this example includes (clockwise from upper left): HICO scene; Landsat 7 scene; land mask derived from HICO using NDWI; chlorophyll-a concentration derived from HICO using OC4 algorithm.


The Tip: Below are steps used to save and restore views and layers in ENVI 5.1:

  • Select a view layout, and then open and display the desired imagery in each view.
  • In this example we use a 2 x 2 view layout: Views > 2×2 Views.
  • We display the HICO and Landsat data as RGB data, the land mask as a binary grayscale, and the chlorophyll-a data using a rainbow color table.
  • To save this layout (stored as a .jsn file), simply select: File > Views & Layers > Save.
  • To restore the layout when starting a new ENVI session, select: File > Views & Layers > Restore.

According to the ENVI documentation “When you save the views and layers, any files open in ENVI [refer to documentation for list of specific types that can be included in a saved session], the layout of the view, the layers loaded into those views, and any properties (center coordinates, zoom factor, raster stretch, color table, and so forth) will be saved. Any open portals will also be saved to the file.”

Remote Sensing in the Cloud – Introducing the ENVI Services Engine

remote sensing in the cloudA popular topic these days is cloud computing. And the world of remote sensing is no exception. New developments in software, hardware, and connectivity are offering innovative options for performing remote sensing image analysis and visualization tasks in the cloud.

One example of the recent advance in cloud computing capabilities for geospatial scientists is the development of the ENVI Services Engine by Exelis Visual Information Solutions (Exelis VIS). Using what was previously the domain of desktop computing – this software engine brings the image analysis tools of ENVI into the cloud. This translates into an ability to deploy ENVI processing tools, such as image classification, anomaly detection and change detection, into an online environment. Additionally, because the system uses a HTTP REST interface and was constructed utilizing open source standards, implementing the software is feasible across a variety of operating systems and different hardware devices.

This flexibility of the ENVI Services Engine, and cloud computing in general, speaks directly to the “bring your own device” movement. Rather than being limited to certain operating systems or certain types of hardware, users have many more options to satisfy their preferences. Access and processing thus becomes feasible from a variety of tablets, mobile phones and laptops, in addition to the usual array of desktops and workstations.

As an example, consider the ability to access imagery and derived data layers from your favorite mobile device. Now consider being able to adjust your analysis on-the-fly from this same device based on observations while in the field. With the image processing being tasks handled on remote servers, extensive computing capacity is no longer required on your local device. This enables not just remote access to image processing, but also the ability for on-demand visualization and display of entire databases full of different images and results.

Having the image processing tasks performed on the same servers, or on servers closer to, where the imagery is stored is also more computationally efficient, since imagery does not need to be first transferred to local computers and results then transferred back to the servers. This is particularly relevant for large data archives, where even simple changes to existing algorithms, or the addition of new algorithms, may necessitate re-processing vast volumes of data.

Although the concept of cloud computing is not new, it has become apparent that the software and hardware landscape has evolved, making cloud computing for geospatial analysis significantly more attractive than ever before.

Attendees of the VISualize conference earlier this year received a sneak-peek at the ENVI Services Engine. The software was also recently on display at the GEOINT conference this past October. However, official release of the software isn’t scheduled until early 2013. For more information: http://www.exelisvis.com/