Máscara de nubes usando lenguaje R y QGIS

Las nubes tienen una reflectividad elevada en la banda 1 pero baja en la 6 por lo que el cociente de las dos bandas es elevado sobre ellas. El valor absoluto de este cociente depende de la información que contengan los píxeles, es decir, reflectancia, radiancia o ND. Con esto en mente, Goslee (2011) desarrolló una función para la aplicación landsat en R, clouds(), que permite crear una máscara para las nubes (1 para donde están presentes; NA donde no) a partir de la banda 1 y la banda 6 expresadas como reflectancia aparente y en ºK, respectivamente. La máscara no demarca las áreas de sombra sino solamente la de las nubes en si mismas.

Mi procedimiento, en R, fue el siguiente:

b1.ar<- readGDAL("b1_esc_ar-c.tif")
b6.thermal<- readGDAL("b6_thermal-c.tif")
nubes<- clouds(b1.ar, b6.thermal)

El umbral (level), por defecto, para la decisión nube/no nube es de 0.0014. También se puede incluir el modificador buffer que permite expandir un determinado número de píxeles alrededor del contorno de las nubes. Una forma más completa de la función clouds() sería:

nubes<- clouds(b1.ar, b6.thermal, level = 0.0014, buffer = 5)

Después de poco más de 4 minutos procesando la máscara, el proceso culminó sin errores. Para grabar la imagen en formato *.tif al espacio de trabajo, desde el formato de R (SpatialGridDataFrame), se tiene que:

writeGDAL(nubes, 'nubes.tif', drivername='GTiff')

Por otra parte, usando la calculadora raster, también hice el cociente de las referidas bandas en QGIS y después de probar varias situaciones de realce de contraste encontré que las condiciones que pueden producir la máscara de nubes son aquellas que presentan unión MinMax con elevados valores de desviación estándar (SD). Esta es la imagen de los resultados con SD = 10:

También se probaron estas condiciones de mejora de contraste en las imágenes originales y no se segregaron patrones exclusivos de nubes en ninguna de ellas.

Esta entrada fue publicada en Lenguaje R, SIG, Teledetección. Guarda el enlace permanente.

Una respuesta a Máscara de nubes usando lenguaje R y QGIS

  1. Pingback: Máscara de nubes empleando C++ |

Responder

Por favor, inicia sesión con uno de estos métodos para publicar tu comentario:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s