ENVI


From the CRC Press site for Image Analysis, Classification, and Change Detection in Remote Sensing: With Algorithms for ENVI/IDL, Second Edition:

This popular introduction to the processing of remote sensing imagery has been updated to include coverage of the latest versions of the ENVI software environment. This new edition covers support vector machines and other kernel-based methods. Illustrating many programming examples in the array-oriented language ID, the text includes coverage of basic Fourier, wavelet, principal components and minimum noise fraction transformations; convolution filters, topographic modeling, image-to-image registration and ortho-rectification; image fusion; supervised and unsupervised land cover classification with neural networks; hyperspectral analysis; multivariate change detection.

I was excited to hear that GPULib was used in this version of the book. Mort says:

In the text I discuss routines for nonlinear principal component analysis, supervised classification and nonlinear clustering, and explain that they can take advantage of GPULib/CUDA, if installed. (I use your routine GPU_DETECT() to check for GPULib).

Full disclosure: I work for Tech-X Corporation and worked on the IDL bindings and examples for GPULib.

ITT VIS has a YouTube channel. There are quite a few videos describing ENVI features, all of which were uploaded about three weeks ago. They are marketing-oriented, but still provide some useful information about ENVI’s capabilities. A programming language is not as easy to create a video for, but it would be nice to see some for IDL.

A while ago, I wrote a simple ENVI user function to show the location of the current image using Google Maps. Evidently, Google recently changed the Google Maps slightly which was causing the map controls to not appear.

This update requires no change to the ENVI user function MG_GOOGLE_LOOKUP, only to the server-side code. So, if you already downloaded the code, things should just work for you now. If you would like to try it out, check the installation instructions in the original article.

There have been suggestions recently that Google Earth is a “powerful tool” for science. Some disagree. At least one amateur used Google Earth to find an asteroid impact crater.

I just wanted to give context to imagery viewed in ENVI (similar to my Google Maps user function). MG_WRITE_KML produces a KML file and an image suitable for viewing in Google Earth. The KML file includes lat/lon information to locate the image. The user function is only one file: MG_WRITE_KML (docs).

Let me know if you use Google Earth for science and if this user function is useful for you.

Continue reading “Google Earth user function for ENVI.”

Google Maps Version 2 lookup for ENVI I upgraded to Version 2 of the Google Maps API. The benefits of Version 2 of the API that are applicable for the ENVI lookup user routine are:

  1. The Overview map control displays a collapsible overview map in the lower-right corner of the browser window.
  2. The Javascript is half the size, so it should be a faster download.
  3. Increased imagery resolution and coverage.
  4. Other customization features make future enhancements to MG_GOOGLE_LOOKUP possible.

The best part is that all the changes are on the server side, so this will just happen automatically for those who are using MG_GOOGLE_LOOKUP already. If you for some reason want to keep using Version 1 of the Google Maps API, change the URL inside MG_GOOGLE_LOOKUP from envi_lookup.html to envi_lookup1.html.

See previous post Google Maps lookup for ENVI.

bhtmref.img displayed in Google Maps This ENVI user function will add a “Find location using Google Maps” in the Tools menu of the display window for any image with map information. Selecting it will bring up the location of the image with Google Maps in your default browser.

Also included is a helper routine called MG_OPEN_URL which is useful in general to open an URL in the default browser from IDL. It will work on any IDL platform. On Unix platforms, the first time it is used it requires the user to locate the web browser. It stores this location and uses it for future calls. This is not necessary on Windows and Mac since they have a nice way to start the default application for URLs.

ENVI and an internet connection are required to use this ENVI user function.

Installation instructions

  1. Download mg_google_lookup.sav or the source code.
  2. Move the .sav file or .pro files into the save_add directory of your ENVI distribution.
  3. On UNIX (but not Mac or Windows) platforms, the first time MG_GOOGLE_LOOKUP is used it will ask for the location of the web browser you want to use to display the Google Maps.