Examples of setting up the interactive Image Composite Explorer (ICE) Version 2 for your own use

page updated 10/19/2006


Version 2 - Released January 24th, 2005

Updated: June, 2012 (version 2.5)

Overview

The ICE was developed for the NASA Earth Observatory at the University of Wisconsin-Madison, Space Science and Engineering Center by Tom Whittaker. It is a tool that can be used to let people explore satellite images and data using a web browser. It is designed to be flexible within its intended purpose, and can be easily configured using simple HTML parameters, as described below.

The ICE is coded in Java using version 1.1 standards, so as to run as an applet under common web browsers. If your users have Apple computers running OS-9, however, they will need to use Internet Explorer and the Apple MRJ (Java runtime).

This is Version 2 of the ICE tool.


View this page in Romanian courtesy of azoft


End-user environment

The ICE is run through a web browser. It was coded to the Java 1.1 API. The ICE has been tested and shown to run in the following environments: In all Windows environments, it is best to use the Sun Java Plug-in. If you have difficulties, please refer to this page for more information.

It is strongly recommended that you use an 8-bit image encoding scheme, such as GIF. All the math and color combination operations are done with 8 bit colors. In addition, using other encoding schemes (JPG, PNG) usually results in using 4 times as much memory for the image storage which can cause problems with "Out of Memroy" errors in some situations.

Modes of configuration

The ICE has four basic modes of operation:
  1. Color (RGB) combining
  2. Arithmetic combinations
  3. Animations
  4. Showing 3 images
  5. Showing a single image
In each of these modes, a common set of tools is provided --

What you need

Making ICE available to your users is as easy as putting the "icecode.jar" file into an accessible directory on your Web server. (Right click on this link and "Save As".) You then need to make your GIF or JPEG images available on the same server (usually in a subdirectory of where you put the code). Finally, you need to imbed the applet start-up and parameters into the HTML for one of your Web pages on that server (usually in the same directory as the code -- if not, then be sure to use the "codepath=" parameter in the applet tag.)

Oh, and you need to decide which mode you want to use for a particular situation -- that's what the following examples will help you with:

Examples of the modes

  1. To present a color (RGB) combining operation, you would imbed the following snippet in your page's HTML:
    <applet archive="icecode.jar" code="ICE.class" height="660" width="750">
    <param name="filenames" value="band02.jpg,band06.jpg,band07.jpg">
    <param name="labels" value="0.87 micron,1.64 micron,2.13 micron">
    <param name="do_rgb" value="ok">
    <param name="bgcolor" value="xFFFF00">
    <param name="resolution" value="km,1.5,1.5">
    </applet>
    
    Click here to see this example in action.

  2. To present an arithmetic combining operation, you would imbed the following snippet in your page's HTML (we've also added an external color lookup table):
    <applet archive="icecode.jar" code="ICE.class" height="660" width="750">
    <param name="filenames" value="band02.jpg,band06.jpg,band07.jpg">
    <param name="labels" value="0.87 micron,1.64 micron,2.13 micron">
    <param name="do_math" value="ok">
    <param name="bgcolor" value="xFFFFFF">
    <param name="resolution" value="km,1.5,1.5">
    <param name="colortable_filenames" value="aerosol_darksky.act,fasir_ndvi.act,atmospheric_profile_temp.act">
    <param name="colortable_labels" value="Dark Sky, NDVI, Profile Temperature">
    </applet>
    
    Click here to see this example in action.

    And to illustrate "pre-computing" a particular combination, this example also includes the following parameter:

    <param name="initial_math" value="1.0, 2, 1.0, 0, 0.0">
    
    which will initially cause the first to images to be subtracted, and the third one not to be included in the computation.

    And to illustrate the use of math operations with only two images, the example here is the same as the previous one except for these three parameters:

    <param name="filenames" value="band02.jpg,band06.jpg">
    <param name="labels" value="0.87 um,1.64 um">
    <param name="initial_math" value="1.0, 2, 1.0">
    
  3. To present an animation of three images, you would imbed the following snippet in your page's HTML:
    <applet archive="icecode.jar" code="ICE.class" height="660" width="750">
    <param name="filenames" value="us0.gif, us1.gif, us2.gif">
    <param name="labels" value="1745UTC, 1815UTC, 1845UTC">
    <param name="do_animation" value="anything">
    <param name="resolution" value="km,16,16">
    <param name="calibration" value="degrees C, 0=56.8, 176=-31.2, 255=-110.2">
    </applet>
    
    Click here to see this example in action. Note that we've also added a calibration (brightness values to temperature for GOES IR images).

    Note we did not specify a background color, so the default (usually gray) is used.

  4. To present just three images that you want to display and allow the user to explore, you would omit the "do_..." parameter altogether. For example, you could imbed the following snippet in your page's HTML:
    <applet archive="icecode.jar" code="ICE.class" height="660" width="750">
    <param name="filenames" value="band02.jpg, band06.jpg, band07.jpg">
    <param name="labels" value="0.87 micron,1.64 micron,2.13 micron">
    <param name="bgcolor" value="xFFFFFF">
    <param name="resolution" value="km,16,16">
    <param name="calibration" value="^oC, 0=56.8, 176=-31.2, 255=-110.2
    & %,0=0, 255=100 & E-3 W / m^2, 0=40., 120=16., 255=.2">
    </applet>
    
    Click here to see this example in action. Note that we've also added a calibration curve for each of the images, and these will be reflected in the probe values (along with the units specified). Note the "shorthand" for the superscripts for the degree and square symbol.

    And to illustrate "navigation", whereby you have rectangular images (in latitude-longitude space), this example also includes the following parameter:

    <param name="navigation" value="40.0, -90, 35.00, -70, nmi">
    
    which says that the upper-left corner of the image is at 40.0N/90W and the lower-right corner is at 35.00N/70W. Furthermore, the units to display distance and area in are nautical miles (nmi); other options are "km" and "mi". The maximum number of digits to the right of the decimal of the displayed values will be the maximum number of digits to the right of the decimal in any of the given values. In this case, all displayed values will have 2 digits to the right of the decimal (because of the "35.00").

    Finally, here is a Real World example from NASA's Earth Observatory, that uses this "image only" mode. Click here to run it.

  5. To present a single image, with minimal tools available, you need only do this:
    <applet archive="icecode.jar" code="ICE.class" height="460" width="750">
    <param name="filenames" value="test_patt.gif">
    <param name="labels" value="TV Test Pattern">
    <param name="resolution" value="px,1,1">
    </applet>
    
    You may run this single-image example (which also includes a color_table selection for interest) by clicking here. The color_table specifications are done the same way as previously shown:
    <param name="colortable_filenames" value="aerosol_darksky.act,fasir_ndvi.act,atmospheric_profile_temp.act">
    <param name="colortable_labels" value="Dark Sky, NDVI, Profile Temperature">
    
    This is, of course, optional.

Complete list of HTML parameters and options

Here is a complete list of the parameters an options available in the ICE:


Copyright notice

The software described herein is the ICE (Image Componsite Explorer) package, a web-based toolkit for exploring image combinations. It was developed under contract to NASA Earth Observatory and is Copyright(C) 2002-2006 by Tom Whittaker.

This program is free software; you can redistribute it and/or modify it but you may NOT repackage and sell it.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

The developers or their employers or the spondering Agency are not responsible for any and all ramifications, etc., which may result from using this software, or software derived therefrom. Furthermore, you agree to hold us harmless from any consequences related to the use of this software.

That's it.