分享

IDL Extensions for ENVI

 huiwuyiyu 2013-06-29

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 as well as some additional, mostly experimental, routines for parallel processing with Nvidia's CUDA and Python versions of some of the algorithms.

This page was last modified 05/16/2013 13:01:43.
- Included an ENVI/IDL extension for Scatterplot normalization


Return to my private homepage here.

If you don't have ENVI/IDL, you can try out some of the algorithms on the Google Cloud. See also Allan Nielsen's software page for Matlab versions of the change detection algorithms and my Python versions of IR-MAD, Radiometric Normalization and kernel PCA.

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.)

On 32bit Windows systems place PROVMEANS.x86.DLL and PROVMEANS.DLM from this library in your DLM path.

Note: If you are running IDL on Windows x64, place PROVMEANS.x86_64.DLL and PROVMEANS.DLM in the DLM path. In addition, if you don't have Microsoft Visual C installed on your computer, you will need to download and install the Microsoft Visual C 2010 Redistributable Package (x64).

If you're not running on Windows, see the textbook for instructions.

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 CUDA. (These extensions will now also run without GPULib/CUDA.)

Documentation

Kernel K-Means Clustering of Remote Sensing Imagery with CUDA, a detailed description of my GPULib implementation of the Kernel K-Means algorithm (Google Docs).

The MAD MAN, a users manual for the IR-MAD (iMAD) and RADCAL extensions (Google Docs).

ENVI/IDL Extensions

Python routines

Downloads

Note: If you use this software, please do not forget to acknowledge the source. If you use the extension(s) for IR-MAD (iMAD) analysis please cite Allan Nielsen's IR-MAD paper, if you use the extension(s) for IR-MAD radiometric normalization please cite the normalization paper by myself and Allan Nielsen, if you use the kMAF extension please cite Allan's kMAF/kMNF paper.

 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)
   Kernel MAF  perform nonlinear maximum autocorrelation factor 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 (iMAD)  apply iteratively re-weighted multivariate alteration detection
   Radcal  perform automatic relative radiometric normalization of images
   MadView  set thresholds on MAD images
   Bslfcpnorm  Scatterplot normalization of RED and NIR image bands
 Miscellaneous  Structure height  use RFMs to determine height of vertical structures
   Class segmentation  Segment a classified image
   Examples  example IDL programs from the 2nd edition
   Solutions  some solutions to the progamming exercises in the 2nd edition
 CUDA (experimental)  Cuda_SVD  a DLM for singular value decomposition on CUDA
   Cuda_NDVI  a DLM for calculating NDVI indices on CUDA
   Cuda_STRETCH  a DLM for enhacement stretching on CUDA
 Python  iMad/RADCAL  Python scripts for IR-MAD (iMAD) and RADCAL
   kPCA  Python script for kernel PCA with and without CUDA

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多