Introducción al Image Composite Editor (ICE)

ICE es un applet desarrollado por Tom Whittaker del Centro de Ciencias Espaciales e Ingenierías de la Universidad de Wisconsin-Madison para el NASA Earth Observatory. La traducción de la documentación y la localización del applet han sido efectuadas por Albert Llastarri y Jordi Vivancos.

ICE es un applet Java configurable por parámetros, capaz de visualizar y analizar imágenes satélite multibanda, series temporales y realizar operaciones matemáticas entre diferentes imágenes. Las herramientas de análisis que incorpora, permiten desarrollar actividades de aprendizaje interactivas, basadas en el análisis y la exploración de imágenes de satélite. ICE está pensado para que sea posible configurarlo fácilmente con conocimientos básicos de HTML.

Descripción de ICE 2.0

Interfaz del Applet ICE

La interfaz de ICE muestra tres imágenes miniatura en la parte superior, y una imagen ampliada de una de las miniaturas, seleccionada por el usuario o fruto de la combinación de entre ellas, según el modo de operación adoptado. Sobre la imagen ampliada, es posible efectuar mediciones, tomar datos o interactuar de diversas formas, mediante las herramientas disponibles a su derecha. La etiqueta de cada imagen, identifica los datos que representa.

Herramientas de ICE 2.0

Zoom
Selector que activa el modo zoom. Para aumentar la imagen, se debe pulsar el botón izquierdo del ratón y para alejarse el derecho.
Con la imagen ampliada, nos podemos desplazar por ella, pinchando la imagen y arrastrando el puntero del ratón.
Explorar
Muestra los valores de cada punto de la imagen de acuerdo con la calibración establecida. Si además se incluye el parámetro "navigation", se mostrarán también la latitud y longitud del punto señalado con el ratón.
Restablecer
Devuelve la visualización de la imagen a su estado original.
Distancia
Determina la distancia entre puntos de acuerdo con las unidades fijadas en el parámetro "resolution".
Transecto
Genera un gráfico con los valores de los píxeles a lo largo de un segmento lineal trazado con el ratón. Es posible desplazar dicho segmento sobre la imágen (sin soltar el ratón) y observar las variaciones de valores de los píxeles.
Selec. Rectangular
Permite la selección de una región rectangular al desplazar el cursor del ratón (sin soltar el botón izquierdo). Una vez delimitada la zona sobre la que queremos trabajar, los botones de algunas herramientas (Histograma, Dispersograma) se activan automáticamente.
Selec. Irregular
Permite la selección de una región irregular de la imágen al desplazar el cursor del ratón (sin soltar el botón izquierdo). Una vez delimitada la zona sobre la que queremos trabajar, los botones de algunas herramientas (Histograma, Dispersograma) se activan automáticamente.
Dispersograma 2D
Genera un Dispersograma en una ventana adicional. Para generar el dispersograma, se necesitan dos imágenes para comparar sus valores. Las dos imágenes se seleccionan clicándolas (estas se visualizan emmarcadas en amarillo), en caso de no hacerlo, ICE selecciona automáticamente las dos primeras.
El gráfico de dispersión es interactivo. Si seleccionamos una región de píxeles, se iluminaran en la imagen central los que entran dentro del rango seleccionado.
Dispersograma 3D
Genera un Dispersograma tridimensional en una ventana adicional, con los valores de los píxeles de las tres imágenes sobre una zona previamente seleccionada.
Este gráfico puede moverse mediante el ratón en combinación con las teclas indicadas en la propia ventana.
Histograma
Genera un histograma con la distribución de valores de los píxeles de la zona seleccionada.
El histograma muestra el número de píxeles que tienen un valor particular para cada una de las tres imágenes (representadas por diferentes colores).
Histograma 3D
Genera un histograma tridimensional con la distribución de valores de los píxeles de dos imágenes. Es similar al Dispersograma, pero además muestra el número de píxeles que tienen las mismas propiedades.
Las dos imágenes se deben seleccionar clicándolas, en caso de no hacerlo, ICE selecciona automáticamente las dos primeras. El gráfico del Histograma 3D se genera en una ventana adicional. Este gráfico puede moverse mediante el ratón en combinación con las teclas indicadas en la propia ventana.
Imprimir
Imprime la ventana del applet en la impresora seleccionada por defecto.
Animar
Activa la animación de una secuencia de tres imágenes. Solamente aparece en el modo animación.
Calcular
Realiza los cálculos establecidos. Solamente aparece en el modo de cálculos aritméticos.

Proceso de generación de una actividad con ICE

El desarrollo de una actividad interactiva con ICE, implica unos conocimientos básicos de lenguaje HTML.
El procedimiento se resume en dos fases:

  1. Generar una página en código HTML que llame al applet "icecode.jar", indicando los parámetros de configuración requeridos (ver más adelante). Para ello se aconseja analizar el código fuente de los ejemplos adjuntos.
  2. Preparar las imágenes a analizar en formato GIF o JPEG y ubicarlas en el lugar referenciado.

Modos de operación de ICE 2.0

ICE ofrece los siguientes modos de funcionamiento:

A continuación se muestran ejemplos de cada uno de ellos:

Ejemplo ICE RGB Modo combinación de colores (RGB)

Los parámetros que se deben incluir en el código HTML son (en rojo se destaca el parámetro clave del modo):

Ejemplo ICE Cálculos Modo cálculos aritméticos

Constituye el modo más completo. Se activa mediante el parámetro "do_math" y permite la realización de cálculos aritméticos con los píxeles de las 3 imágenes:

Se puede incluir también un parámetro opcional, donde se indiquen los valores iniciales de los operadores:

Un caso particular, son las operaciones matemáticas con únicamente dos imágenes. En este caso, el procedimiento es el mismo que el anterior, exceptuando los valores del parámetro "initial_math" que se limitan a 3:

Puede ser interesante incluir en este modo la selección de una paleta de color, para generar imágenes en pseudocolor. El cambio de color, requiere disponer de archivos de paleta de colores, que se deben invocar mediante los siguientes parámetros opcionales:

Ejemplo modo animación Modo animación

El parámetro "do_animation" genera la animación de una secuencia de tres imágenes:

NB: El modo animación únicamente acepta imágenes en escala de grises.
Nótese también que en este ejemplo no se ha especificado el color de fondo, que por defecto es blanco.

Ejemplo del Modo operaciones con 3 imágenes Modo analítico con tres imágenes

Este ejemplo, muestra los parámetros apropiados, para mostrar 3 imágenes calibradas. Se deben omitir los parámetros de tipo "do_...".

En este modo, cuando se pulsa con el ratón sobre una de las miniaturas, aparece la imagen seleccionada en el panel ampliado. Si se quiere hacer un diagrama de dispersión (o un histograma 3D) en este modo, ICE utiliza las dos últimas imágenes seleccionadas.

NB: El parámetro "navigation" , se utiliza para georeferenciar imágenes rectangulares. Para ello se deben introducir los valores de latitud y longitud. En el ejemplo, estos valores nos indican que el vértice superior izquierdo de la imagen tiene las coordenadas 32,175 º Norte / 122,935º Oeste y el vértice inferior derecho está a 35,825º Norte y 117,065º Oeste. El número máximo de dígitos decimales admitidos es de 5.
El parámetro "calibration" permite calibrar para cada una de las imágenes. Los valores de cada imagen se separan con el símbolo &. La visualización de estos datos se efectua mediante la herramienta Explorar
Finalmente este ejemplo incluye parámetros para colorear artificialmente (pseudocolor) la imagen central: colortable_filenames y colortable_labels.

Modo operaciones con una sola imagen Modo analítico con una sola imagen

Este es el modo mas simple de utilizar el programa ICE. Este modo permite analizar una sola imagen con las herramientas básicas.
Para ello se deben utilizar los siguientes parámetros:

NB: Este modo solo admite imágenes en escala de grises. Es posible añadir también distintos parámetros opcionales, por ejemplo (colortable) para generar imágenes en pseudocolor.

Relación de parámetros de configuración para ICE 2.0

Parámetro obligatorios

<applet archive="icecode.jar" code="ICE.class" height="650" width="750">
Parámetros de dimensionamiento de la ventana del applet. El ejemplo indica que las dimensiones del applet son de 650 píxeles de alto y 750 píxeles de ancho.
Observaciones:

<param name="filenames" value="eos1.gif, eos2.gif, eos5.gif">
Relación de los archivos de las imágenes (GIF o JPEG) que debe cargar el applet. Si estos archivos no están en el mismo directorio que el applet, debe incluirse su camino (path). Los recursos que carga un applet no pueden estar en una carpeta más profunda que el HTML. Cuando se utilice este applet en un servidor online, las imágenes y el applet deben estar en un servidor con el mismo dominio.
Las imágenes en miniatura, se dispondrán de izquierda a derecha según el orden que se carguen. Cuando no se realizan operaciones matemáticas, deben aparecer 3 imágenes . Si se efectúan cálculos, se deben cargar de 2 o 3 imágenes. Si solamente se utilizan dos imágenes, la tercera imagen en miniatura mostrará los resultados de la operación matemática efectuada con las otras dos imágenes.

<param name="labels" value="Espectro visible, 6.7 nm, 10.7 nm">
Permite etiquetar las imágenes que se mostrarán. Las etiquetas deben estar en el mismo orden que los archivos a los que se refieren y deben coincidir en número.

Parámetros opcionales

<param name="bgcolor" value="xFFFF00">
Este parámetro permite configurar el color de fondo del applet. El formato de los valores es: xRRGGBB (RR=rojo, GG=verde, BB=azul) en valores hexadecimales. Los valores del ejemplo (xFFFF00) generan color amarillo.

<param name="resolution" value="km,4,5">
Este parámetro, si se utiliza, provocará que la región seleccionada se lea en unidades al cuadrado. El formato de este parámetro es: unidad, distancia/ horizontal y distancia/ vertical.

<param name="do_rgb" value="anything">
Parámetro que activa el modo de combinación RGB entre tres imágenes de la misma escena con distintas bandas. El parámetro se puede utilizar conjuntamente con "do_animation" (aunque no siempre sea así), pero no debe usarse simultáneamente con "do_math" o "do_extended_math".

<param name="do_animation" value="anything">
Parámetro que permite trabajar con una secuencia temporal de tres imágenes. La activación de este parámetro hace aparecer dos nuevos botones: Animar y Siguiente.
Asimismo, si hemos calibrado las tres imágenes, la función Explorar mostrará en el cursor, un gráfico con los valores del mismo punto para cada imagen.

<param name="do_math" value="anything">
Establece el modo de cálculos matemáticos. Aquí, cada imagen miniatura tiene un campo de texto en la parte inferior para introducir el factor de los operadores. Entre los campos de texto, disponemos del selector para el operador matemático: suma, resta, multiplicación y división. Este modo puede combinarse con "do_animation", pero no puede utilizarse con el parámetro "do_rgb".

<param name="probe_number_format" value="###.###">
En el modo "do_math", este parámetro permite especificar el formato numérico de la herramienta Explorar . Cuando esté especificado el modo "do_math", Explorar mostrará los resultados según el formato decimal seleccionado. Los caracteres especiales de formateo son:

# = un dígito (no se muestran los ceros no significativos),
. = un punto decimal,
0 = un dígito (se muestran los ceros no significativos).

Por defecto, se muestran como: ###.###

<param name="do_extended_math" value="anything">
Este parámetro implica el modo "do_math", al que añade operadores extra (en la versión 2.0, solamente NDVI).

<param name="initial_math" value="1.0, 1, 2.0, 2, 0.5">
Cuando se utiliza el modo "do_math" o el "do_extended_math", este parámetro permite fijar los valores iniciales y los operadores matemáticos que se activaran por defecto. Los cinco valores indicados corresponden a:

Ponderación de la primera imagen ("1.0")
Operador entre la primera y la segunda imagen (1 = sumar)
Ponderación de la segunda imagen ("2.0")
Operador entre la segunda y la tercera imagen (2 = restar)
Ponderación para la tercera imagen ("0.5")

Los códigos de los operadores aritméticos son:
0 = no hacer nada
1 = suma
2 = resta
3 = multiplicación
4 = división
5 = NDVI (solo en el modo "do_extended_math")

Si sólo se utilizan dos imágenes, entonces se debe abreviar el formato del parámetro "initial_math" incluyendo únicamente los tres primeros valores.

NB: si ninguno de los parámetros "do_..." está presente, aparecerá el botón Siguiente para permitir al usuario mostrar cada una de las tres imágenes miniatura en la ventana principal.

<param name="colortable_filenames" value=" archivo1.act, archivo2.act, ...">
<param name="colortable_labels" value="Etiqueta archivo1, Etiqueta archivo 2,...">
Estos dos parámetros especifican las paletas de colores que se pueden utilizar junto con sus respectivos nombres. La presencia de estos dos parámetros generará una lista desplegable que se ubicará bajo el panel principal. Los archivos "colortable" son archivos de paleta de colores (extensión .act) se pueden generar con un programa de tratamiento de imágenes.

<param name="calibration" value="C, 0=56.8, 176=-31.2, 255=-110.2">
El parámetro "calibration", permite especificar la equivalencia entre los valores de cada píxel (8-bit) de una imagen y determinadas unidades físicas. En este primer ejemplo, se indican tres valores de calibración: valor de _píxel = valor_físico. El primer ' valor_de_píxel' debe ser 0, y el último 255 (rango de valores de 8 bits). El valor intermedio (176=-31.2) del ejemplo sirve como referencia. El resto de valores intermedios se calculan por interpolación lineal.

<param name="calibration" value="C, slope=.5, intercept=163>
Esta segunda forma del parámetro "calibration", proporciona una forma más convencional de equivalencia entre píxeles y unidades físicas, mediante la "pendiente" de la recta de conversión y el establecimiento del valor límite. Es conveniente utilizar este formato cuando la conversión de todo el rango de valores de los píxeles sea lineal.

<param name="calibration" value="^oC, 0=56.8, 176=-31.2, 255=-110.2 & %,0=0,255=100 & E-3 W / m^2, 0=88, 120=15.5, 255=.22">
<param name="calibration" value="-,0=0,255=255 & -,0=0,255=255 & -, 0=0.9000, 255=-0.10000" >
El parámetro "calibration" también permite una calibración independiente de cada una de las 3 imágenes de trabajo, separándolas con el carácter "&". Estos valores se visualizaran posteriormente mediante la herramienta Explorar .

NB: El número de dígitos decimales, que se especifican para cualquiera de los valores calibrados en cada sección, se utiliza para dar formato a los resultados. Por ejemplo, si se indica "15.24", la visualización de ese parámetro con la herramienta Explorar se ajustará al formato "XX.XX".
No se pueden usar más de 5 dígitos decimales (Si se supera este número, la consola de Java mostrará un mensaje de alerta).
Los códigos para los grados centígrados y los exponentes cuadrado y cubo son: ^o, ^2, ^3, respectivamente.

<param name="navigation" value="35.1, -90, 25.22, -70.1">
Este parámetro permite georeferenciar una imagen. Esto hace que la herramienta Explorar indique la latitud y la longitud del punto señalado por el ratón.
La precisión máxima de las lecturas con dicha herramienta, depende de los valores introducidos en este parámetro. Con los valores del ejemplo, la herramienta Explorar mostrará resultados con 2 cifras decimales.

<param name="missing_value" value="255">
Este parámetro hace que el valor indicado (255 en este caso) sea tratado como "ausente". Los píxeles que contengan este valor serán ignorados durante las operaciones matemáticas. Además, cualquier píxel en la imagen "roja" que no tenga los mismos componentes RGB, hará que dicho píxel sea considerado "ausente" en todas las imágenes, independientemente de la presencia del parámetro "missing_value".

Requisitos técnicos

ICE 2.0 funciona mediante un navegador web que tenga activado el plugin de Java.
NB: La versión 1.4.1 del plugin de Java de Sun presenta algunas disfuncionalidades. Si se tiene instalada dicha versión, recomendamos actualizarla.

ICE ha sido probado y funciona correctamente con los siguientes sistemas operativos y navegadores:

Aunque ICE soporta el formato gráfico JPG, se recomienda utilizar el formato de imagen GIF codificado con 8 bits. Los cálculos matemáticos y de colores que efectúa ICE, se hacen con una resolución de colores o niveles de gris de 8 bits. Si se utilizan formatos gráficos con codificaciones con mayor número de colores (como JPG o PNG) el ordenador debe utilizar 4 veces más de memoria para el cálculo y el almacenamiento de las imágenes, factor que puede generar problemas de memoria en ordenadores de bajas prestaciones.

Aviso de Copyright

El software ICE (Image Composite Explorer), es un conjunto de herramientas web para el análisis de las imágenes satélite. Fue desarrollado bajo contrato del observatorio de la tierra de la NASA y es Copyright(C) 2002-2005 de Tom Whittaker. Este programa es software libre; usted puede redistribuirlo y/o modificarlo pero no puede comercializarlo. Este programa se distribuye con la esperanza de que sea útil, pero SIN NINGUNA GARANTÍA, incluso sin la garantía implícita de su COMERCIALIZACIÓN o de ADECUACIÓN a un PROPÓSITO PARTICULAR. Los autores, sus patrones o la agencia patrocinadora no son responsables de cualquier daño que pudiera resultar del uso este software, o de un software derivado de este. El usuario está de acuerdo en ofrecer su soporte para el uso y mejora de este software.

Si desea obtener más información o quiere aportar alguna sugerencia, contacte con Tom Whittaker para la versión en inglés de ICE2 o con Jordi Vivancos () para la versión castellana.

Finalmente, los traductores queremos agradecer a Tom Whittaker su disponibilidad para compartir con la comunidad científica y educativa, los numerosos applets educativos que ha desarrollado.