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.
The following libraries must be present in the IDL path before attempting to run any of the extensions:
David Fanning's Coyote LibraryAll 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.)
| 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 |