Cómo funciona la transformación top-hat
Disponible con licencia de Spatial Analyst.
La herramienta Transformación Top-Hat extrae estructuras espaciales de una superficie de elevación. Una forma de utilizar estas estructuras extraídas, como valles y canales de agua, es para validar la ubicación de las entidades hidrográficas en la hidrografía derivada de la elevación. El algoritmo utilizado por esta herramienta se basa en la función de transformación top-hat (Rodriguez, et al., 2002), utilizando la vecindad de entrada como elemento estructurante.
El parámetro Tipo de análisis controla qué estructuras serán detectadas: crestas o valles. En cada ubicación de celda, el valor de salida representa la altura o profundidad de la estructura espacial detectada en esa ubicación.

Con la opción de tipo de análisis Cresta, se resaltan objetos que son más altos que su entorno, como presas y puentes. Con la opción de tipo de análisis Valle, se resaltan objetos que son más bajos que su entorno, como canales de agua.
Análisis Cresta
El tipo de análisis Cresta corresponde a la función de transformación top-hat blanca en Rodriguez, et al., 2002. Requiere aplicar una serie de operaciones de mínimo focal (operación de erosión) y máximo focal (operación de dilatación) al DEM de entrada. A continuación, se resta el resultado del DEM original.

En la ilustración anterior, la figura (1) muestra una vista transversal de un DEM de entrada con dos objetos identificados (a y b). La figura (2) muestra el DEM tras las operaciones de erosión y dilación, con los objetos a y b sustituidos por los valores circundantes. La figura (3) muestra el ráster de salida con los objetos a y b extraídos, resultante de la resta de la sección transversal (2) de (1).
A continuación se explica cómo calcula la herramienta la salida del tipo de análisis Cresta.
Para cada celda, se halla el mínimo para su vecindad y se asigna a la celda actual.
Con el resultado del paso 1, se halla el máximo de la vecindad de cada celda y se asigna a la celda actual.
El resultado del paso 2 se resta del ráster de superficie de entrada. Los valores de las celdas representan la altura de las crestas.
Análisis Valle
El tipo de análisis Valle corresponde a la función de transformación top-hat negra en Rodriguez, et al., 2002. También realiza una serie de cálculos focales sobre el DEM de entrada, pero la secuencia se invierte de forma que al cálculo del máximo focal le sigue el cálculo del mínimo focal. A continuación, el DEM original se resta del resultado.
A continuación se explica cómo calcula la herramienta la salida del tipo de análisis Valle.
Para cada celda, se halla el máximo para su vecindad y se asigna a la celda actual.
Con el resultado del paso 1, se halla el mínimo de la vecindad de cada celda y se asigna a la celda actual.
El ráster de superficie de entrada se resta del resultado del paso 2. Los valores de las celdas representan la profundidad de los valles.
Tipos de vecindad
La forma de una vecindad puede ser un círculo o un rectángulo. También puede definir una forma de vecindad personalizada utilizando un archivo kernel.
A continuación, se ofrecen descripciones de las formas de vecindad y cómo se definen.
Círculo
Una vecindad de círculo se crea al especificar un valor de radio.
El radio se identifica en unidades de celda o de mapa, medidas perpendicularmente al eje x o y. Cuando el radio se especifica en unidades de mapa, se emplea una lógica adicional para determinar qué celdas se incluyen en la vecindad de procesamiento. En primer lugar, se calcula el área exacta de un círculo definido por el valor del radio especificado. A continuación, se calcula el área para dos círculos adicionales: uno con el valor del radio especificado redondeado hacia abajo y otro con dicho valor redondeado hacia arriba. Estas dos áreas se comparan con el resultado del radio especificado, y en la operación se usará el radio del área que esté más cerca.
El radio predeterminado de la vecindad de círculo es de tres celdas.
La siguiente ilustración de ejemplo muestra una vecindad de círculo:

Rectángulo
La vecindad rectangular se especifica proporcionando el ancho y la altura en unidades de celda o de mapa.
Solo las celdas cuyos centros se encuentren dentro del objeto definido se procesarán como parte de la vecindad rectangular.
La vecindad rectangular predeterminada es un cuadrado con un ancho y una altura de tres celdas.
La posición de x,y para la celda de procesamiento dentro de la vecindad, con respecto a la esquina superior izquierda de la vecindad, se determina por las siguientes ecuaciones:
x = (ancho de vecindad + 1) / 2
y = (altura de vecindad + 1) / 2
Si el número de entrada de las celdas es par, las coordenadas x e y se calculan con truncamiento. Por ejemplo, en una vecindad de celda de 5 por 5, los valores x e y son 3,3. En una vecindad de 4 por 4, los valores x e y son 2,2.
A continuación se muestran dos ejemplos de vecindades rectangulares:

^^^ Se muestra una celda de procesamiento con dos vecindarios rectangulares diferentes.
Irregular
Utilice esta opción para especificar una vecindad de forma irregular alrededor de la celda de procesamiento.
El archivo kernel irregular especifica las posiciones de celdas que se deben incluir en la vecindad.
La posición de x,y para la celda de procesamiento dentro de la vecindad, con respecto a la esquina superior izquierda de la vecindad, se determina por las siguientes ecuaciones:
x = (ancho + 1) / 2
y = (altura + 1) / 2
Si el número de entrada de las celdas es par, las coordenadas x e y se calculan con truncamiento.
Los siguientes puntos son válidos para un archivo kernel de una vecindad irregular:
El archivo kernel irregular es un archivo de texto ASCII que define los valores y la forma de una vecindad irregular. El archivo se puede crear con cualquier editor de texto sin formato. Debe tener una extensión de archivo
.txty no contener espacios en el nombre del archivo.La primera línea especifica el ancho y la altura de la vecindad (el número de celdas en la dirección x, seguido de un espacio y el número de celdas en la dirección y).
Las líneas subsiguientes definen el valor que se utilizará para cada posición en la vecindad que representan. Se requiere un espacio entre cada valor.
Los valores definen si se incluirá en el cálculo una posición en la vecindad. Normalmente, el valor 1 se utiliza para identificar las posiciones a incluir en los cálculos para una vecindad irregular, pero se puede utilizar cualquier valor positivo o negativo que no sea 0. También se pueden utilizar valores de punto flotante.
Para excluir del cálculo una ubicación de la vecindad, utilice un valor de 0 (no un espacio en blanco) en la ubicación correspondiente del archivo kernel.
El siguiente ejemplo muestra el contenido de un archivo kernel irregular y la vecindad que representa:

^^^ Se muestra un kernel de vecindario irregular con una ilustración de las celdas que se incluirán para el procesamiento.
Referencia
Rodriguez, F., E. Maire, P. Courjault-Rade y J.Darrozes. 2002. "The Black Top Hat function applied to a DEM: A tool to estimate recent incision in a mountainous watershed (Estibere Watershed, Central Pyrenees)". Geophysical Research Letters 29(6): 9.1-9.4.