Hace unos días he necesitado crear una textura que incorporase la información del relieve de la Tierra, así que fui a la fantástica web de la NASA “Blue Marble Next Generation” y allí me hice con el archivo a máxima calidad “BMNG RAW Topography”.

Tal y como describen allí, este archivo supone una representación de la elevación de la superficie de la Tierra en metros, respecto al nivel del mar. Los valores positivos corresponden a todas aquellas zonas que están por encima del nivel de mar, y los negativos a aquellas que están por debajo, aún perteneciendo a las zonas continentales (como ciertas zonas de los Países Bajos, por ejemplo).

Todos esos datos están formateados como un archivo de 16 bits de tipo “RAW Binary” (.bin), de tal modo que se representa la superficie equirectangular de nuestro mundo mediante 86.400 columnas por 43.200 líneas. Así que al final, una vez lo convirtamos a una imagen, tendremos que cada grado de latitud o longitud de la Tierra estará representado por 240 píxels (86.400/360º=240). Se trata, pues, de una representación de muy alta calidad del relieve de nuestro planeta y además, no lo olvidemos, contamos con 16 bits de información (es decir: 65.536 posibles niveles, en  lugar de los 256 que obtendríamos con un archivo de 8 bits).

En el mencionado link veremos que tenemos un archivo comprimido de 1GB llamado “srtm_ramp2.world.86400×43200.bin.gz”. Una vez lo bajemos y descomprimamos el .gz tendremos un archivo .bin de varios gigas. La cuestión es: ¿cómo hacemos para convertir ese archivo en imagen?. Aunque no es el mejor programa para tratar con ese tipo de archivos, lo podremos abrir con Photoshop, siempre y cuando tengamos un equipo relativamente moderno y potente, con suficiente RAM. Para ello podremos seguir los siguientes pasos:

Desde Photoshop ejecutamos la orden “Abrir…” y buscamos el archivo .bin, pero será importante que le indiquemos al programa que debe tener en cuenta “Todos los Documentos” y que use el formato “Photoshop Raw” (cuidado, no confundir con “Camera Raw”). Aquí tenéis una captura:

all_documents_psd_raw

 

psd_raw_options_macA continuación se os abrirá un cuadro de diálogo donde tenéis que introducir los parámetros de la derecha.

Fijaos que las medidas 86400 x 43200 nos las facilitaban en el texto de la NASA. En “Canales” dejad sólo “1”. Por otro lado es importante indicarle que se trata de una imagen de “16 bits”.

En mi caso, que trabajo con un Mac, le he tenido que indicar esa opción (de hecho, si marco “IBM PC” se me abre una imagen totalmente inservible).

Y el “Cabecero” (“Header”) lo dejamos en cero, tal como nos indicaban en las instrucciones (“no header”).

Una vez le demos al OK, tranquilos, porque probablemente se os pasará un buen ratito para abrir la imagen (no recuerdo exactamente, pero igual fue 1 minuto o quizá algo más).

Y una vez la tengáis abierta, no os alarméis: parece que todo es negro ¿verdad?. Pues no. No es negro. Recordad que se trata de una imagen de 16 bits ;-)

Lo que sí es cierto es que la imagen tiene un problema y es que Photoshop no sabe interpretar las zonas de tierra firme que se encuentran bajo el nivel del mar y que originalmente, en el archivo .bin, tenían valores negativos. Lo que hace el programa es darles un valor de “casi blanco”. Acercaos mucho a la imagen y descubriréis que hay algunas “manchitas” blancas aquí y allá. Más o menos por la zona central, un poco hacia el norte, si os ponéis al 100%, podréis reconocer el perfil de la costa de los Países Bajos:

 

error_negative

Y si os acercáis más todavía veréis que el contorno de esas zonas NO tiene antialiasing, sino que están claramente pixeladas (detalle de la imagen superior).

Pues bien, lo que vamos a hacer ahora es darles a todas esas zonas un valor de “negro absoluto” para hacer que se queden al nivel del mar. Para ello usamos la herramienta “Varita Mágica” e indicamos en sus opciones que use una tolerancia de 32, desactivamos el Anti-alias y le decimos que NO sea Contiguo, tal como vemos en la siguiente captura:

 

varita

A continuación pinchamos sobre una de esas zonas blancas (o casi blancas), y esperamos. Paciencia, porque le volverá a costar un rato: se trata de una imagen enorme. Una vez nos haya seleccionado todas esas zonas del documento las llenamos de negro.

Bien, ahora tenemos una imagen enorme y aparentemente negra. Pero no es así.

Abrimos los Niveles y allí veremos un histograma que nos indica que casi toda la información se encuentra en la parte izquierda, en la zona de los tonos más oscuros. Gracias al hecho de que contamos con 16 bits, lo podemos arreglar sin fastidiar la calidad de la imagen, moviendo el manejador de las altas luces hacia la izquierda, justo hasta la zona donde se empieza a ver información en el histograma, tal como vemos en la siguiente captura animada:

levels

Al hacer esta operación veréis cómo en la imagen aparece por fin el relieve de la Tierra. Antes de cerrar la ventanita de los Niveles quizá notéis un fuerte banding. Tranquilos: dadle a OK, dejad que calcule (le volverá a costar un buen rato) y finalmente tendremos nuestra imagen con el relieve de la Tierra (y sin bandings). Si nos acercamos a Japón veremos esto, con el Fujiyama abajo a la derecha:

 

error_negative

Ahora podremos decidir si mantenemos la imagen como 16 bits, o si no nos hace falta tanta cantidad de información y lo podemos bajar a 8 bits. En cualquier caso, una vez nos llevemos la imagen a nuestro programa 3D y la usemos como Mapa de Desplazamiento, obtendremos algo como esto:

 

japon3d

Y aquí terminamos. Seguro que esto no lo vais a usar ni necesitar mañana. Pero algún día espero que quizá os pueda servir :-)

12 thoughts on “Tutorial Photoshop. Importar y tratar topografía RAW

  1. Magnífico tutorial.

    Al principio, cuando el otro día dijiste que estabas trabajando con una imagen enorme de la topografía de la Tierra para tu próximo trabajo, pensé que estarías modelando el planeta entero, pero ahora creo que la cosa se circunscribirá al territorio japonés ;)

    Un saludo.

    Like

  2. Gracias por todo, primero por las referencias de esa fantástica página web de la Nasa y, como, no por tu gran aporte a que sepamos un poquito más cada día.

    Like

  3. Fabuloso tutorial Cristóbal. Hace tiempo que sigo de vez en cuando tu web y, además de inspiración, me sirve para aprender muchísimo, aunque no utilice la misma plataforma que tú.

    Un matiz en este tutorial. He tratado de abrir esta imagen en Photoshop. Indicar que es indiferente usar un MAC o un PC. Hay que seleccionar Mac en Byte order o el resultado será completamente inútil.

    Un saludo!

    Like

  4. Hola Cristòbal, buen tutorial. Tengo una duda que quizás puedas solucionarme. He visto que el tamaño de la imagen es de 86.400 x 43.200 pixeles. A la hora de aplicar este mapa como desplazamiento en un plano ¿que dimensiones has dado al plano? ¿que relación existe si yo trabajo con medidas internacionales? (ya sean cm., mm, m etc)

    Gracias Cristobal

    Like

    1. En mi caso, para el uso que yo le di, el tamaño del plano (o más bien, del casquete esférico) era completamente indiferente.
      Si necesitas que todo tenga “medidas reales” o una escala concreta tendrás que hacer tus cálculos, con el radio de la Tierra y los valores angulares (arcos) que cubra tu imagen.

      Like

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.