IDL Extensions for ENVI

Mort Canty

m.canty

This page lists the most recent versions of my IDL programs for the ENVI environment discussed in my textbook
Image Analysis, Classification and Change Detection in Remote Sensing, with Algorithms for ENVI/IDL, Second Revised Edition
Taylor & Francis, CRC Press 2010.
See also Allan Nielsen's software page for Matlab versions of the change detection algorithms.

.
Return to my private homepage here.

Prerequisite Libraries

The following libraries must be present in the IDL path before attempting to run any of the extensions:

David Fanning's Coyote Library

My auxilliary routines. (Documentation) (updated October 25, 2009) On windows systems place PROVMEANS.DLL and PROVMEANS.DLM from this library in your DLM path. If you're not running on Windows, see the textbook for instructions. Please note: The old PROV_MEANS.DLL is no longer used by the present IR-MAD routine.

All extensions also assume that ENVI is up and running. Most of them can be integrated directly into the ENVI main menu by copying the programs with filenames of the form program_RUN.PRO to ENVI's SAVE_ADD directory.

In addition some of the extensions can take advantage of the Tech-X Corp. GPULib interface to nVidia's CUDA. (These extensions will now also run without GPULib/CUDA.)

Extensions (Documentation)

ENVI/IDL Extensions
 Preprocessing  DWT fusion  sharpen multispectral images with discrete wavelet transform
   A trous fusion  ditto with a trous wavelet transform
   Wang-Bovik quality index  evaluate radiometric fidelity of pansharpened images
   C-correction  correct for solar illumination in rough terrain
   Kernel PCA  perform nonlinear principal components analysis (can take advantage of GPULib)
   Contour-match  get tie-points for image-image registration from invariant features
 Supervised classification  Bayes maximum likelihood  wrapper for the ENVI ML classifier
   Support vector machine:  wrapper for the ENVI SVM classifier
   Hybrid two-layer neural network  trained with kalman filter and scaled conjugate gradient algorithms
   Two-layer neural network  trained with scaled conjugate gradient algorithm (can take advantage of GPULib)
   Boosted three-layer neural network  apply adaptive boosting (AdaBoost) to a sequence of neural networks
   Gaussian kernel classification  non-parametric Parzen-window classification (can take advantage of GPULib)
   Probabilistic label relaxation  perform postclassification filtering
   Contingency table  calculate confusion matrices and kappa values
   McNemar test  compare classifiers with the McNemar statistic
 Unsupervised classification  Expectation maximization  cluster image data with a mixture of multivariate Gaussians (can take advantage of GPULib)
   FKM clustering  cluster image data with a fuzzy K-means algorithm
   HCL clustering  cluster image data with a heirarchic agglomerative algorithm
   Kernel K-means  cluster image data with a kernel version of K-means (can take advantage of GPULib)
   Kohonen SOM  visualize image data with the Kohonen self-organizing map
   Mean shift  segment images with mean-shift algorithm
 Change detection  IR-MAD  apply iteratively re-weighted multivariate alteration detection (updated 10/25/09)
   Radcal  perform automatic relative radiometric normalization of images
   MadView  set thresholds on MAD images
 Miscellaneous  Structure height  use RFMs to determine height of vertical structures
   Examples  example IDL programs from the 2nd edition
   Solutions  some solutions to the progamming exercises in the 2nd edition