>  Docs Center  >  Using ENVI  >  Dimensionality Expansion

Dimensionality Expansion

Use Dimensionality Expansion to create additional bands in a multispectral image by computing second-order statistics and other nonlinear transforms on the original bands. Having additional bands increases the dimensionality of an image, which can help improve accuracy in some classification and subpixel target detection algorithms. The additional bands are created by computing the square roots, natural logs, squares, and cross-correlations of the input bands.

You can also write a script to perform dimensionality expansion using ENVIDimensionalityExpansionRasterTask.

See the following sections:


The concept of band number constraint in remote sensing dictates that an image should have at least as many bands as spectral endmembers that will be used for linear spectral mixture analysis methods. An example is subpixel target detection. This is usually not an issue with hyperspectral and superspectral datasets because they contain a large number of bands. Most multispectral datasets (for example, Landsat or SPOT) do not meet this criteria, which can result in inaccurate results.

Dimensionality expansion (Heinz, 2001) creates additional bands in a multispectral image by computing second-order statistics and other nonlinear transforms from the original bands. Combining the additional bands with the original bands increases the dimensionality of the image, thus accomodating more endmembers in spectral mixture analysis methods. Experiments have shown improved results with target detection methods that do not require knowledge of all endmembers in a scene. Examples include Constrained Energy Minimization (CEM) and Adaptive Coherence Estimator (ACE). Methods such as Orthogonal Subspace Projection (OSP) and Maximum Likelihood classification that require knowledge of all the endmembers in a scene may not benefit from dimensionality expansion. See Chang et al. (2000) for details.

The following are computed for each input band, resulting in a new band:

  • Square root: A nonlinear function
  • Natural log: A nonlinear function
  • Square: An autocorrelation method where each band is multiplied by itself
  • Cross-correlation: Each band is multiplied by a different band

The input image used for dimensionality expansion should contain integer or floating-point data values greater than 1. If the image contains reflectance values that range from 0 to 1, the tool will produce meaningless results for the natural log and square root bands. If QUAC or FLAASH were used to produce reflectance images, they automatically scale the pixel values by 10,000 so that no further scaling is necessary.

Run Dimensionality Expansion on Images

Follow these steps:

  1. From the ENVI Toolbox, select Transform > Dimensionality Expansion. The Dimensionality Expansion dialog appears.
  2. Select a multispectral Input Raster.
  3. Enable the Display result check box to display the output image in the Image window when processing is complete.
  4. Click OK. ENVI adds the resulting output to the Data Manager. If the Display Result check box was enabled, it also adds a layer consisting of the first three bands of the dimensionality expansion image to the Layer Manager. It displays the output in the Image window.
  5. Click the Data Manager button in the menu bar to see the full list of bands in the output image. The following is an example of the bands produced from a four-band multispectral image. The first four bands are the original source bands:

Optional: Run Dimensionality Expansion on Spectral Libraries

You can use the Spectral Library Dimensionality Expansion tool to run dimensionality expansion on a spectral library. This is useful if you create a dimensionality expansion image and you want the spectral library to match the data space of that image.

You can also write a script to run dimensionality expansion on spectral libraries using ENVIDimensionalityExpansionSpectralLibraryTask.

This tool uses the number of bands and the wavelength values of a separate input image to resample the spectral library into the same wavelength range as the input image. It then runs a dimensionality expansion on the resampled bands of the spectral library to match the data space of the dimensionality expansion image.

Follow these steps:

  1. From the ENVI Toolbox, select Spectral > Spectral Libraries > Spectral Library Dimensionality Expansion.
  2. Select an Input Spectral Library.
  3. Select a multispectral Input Raster. This is not the dimensionality expansion image that you previously created. The number of bands and the wavelengths of the input image will determine how to resample the input spectral library prior to dimensionality expansion. The input image must have wavelengths defined in its metadata if the number of bands is different between the spectral library and the input raster. Otherwise, wavelength metadata is not required.
  4. Optional: In the Reflectance Scale Factor field, specify a value by which to multiply the input spectral library values so they have a magnitude equivalent to the range of data in the dimensionality expansion image. For example, atmospheric correction tools such as QUAC and FLAASH produce a reflectance image whose values range from 0 to 10000. If you use a spectral library whose reflectance values range from 0 to 1, you should set the reflectance scale factor to 10000 to match the dimensionality expansion image. If the spectral library is already in the same data space as the dimensionality expansion image, then you do not need to set a Reflectance Scale Factor. This is the case if the spectral library was created from the n-D Visualizer or by using mean spectra from regions of interest (ROIs).
  5. Specify a filename and location for the Output Spectral Library.
  6. Click OK. Now the transformed spectral library can be used with the dimensionality expansion image.


See Also

Transforms, Target Detection Wizard, Classification Toolbox Tools

© 2019 Harris Geospatial Solutions, Inc. |  Legal
My Account    |    Store    |    Contact Us