This tutorial uses EO-1 Hyperion hyperspectral imagery to identify areas of dying conifers resulting from insect damage. You will learn how to pre-process the imagery and how to create vegetation indices that exploit specific wavelength ranges to highlight areas of stressed vegetation.

The estimated time to complete this tutorial is two hours. Use ENVI 5.2 or later.

See the following sections:

Files Used in this Tutorial

Tutorial files are available from our ENVI Tutorials web page or on the ENVI Resource DVD in the hyperspectral directory. Copy the files to a local drive.




EO-1 Hyperion image in ENVI raster format with 242 spectral bands at 30 m spatial resolution, acquired on 20 July 2013.

The grey polygon in the following map shows the approximate coverage area of the image. It covers a small area of St. Joe and Clearwater National Forests in eastern Idaho, USA.

This particular Hyperion scene was chosen for the tutorial because it shows evidence of widespread insect damage from the Mountain Pine Beetle and Western Balsam Bark Beetle.


Follow these preprocessing steps before doing any scientific image analysis.

Open and display the image

  1. From the ENVI menu bar, select File > Open.
  2. Select the file HyperionForest.dat. Click Open.
  3. This image is a spatial subset of a larger Hyperion image, which was downloaded from the USGS EarthExplorer web site in HDF4 (Level-1R) format. We defined a spatial subset and saved it to ENVI raster format to create a smaller file for this tutorial. We also shortened the band names in the associated header file.

    If the Auto Display Method for Multispectral Files preference is set to True Color, the image is displayed using bands 29 (red), 20 (green), and 12 (blue) to yield an approximate true-color representation:

  4. Press the F12 key on your keyboard to view the image at full extent.
  5. Explore the image in more detail using the navigation tools in the toolbar. In a true-color display, dead and stressed vegetation is colored grey or red-grey. Beetle damage is likely responsible for the dying conifers in this region. Healthy vegetation is colored green.

View metadata

  1. In the Layer Manager, right-click on the filename HyperionForest.dat and select View Metadata.
  2. Click the Spectral category on the left side of the Metadata Viewer.
  3. Scroll to the right until you see the Radiance Gains and Radiance Offsets fields. Bands 1-70 are the visible/near-infrared (VNIR) bands. Later when you calibrate the data, the ENVI Radiometric Calibration tool will multiply a gain value of 0.025 to each pixel in this band range, which is the same as dividing each pixel by 40. Bands 71-242 are the shortwave-infrared (SWIR) bands. The Radiometric Calibration tool will multiply a gain value of 0.0125 to each pixel in this band range, which is the same as dividing each pixel value by 80.

Note: This particular file is from 2013 and is used with ENVI 5.2. The band order will be different in ENVI 5.3 and later. Hyperion HDF4 files will have the following band order: Bands 1-59 and 71-81 have gain values of 0.025, while bands 60-70 and 82-242 have gain values of 0.0125.

  1. Click the Time category on the left side of the Metadata Viewer, and write down the Acquisition Time. It should be 2013-07-20T17:36:52Z. You will need this date and time later in FLAASH.
  2. Click the Coordinate System, then Geo Points categories. The coordinate system of the image is Geographic Lat/Lon WGS-84, but that does not mean the image is correctly georeferenced. The Geo Points category indicates that only the four corner points of the image are known. ENVI treats this as a pseudo projection. It applies an affine map transformation to warp the image based on the four corner points and Kx/Ky coefficients. It attempts to calculate geographic coordinates for each pixel. This type of projection contains a high degree of variability and is not geographically accurate. ENVI does not have tools to orthorectify Hyperion data. One option is to use the Image to Map Registration tool to create ground control points for image-to-map registration. You will not perform these steps in this tutorial.
  3. Close the Metadata Viewer.

Animate the bands

You can animate through all 242 bands to see which ones have bad data. You will remove those bands later.

  1. In the Layer Manager, right-click on the file HyperionForest.dat and select Band Animation. The Band Animation dialog appears, and the animation begins abruptly.
  2. While the video plays, click the No delay drop-down menu and select a delay time of 0.5 sec to slow down the animation.
  3. Move the slider needle back to the beginning of the animation (to the left), then click the Play button . The Band Animation dialog lists the band number that is currently displayed in each frame.
  4. The Hyperion visible-near-infrared (VNIR) sensor has 70 bands, and the shortwave-infrared (SWIR) sensor has 172 bands. The following bands are already set to values of zero (Barry, 2001):

    • 1-7
    • 58-76
    • 225-242

    Other bands in this image have severe noise that correspond to strong water vapor absorption; these bands are typically removed from processing (Dat et al., 2003):

    • 121-126
    • 167-180
    • 222-224
  5. Close the Band Animation dialog.

Designate Bad Bands

  1. In the Toolbox, type edit. Double-click the Edit ENVI Header tool name that appears.
  2. In the input file selection dialog, select HyperionForest.dat and click OK.
  3. In the Edit Raster Metadata dialog, scroll to the Bad Bands List field.
  4. Click the Select All button.
  5. Scroll to the top of the band list.
  6. Hold down the Ctrl key on your keyboard.
  7. Click to de-select the following band ranges (so they are colored white). As you de-select the last band in a group, release the Ctrl key. Scroll down the band list if needed. Then hold down the Ctrl key again and de-select the next group of bad bands.
    • 1-7
    • 58-76
    • 121-126
    • 167-180
    • 222-242

The following screen shot shows an example of de-selecting the bad bands:

The number of selected items (the good bands, in blue) should be 175.

  1. Click OK in the Edit Bad Bands List values dialog, then again in the Header Info dialog. The file closes and is removed from the display.
  2. Select File > Open from the menu bar, and re-open HyperionForest.dat.

Some of the remaining bands have vertical striping effects, which is a known issue resulting from a poorly calibrated detector on the Hyperion pushbroom scanner. Various destriping algorithms are available and described in remote sensing literature. We will not correct for these vertical stripes in this tutorial.

The next step is to calibrate the imagery to spectral radiance.

Calibrate the image

  1. In the Toolbox, type radio. Double-click the Radiometric Calibration tool name that appears.
  2. In the File Selection dialog, the file HyperionForest.dat is already selected. The Spectral Subset field shows 175 of 242 bands, which confirms that the bad bands have been recognized. Click OK.
  3. In the Radiometric Calibration dialog, click Apply FLAASH Settings. This will create a band-interleaved-by-line (BIL) radiance image with floating-point values in the correct units needed for the FLAASH atmospheric correction tool.
  4. Note: Do not modify the Scale Factor field. The pixel values of HyperionForest.dat are in units of W/(m2 * sr * µm). The Radiometric Calibration tool will apply the gain values mentioned in the View Metadata section above, then it will multiply the pixel values by 0.1 so that they will be in units of µW/(cm2 * sr * nm), which is required for input to FLAASH.

  5. Click the Browse button, and navigate to a directory where you want to save the output.
  6. Enter an Output Filename of Radiance.dat.
  7. Disable the Display result option.
  8. Click OK. The calibration process may take several minutes because this is a large file with 175 bands to process.

Correct for Atmospheric Effects

Further calibrating the imagery to apparent surface reflectance yields the most accurate results when using spectral indices. This is especially important for hyperspectral sensors such as AVIRIS and EO-1 Hyperion. Calibrating imagery to surface reflectance also ensures consistency when comparing indices over time and from different sensors.

In these steps, you will use FLAASH to remove atmospheric effects from the image and to create an apparent surface reflectance image.

FLAASH is a model-based radiative transfer program developed by Spectral Sciences, Inc. It uses MODTRAN4 radiation transfer code to correct images for atmospheric water vapor, oxygen, carbon dioxide, methane, ozone absorption, and molecular and aerosol scattering. To run FLAASH, you must purchase a separate license for the Atmospheric Correction Module: FLAASH and QUAC.

Follow these steps:

  1. In the Toolbox, type flaash. Double-Click the FLAASH Atmospheric Correction tool name that appears.
  2. Click the Input Radiance Image button.
  3. In the FLAASH Input File dialog, select Radiance.dat and click OK.
  4. In the Radiance Scale Factors dialog, select the option Use single scale factor for all bands, and keep the default value of 1.0 for the Single scale factor. The Radiometric Calibration tool already applied the correct gain values and scale factors, so no further adjustments are needed here.
  5. Click OK.

Define Output Files

  1. In the Output Reflectance File field, type the full path of the directory where you want to write the output reflectance file. For the filename, type SurfaceReflectance.dat.

  2. In the Output Directory for FLAASH Files field, type the full path of the directory where you want to write all other FLAASH output files. These include a column water vapor image, cloud classification map, journal file, and (optionally) a template file.
  3. In the Rootname for FLAASH Files field, type a root name that will be prefixed to the FLAASH output files.

Select Scene and Sensor Options

  1. FLAASH automatically determines the scene's center geographic coordinates, so you do not need to enter these values.

  2. From the Sensor Type drop-down button, select Hyperspectral > Hyperion.
  3. Fill out the other fields as follows:
    • Sensor Altitude (km): 705 for the EO-1 spacecraft
    • Ground Elevation (km): 1, average scene elevation estimated using the Google Earth™ mapping service
    • Pixel Size (m): 30
    • Flight Date: Refer to the date that you noted earlier in the View Metadata steps. Enter Jul 20, 2013.
    • Flight Time (GMT): Refer to the time that you noted earlier in the View Metadata steps. Enter 17:36:52.

Select Atmospheric Model Options

Hyperspectral sensors typically include enough information needed to estimate water vapor and aerosols in the atmosphere. So you will retrieve water vapor and aerosols in the steps below.

  1. From the Atmospheric Model drop-down button, select U.S. Standard.
  2. Click the Water Retrieval toggle button to select Yes.
  3. Accept the default value of 1135 nm for Water Absorption Feature. If you select 1135 nm or 940 nm, and the feature is saturated due to an extremely wet atmosphere (unlikely for this location), then the 820 nm feature would be used in its place.
  4. Accept the default value of Rural for Aerosol Model. This is a good option for the location of our scene, where aerosols are not strongly affected by urban or industrial sources. The choice of model actually is not critical in this case, as the visibility is typically greater than 40 km.
  5. Accept the default values for all remaining fields.
  6. The settings available under the Hyperspectral Settings button at the bottom of the FLAASH dialog are only needed if you are working with a hyperspectral sensor that is not widely recognized. You would use these settings to choose how bands are selected for water vapor and/or aerosol retrieval. Since our data are from a named sensor (Hyperion), you do not need to define these settings.
  7. Click Apply.
  8. FLAASH processing may take several minutes. When processing is complete, the FLAASH Atmospheric Correction Results dialog appears with a summary of processing results. FLAASH creates several output files in the directory that you defined: a cloud mask image, water vapor image, journal file with processing results, template file with the parameters you defined, and the reflectance file.

  9. Close both FLAASH dialogs.

Display the Reflectance Image

  1. Open the Data Manager and scroll down to SurfaceReflectance.dat. Right-click on its filename and select Load CIR. The image displays in a false-color combination. The following figure shows an example of the northern part of the image:
  2. Click the Spectral Profile button in the toolbar.
  3. In the Go To field in the toolbar, enter the following pixel coordinates: 10, 762. This pixel represents healthy vegetation, which is bright pink in a false-color display. Note the shape of the reflectance curve with the abrupt increase in reflectance from 680 to 730 nm (referred to as the red edge). This wavelength region is often analyzed in more detail when studying factors that stress vegetation. Two strong absorption features representing vegetation water content are evident at 1450 nm and 1950 nm. You can also see a peak in the green wavelength region near 550 nm.
  4. In the Go To field in the toolbar, enter the following pixel coordinates: 227, 342. This location contains unhealthy conifer trees. Note the shape of the reflectance curve. In general, the slope of the red edge has decreased significantly and the 1450 nm water absorption feature is not as prominent, indicating lower moisture content.

  5. Close the Spectral Profile in preparation for the next exercise.

While spectral profiles can help locate pixels with unhealthy vegetation, spectral indices can give us a more accurate assessment of stressed vegetation.

Vegetation Indices

Spectral indices are combinations of surface reflectance at two or more wavelengths that indicate relative abundance of features of interest. Vegetation indices derived from satellite images are one of the primary information sources for monitoring vegetation conditions. Detection of vegetation stress by remote sensing techniques is based on the assumption that stress factors interfere with photosynthesis or the physical structure of the vegetation and affect the absorption of light energy and thus alter the reflectance spectrum of vegetation (Riley, 1989; Pinter and Hatfield, 2003).

The spectral resolution of Hyperion imagery allows you to examine the red-NIR spectrum in more detail, which helps to identify areas of stressed vegetation. ENVI offers several narrowband vegetation indices, which indicate the overall amount and quality of photosynthetic material and moisture content in vegetation.

Follow these steps to create different vegetation indices:

  1. In the Toolbox, expand the Band Algebra folder.
  2. Double-click the Spectral Index tool.
  3. The Input Raster field should already list SurfaceReflectance.dat. If not, click the Browse button and locate this file.
  4. From the Index drop-down list, select Moisture Stress Index.
  5. In the Output Raster field, name the output file MSI.dat.
  6. Enable the Display result option, and click OK to create the Moisture Stress Index image.
  7. When processing is complete, explore the Moisture Stress Index image in more detail. Spectral indices do not provide exact, quantitative measures of spectral properties; they only provide a relative abundance of a feature of interest. Brighter pixel values indicate more water deficiency. The Moisture Stress Index is a reflectance measurement that is sensitive to increasing leaf water content. As the water content in vegetation increases, the strength of the absorption around 1599 nm increases. Absorption at 819 nm is nearly unaffected by changing water content, so it is used as the reference wavelength (Hunt, Jr. and Rock, 1989):
  8. White et al (2007) found significant correlation between Moisture Stress Index values and levels of pine beetle damage.

    Next, you will create a raster color slice that highlights the highest pixel values in the MSI image.

Color Slices

  1. Right-click on the MSI.dat layer in the Layer Manager and select New Raster Color Slice.
  2. Select the Moisture Stress Index band name in the File Selection dialog, and click OK.
  3. Click the Clear Color Slices button in the Edit Raster Color Slices dialog. You will create a new raster color slice instead.
  4. Click the Add Color Slice button . A new color slice is added that covers the entire range of pixel values (-245 to 14.08). You will highlight the highest pixel values, which correspond to the end of the narrow histogram that is displayed.
  5. Keep the Slice Max value as-is, and enter a value of 1 for Slice Min. Press the Enter key to accept the value. Moisture Stress Index values above 1.0 are highlighted in red:
  6. Right-click on the Slices folder in the Layer Manager and select Export Color Slices > Shapefile.
  7. Enter an output filename of HighMSI.shp, and click OK.
  8. Wait for the ExportVector process to complete in the Process Manager, then click OK to exit the Edit Raster Color Slices dialog.
  9. Un-check the MSI.dat layer in the Layer Manager to hide that layer. The red raster color slice is displayed on top of the original surface reflectance image.
  10. Highlight the Raster Color Slice layer in the Layer Manager, then adjust the Transparency slider in the toolbar to see through the color slice to the surface reflectance image underneath.
  11. Un-check the Raster Color Slice layer to hide it.

Next, you will use the Forest Health tool to look for areas with high stress conditions.

Forest Health Tool

The Forest Health Vegetation Analysis tool will create a spatial map that shows the overall health and vigor of a forested region. It is good at detecting pest and blight conditions in a forest as well as assessing areas of timber harvest. A forest under high stress conditions shows signs of dry or dying plant material, very dense or very sparse canopy, and inefficient light use. The tool uses the following vegetation index categories:

  • Broadband and narrowband greenness, to show the distribution of green vegetation.

  • Leaf pigments, to show the concentration of carotenoids and anthocyanin pigments for stress levels.

  • Canopy water content, to show the concentration of water.

  • Light use efficiency, to show forest growth rate.

Follow these steps to create a forest health map:

  1. In the search window of the Toolbox, type forest.
  2. Double-click the Forest Health Vegetation Analysis tool name that appears.
  3. In the Input File dialog, select SurfaceReflectance.dat and click OK.
  4. From the Greenness Index drop-down list in the Forest Health Parameters dialog, select Modified Red Edge Normalized Difference Vegetation Index.
  5. From the Leaf Pigment Index drop-down list, select Carotenoid Reflectance Index 2.
  6. From the Canopy Water or Light Use Efficiency Index drop-down list, select Structure Insensitive Pigment Index.
  7. Enter an output filename of Forest Health.dat, and click OK.
  8. The resulting image does not automatically display. Open the Data Manager, scroll to the bottom of the file list, and select the Forest Health band. Click Load Data to display the image.
  9. The Forest Health image does not provide any quantitative measures of vegetation stress; instead, it shows the relative amounts of forest vegetation health from 1 (unhealthy) to 9 (healthy). You can see the vertical striping artifacts from the Hyperion sensor.

  10. In the Layer Manager, turn off all classes except for 1 and 2:

These pixels represent areas with stressed vegetation. Compare this with the vegetation index images you created earlier.

Field studies and aerial surveys are further needed to validate whether the areas correspond with insect damage. However, the methods that you learned in this tutorial show that remote sensing and hyperspectral imagery are effective tools for indicating unhealthy and dying vegetation in forests.


Barry, P. EO-1/Hyperion Science Data User’s Guide. Redondo Beach, CA: TRW Space, Defense & Informations Systems (2001).

Ceccato, P. et al. "Detecting vegetation leaf water content using reflectance in the optical domain." Remote Sensing of Environment 77 (2001): 22-33.

Datt, B. et al. "Preprocessing EO-1 Hyperion hyperspectral data to support the application of agricultural indexes." IEEE Transactions on Geoscience and Remote Sensing 41, No. 6 (2003): 1246-1259.

Datt, B. "A new reflectance index for remote sensing of chlorophyll content in higher plants: tests using Eucalyptus leaves." Journal of Plant Physiology 154 (1999): 30-36.

Hunt Jr., E., and B. Rock. "Detection of changes in leaf water content using near- and middle-infrared reflectances." Remote Sensing of Environment 30 (1989): 43-54.

Merzlyak, J. et al. "Non-destructive optical detection of pigment changes during leaf senescence and fruit ripening." Physiologia Plantarum 106 (1999): 135-141.

Pinter, P., and J. Hatfield. "Remote sensing for crop management." Photogrammetric Engineering & Remote Sensing 69, Vol. 6 (2003): 647-664.

Riley, J. "Remote sensing in entomology." Annual Review of Entomology 34 (1989): 247-271.

Sims, D., and J. Gamon. "Relationships between leaf pigment content and spectral reflectance across a wide range of species, leaf structures and developmental stages." Remote Sensing of Environment 81 (2002): 337-354.

White, J. et al. "Detecting mountain pine beetle red attack damage with EO-1 Hyperion moisture indices." International Journal of Remote Sensing 28, Issue 10 (2007): 2111-2121.