Rango dinámico y contraste Local - Observatorio Astronómico de

Anuncio
Rango dinámico y contraste Local
Por Vicent Peris (PTeam / OAUV / CAHA)
Introducción
En este tutorial se describen algunas técnicas que he estado usando en mi última imagen. El objetivo principal de estas técnicas es para
controlar el rango dinámico y contraste local de una imagen de NGC 7023 (Nebulosa Iris) adquiridos con el telescopio Zeiss 1,23 metros en
el Observatorio de Calar Alto , en el sur de España. Esta imagen es parte de la Descubre / CAHA / OAUV / DSA colaboración. Adquisición y
procesamiento de datos han llevado a cabo por Jack Harvey ( SSRO ), Steven Mazlin (SSRO) y Vicent Peris (OAUV).
NGC 7023 imágenes procesadas con las técnicas descritas en este tutorial.
Haga clic en la imagen para ver una versión en tamaño completo.
Controlar el rango dinámico de una imagen significa para igualar la diferencia de todas las estructuras a través de todas las escalas de
dimensiones. Cuando esto se logra, no hay una estructura muestra un exceso de contraste en comparación con el resto de las estructuras
de la imagen. Para llevar a cabo esta tarea, vamos a utilizar principalmente cuatro herramientas de PixInsight: HDRWaveletTransform,
LocalHistogramEqualization, GradientsHDRCompression, y el guión MaskedStretch.
Compresión primer rango dinámico
Comenzamos con una ya se han estirado (no lineal) de la imagen. Los medios tonos de la imagen han sido ajustadas para los detalles en
las nubes más oscuras y visibles. Como se puede ver en la imagen en la Figura 1, esta mejora de los medios tonos se ha salido del centro
de la nebulosa casi saturado.
Figura 1 - la imagen estirada de NGC 7023.
El primer paso es obvio: para comprimir el rango dinámico de la imagen con la herramienta HDRWaveletTransform (HDRWT). Ya que
tenemos un montón de detalles finos, se utiliza sólo cinco capas de wavelets. Activamos la máscara de luminancia opción de restringir la
aplicación del algoritmo HDRWT a las zonas más iluminadas. El resultado puede verse en la Figura 2.
Figura 2 - compresión de rango dinámico inicial con HDRWaveletTransform aplica a la imagen en la Figura 1.
Alto contraste, estructuras de pequeña escala
Un problema inherente a todas las técnicas que emplean filtros de núcleo como funciones de escala es que no se puede modelar de alto
contraste de estructuras a escalas muy pequeñas dimensiones. Como resultado de esta limitación, el rango dinámico de estas estructuras
se mantiene sin comprimir. Este problema se hace evidente por las estrellas, como se puede ver en la Figura 3.
Figura 3 - Las estrellas están casi saturados con bordes duros después de HDRWaveletTransform.
El guión MaskedStretch ha sido escrito por David Serrano, con la colaboración de Andrés del Pozo, basado en un algoritmo original
diseñado por Carlos Sonnenstein. El algoritmo lleva a cabo sucesivas transformaciones histograma enmascarados hasta que alcanza un
valor medio de fondo determinado, que puede ser especificado como objetivo de la mediana de los parámetros. Las máscaras aplicadas se
generan dinámicamente en cada iteración. Una de las ventajas de este algoritmo es que no se basa en una función de escalado. Como
resultado de ello, se hace un trabajo muy bueno en la compresión del rango dinámico de contraste alto, estructuras de pequeña escala que
no se pueden modelar con las técnicas de múltiples escalas.
Para la imagen de NGC 7023, que ejecuta el script MaskedStretch (MS) en el lineal (sin estirar) la imagen y establezca su objetivo mediana
parámetro al valor de la mediana de la imagen estirada después de HDRWT (0,43 en este caso). De esta manera podemos lograr un brillo
similar y el contraste de la imagen completa con ambas técnicas. Es importante señalar que no seleccione ninguna máscara de desenfoque
método en el guión de la EM, ya que podrían alterar las estrellas de la máscara y por lo tanto se reduciría la eficacia de esta técnica de
compresión del rango dinámico. Los ajustes aplicados se puede ver en la Figura 4, y la imagen resultante en las figuras 5 y 6.
Figura 4 - La interfaz de comandos MaskedStretch con los parámetros seleccionados para este ejemplo. En este caso se aplica 40 iteraciones. El objetivo de la mediana de
0,43 es el mismo valor obtenido para la imagen previamente estirada y procesados con HDRWT (ver Figura 2).
Figura 5 - La imagen resultante después de aplicar el guión MaskedStretch con los parámetros mostrados en la Figura 4.
Figura 6 - El mismo cultivo tomado de las imágenes en la Figura 5 (izquierda) y la Figura 2 (derecha). Las estrellas son mucho más suaves y menos saturado después de
MaskedStretch (izquierda) de lo que son después de aplicar HDRWaveletTransform a un estiramiento de la imagen (derecha).
El general de pequeña escala el contraste de la imagen procesada con el algoritmo MaskedStretch es muy baja, como lo demuestra la
Figura 5. Sólo queremos utilizar este resultado en las regiones que realmente puedan beneficiarse de ella: las regiones en las HDRWT no
funciona correctamente. Así que si usamos una máscara para combinar el resultado MaskedStretch con la imagen lineal después HDRWT,
podemos obtener lo mejor de ambas técnicas.
Para construir esta máscara de la combinación de lo que necesitamos saber la respuesta a la siguiente pregunta: ¿Dónde están las
diferencias más grandes entre los HDRWT y MaskedStretch imágenes procesadas? En otras palabras, vamos a calcular la diferencia entre
ambas imágenes, por lo que la máscara se protegen las áreas donde las dos imágenes son similares. Esto se puede hacer con la
herramienta PixelMath. Operamos con los componentes de luminosidad (L * CIE) de ambas imágenes. El resultado de MaskedStretch se
restará de la imagen HDRWT. La máscara resultante se puede ver en las figuras 7 y 8.
Figura 7 - Los componentes de la ligereza de los resultados MaskedStretch (izquierda) y la imagen HDRWT (centro), y el resultado de restar a los primeros de los segundos
(derecha).
Figura 8 - A la izquierda, una vista detallada de la máscara de la combinación. Tenga en cuenta que esta máscara selecciona los bordes de estrellas. A la derecha, los
parámetros aplicados PixelMath. El resultado de cambiar la escala de opción de PixelMath ha sido desactivado debido a que sólo están interesados en las diferencias
positivas , que representan todas las estructuras brillantes y pequeños. La salida se envía a una nueva imagen cuyo identificador será "starmask".
Esta máscara también selecciona una gran cantidad de estructuras en el núcleo de la nebulosa. Combinando las imágenes de esta manera
llevar a una pérdida de contraste en estas estructuras. Para evitar este problema, vamos a modificar la máscara. Como estamos
interesados solamente en pequeñas estructuras, las estructuras a gran escala se puede borrar fácilmente con la herramienta
ATrousWaveletTransform deshabilitando el residual (R) de la capa (Figura 9).
Figura 9 - La separación entre las estrellas y todas las estructuras nebulosa se puede mejorar dejando sólo las capas de wavelets en primer lugar. A la derecha, el resultado
de la eliminación de la capa residual con la herramienta ATrousWaveletTransform.
Los ajustes finales se hacen máscaras con el MorphologicalTransformation y herramientas ATrousWaveletTransform. En primer lugar,
aplicar un filtro de dilatación con el fin de extender la máscara para cubrir las áreas externas de las estrellas. Por último, la máscara suave
un poco por la eliminación de la capa de wavelets en primer lugar. Estos procesos se describen en las cifras de 10 y 11.
Figura 10 - Ajustes finales de la máscara.
Puntero del ratón sobre:
10 bis-Original máscara.
10b-Después de aplicar un filtro de dilatación.
10c-Después de la eliminación de la capa de wavelets puño.
Figura 11 - Los casos de MorphologicalTransformation y ATrousWaveletTransform con los parámetros aplicados.
Una vez que haya terminado la máscara, vamos a usarlo para arreglar las estrellas. Este proceso consiste en la transferencia de la
pequeña escala de la imagen procesada con MaskedStretch a la imagen HDRWT procesados. En primer lugar, crear duplicados de trabajo
de ambas imágenes. Dado que estos duplicados sólo cuentan con las estructuras de mediana y gran escala, vamos a asignar los
identificadores HDRWT_LS MS_LS y para mayor claridad. Ahora quitamos los primeros cinco capas de wavelets de MS_LS y HDRWT_LS
(Figura 12). Este procedimiento resulta en las cuatro imágenes que se pueden ver en la Figura 13.
Figura 12 - ejemplo ATrousWaveletTransform utiliza para eliminar las primeras cinco capas wavelet de las imágenes de trabajo duplicados.
Figura 13 - Una comparación de las cuatro imágenes en un cultivo de tamaño completo: las dos imágenes originalmente procesadas, MS y HDRTW, y su paso bajo filtrada
MS_LS versiones y HDRWT_LS, respectivamente.
Para transferir las pequeñas escamas de la imagen procesada con MaskedStretch (MS) a la imagen HDRWT, utilizamos la siguiente
expresión PixelMath (Figura 14):
MS - MS_LS + HDRWT_LS
Hablando en términos de múltiples escalas, la expresión anterior reemplaza los componentes a gran escala en la imagen de MS con los
componentes correspondientes de la imagen HDRWT. Este proceso debe ser enmascarada con la máscara que hemos construido en los
párrafos anteriores. Esta máscara tiene valores de los píxeles muy baja (0,1 a 0,2 en los bordes de estrella), por lo que se puede aplicar el
mismo ejemplo PixelMath iterativa para controlar la intensidad del proceso. Esto nos permite ajustar la cantidad deseada de compresión del
rango dinámico de estas estructuras a pequeña escala. En la Figura 15 podemos ver cómo las estrellas recuperar sus perfiles de Gauss
naturales a lo largo de sucesivas iteraciones PixelMath.
Figura 14 - La instancia de PixelMath utiliza para transferir las estructuras de la imagen de los Estados miembros a la imagen HDRWT.
Figura 15 - Mediante la aplicación de varias iteraciones de la instancia PixelMath mismo (ver figura 14) podemos obtener un mayor control sobre los perfiles estelares.
Puntero del ratón sobre:
15a-Imagen original HDRWT.
15b-Una iteración PixelMath.
15c-Después de dos repeticiones.
15d-Después de tres iteraciones.
Después de 15e y cuatro repeticiones.
15f-Después de cinco iteraciones.
Figura 16 - Una comparación de la imagen antes y después de la transferencia de estructuras de pequeña escala, en un cultivo de tamaño completo, cerca del centro de la
nebulosa principal.
Puntero del ratón sobre:
16a-Imagen original HDRWT.
16b-Después de cinco iteraciones PixelMath.
Mejora de locales
Después de aplicar el algoritmo HDRWT las estructuras en el núcleo de la nebulosa se han recuperado, pero esta zona aún tiene un
contraste local muy bajo. Cuando esto sucede, la herramienta LocalHistogramEqualization hace un trabajo muy bueno.
LocalHistogramEqualization es una implementación del algoritmo de adaptación limitada contraste Ecualización de histograma (CLAHE),
escrito por el desarrollador de software Checa y PixInsight usuario Zbynek Vrastil.
Antes de aplicar LocalHistogramEqualization (LHE), tenemos que proteger a las estrellas para preservar sus formas. Vamos a enmascarar
el proceso LHE a través de una versión modificada de la máscara de estrellas que hemos creado en la sección anterior. Para modificar la
máscara que usamos la MorphologicalTransformation, ATrousWaveletTransform, HistogramsTransformation y herramientas
CurvesTransformation. Esto está bien ilustrado en la Figura 17.
Figura 17 - Pasos para crear la máscara de mejora local.
Puntero del ratón sobre:
17 bis-Original máscara.
17b-Histograma de transformación.
17c-En primer lugar la transformación morfológica.
17D-En primer lugar suavizado con ATWT.
17e de la Segunda transformación morfológica.
17f-En segundo lugar suavizado con ATWT.
17g Curvas de transformación.
Una vez que hemos ajustado la máscara podemos aplicar la tecnología LHE a la imagen. Cargamos la máscara e invertirlo, por lo que las
estrellas siguen siendo protegidos. En el proceso de LHE, hemos utilizado el valor por defecto radio del núcleo y la cantidad de parámetros.
El límite de cambio de parámetros se ha establecido en 1,7.
Figura 18 - Si bien las estructuras en el núcleo de la nebulosa han sido recuperados por el algoritmo HDRWaveletTransform, la herramienta LocalHistogramEqualization es
muy útil para equilibrar el contraste local de toda la imagen.
Puntero del ratón sobre:
18a-Antes de LocalHistogramEqualization.
18b-Después de LocalHistogramEqualization.
Otro problema surge ahora: la falta de saturación de color. Este es un aspecto negativo de las técnicas que mejoran la imagen a nivel local,
ya que disminuyen la saturación del color a escalas más grandes a favor de la mejora de los tonos en escalas más pequeñas. Esto se
puede corregir fácilmente con una simple curva se aplica al componente S con la herramienta CurvesTransformation (ver figuras 19 y 20).
Figura 19 - La curva se aplica al componente S con el fin de aumentar la saturación del color de la imagen. El resultado puede verse en la Figura 20.
Figura 20 - El efecto de elevar la saturación del color con CurvesTransformation (ver Figura 19).
Puntero del ratón sobre:
20a-Antes de mejora del color de saturación.
20b-Después de mejora de la saturación del color.
Finalmente, en esta etapa siempre es muy útil para aplicar una curva en forma de S para el combinado RGB / K canal con
CurvesTransformation. Esto mejora el contraste en las zonas más brillantes. Nosotros aplicamos la curva a través de una máscara de
luminancia, como se describe en las figuras 21, 22 y 23.
Figura 21 - Se extrae el componente de luminosidad (L * CIE) de la imagen y seleccionarla como una máscara antes de aplicar CurvesTransformation.
Figura 22 - La curva aplicada a las áreas más brillantes de la imagen, enmascarado con el componente de luminosidad se muestra en la Figura 21. El resultado puede verse
en la Figura 23.
Figura 23 - El efecto de la aplicación de una curva en forma de S para el combinado RGB / K canal a través de una máscara de luminancia (ver figuras 21 y 22).
Puntero del ratón sobre:
23 bis-Antes de CurvesTransformation.
23b-Después de CurvesTransformation.
Estelas
Ambos HDRWaveletTransform y LocalHistogramEqualization puede generar sonido artefactos alrededor de las estructuras de muy alto
contraste en las escalas de dimensiones medianas y grandes. Esto se muestra claramente la imagen de este tutorial en las calles oscuras
alrededor de la estrella central, en la Figura 24.
Figura 24 - En este cultivo de tamaño completo, las estructuras oscuras han sido más oscura debido a que su contraste local es muy alta.
Aunque HDRWT tiene su propia parámetros de reducción de estelas, que vamos a solucionar estos artefactos sonar manualmente. Una
forma de corregir estos artefactos es con PixelMath. Para saber cuánto sonido tiene la imagen se puede calcular la proporción de los
valores de los píxeles entre la imagen original y el procesado con HDRWT y LHE. En la figura 25 podemos ver el ejemplo PixelMath
aplicada.
Figura 25 - PixelMath ejemplo para calcular la variación de los valores de píxeles entre el original y las imágenes procesadas. "Cruda" es la imagen lineal, justo antes de la
transformación del histograma inicial, "proc" es la imagen procesada con HDRWT, LHE y CurvesTransformation, como se describió anteriormente.
Como se muestra en la Figura 25, se utiliza la expresión PixelMath:
primas / (proc + 0,05)
para calcular la relación entre el lineal (en bruto) y elaborados (proc) imágenes para cada píxel. Se añade un pequeño pedestal de 0,05 a
fin de evitar divisiones por valores muy cercanos a cero. El resultado Cambiar la escala de opción está activada y se envía la salida a una
nueva imagen con el "dr" identificador. El resultado es un mapa de llamada , que es una imagen que muestra que los artefactos de timbre
ocurre, que se puede ver en las figuras 26 y 27.
Figura 26 - El mapa muestra claramente sonar las áreas problemáticas como las estructuras brillantes. Estos son principalmente en las zonas adyacentes a la estrella central.
Esto sucede porque los valores de píxel de estas estructuras se han reducido durante el proceso aplicado, alcanzando valores cercanos a cero. Por lo tanto, la división se
aplica a la imagen original (ver Figura 25 y los comentarios anteriores) produce valores muy altos en estas áreas.
Figura 27 - Una cosecha de tamaño completo de la hoja de timbre se muestra en la figura 26, se centró en las estructuras oscuras donde se produce principalmente sonando.
Antes de aplicar el mapa de llamada en la imagen que puede mejorar su eficiencia mediante el aumento del aislamiento entre las
estructuras de problemática y el resto de las estructuras de la imagen. Esto puede hacerse fácilmente con CurvesTransformation, como se
muestra en la Figura 28.
Figura 28 - Curva utilizada para mejorar el mapa de sonar. Con el fin de aumentar el contraste de las estructuras de sonido brillante mapa, manteniendo las estructuras de
otro mapa casi negro, esta curva tiene que ser muy fuerte entre sus secciones iniciales y finales. Para construir este tipo de curvas de la Akima subspline curva de
interpolación (habilitado por defecto en CurvesTransformation) es muy útil.
Ahora podemos corregir estas estructuras con PixelMath. Añadimos el mapa sonar modificado, multiplicado por un factor de escala (0,15 en
este caso), a la imagen ya procesada. Ver las figuras 29 y 30.
Figura 29 - PixelMath ejemplo para añadir el mapa (a escala) de llamada en la imagen procesada.
Figura 30 - El efecto de la corrección a sonar.
Puntero del ratón sobre:
30 bis, antes de sonar la corrección.
30b-Después de sonar la corrección.
El resultado, como se muestra en la Figura 30, todavía tiene estructuras muy oscuro, pero todo ello serán corregidos en la siguiente sección
de este artículo.
Operaciones gradiente de dominio
A la conclusión de las técnicas relacionadas con el rango dinámico de procesamiento, el último paso se lleva a cabo mediante la operación
en el dominio del gradiente . Este paso será reducir el contraste de algunas estructuras en todo el centro de la nebulosa. También ayudará
en la fijación de los artefactos restantes sonar por completo. Estas estructuras siguen siendo problemáticos, porque tienen demasiado
contraste en comparación con el resto de la información visual en la imagen. En esta sección vamos a utilizar la herramienta
GradientsHDRCompression (GHC), escrito por Georg Viehoever. Las operaciones de gradiente, cuando se utiliza para la compresión de
rango dinámico, el uso a ser complicado y debe aplicarse con cautela. Un inconveniente es que tienden a generar estrellas opacas. Este
problema se puede ver en la Figura 31.
Figura 31 - GHC tiende a opacar a las estrellas, cuyos valores centrales son sensiblemente inferiores a la unidad. Este efecto se muestra claramente en las estrellas en el
lado izquierdo de este cultivo en tamaño completo.
Puntero del ratón sobre:
31a-Antes de GradientsHDRCompression.
31b-Después de GradientsHDRCompression.
Figura 32 - GradientsHDRCompression ejemplo. El gradiente máximo exponente parámetro que nos permite controlar el contraste de las estructuras oscuras. En
contraposición, el Max.log10 (gradiente) parámetro permite controlar el contraste de las estructuras brillantes. Ajustar el parámetro de este último con mucho cuidado, es muy
sensible.
En consecuencia, este proceso debe ser aplicado con la protección de una máscara de estrellas. Vamos a utilizar la misma máscara de
modificar estrella que aplicar antes, una vez invertida con el fin de proteger a las estrellas.
Figura 33 - Aplicando el proceso de GradientsHDRCompression a través de una máscara de estrella invertida podemos proteger a las estrellas y evitar los problemas que se
muestra en la Figura 31.
Puntero del ratón sobre:
33a-GradientsHDRCompression aplicar máscara.
33b-GradientsHDRCompression aplica con una máscara de estrellas invertida.
Ahora bien, si nos fijamos en toda la imagen, podemos ver que se ha oscurecido el mundo. Vamos a elevar un poco los medios tonos de la
imagen con HistogramTransformation, pero tenemos que aplicar esta vez a través de la máscara de estrellas invertida con el fin de
modificar sólo las áreas de procesado de la imagen.
Figura 34 - El efecto de elevar los tonos medios con HistogramTransformation después GradientsHDRCompression. Un valor del balance de tonos medios de 0.38 ha sido
utilizado.
Puntero del ratón sobre:
34a-Antes de HistogramTransformation.
34b-Después de HistogramTransformation.
Figura 35 - Una comparación en un cultivo de tamaño completo, cerca del centro de la nebulosa.
Puntero del ratón sobre:
35 bis-Antes de GradientsHDRCompression.
35b-Después de GradientsHDRCompression + HistogramTransformation.
Pasos finales de procesamiento
Después de la aplicación de procesamiento de rango dinámico técnicas, especialmente cuando se aplican las técnicas que afectan a
estructuras de pequeña escala-por lo general necesitan recuperar la nitidez de la imagen. Esto se puede hacer con la herramienta
ATrousWaveletTransform, mediante la aplicación de los sesgos positivos a la 1 - una escala de 2 píxeles. Aquí también tenemos una
máscara de luminosidad para proteger la imagen de la intensificación del ruido excesivo en las zonas de menor proporción de señal a ruido.
Figura 36 - La máscara de la ligereza y la instancia ATrousWaveletTransform utiliza para el afilado. La reducción de ruido también se ha habilitado para las dos capas de
wavelets modificado.
Figura 37 - El efecto de la recuperación de la nitidez de la imagen con wavelets. Tenga en cuenta que, gracias a la aplicación de técnicas de compresión de rango dinámico,
el proceso de afilado puede ser implementado con un control mucho más estricto porque la imagen no tiene las estructuras con un contraste excesivo.
Puntero del ratón sobre:
37a-Antes de afilar con ATrousWaveletTransform.
37b-Después de afilar con ATrousWaveletTransform.
Consideraciones finales
PixInsight tiene un conjunto de herramientas flexibles para controlar el rango dinámico de las imágenes. Por lo general, la herramienta
HDRWaveletTransform da muy buenos resultados para esta tarea. Sin embargo, para lograr un resultado superior que tenemos que ir más
allá de esta herramienta. En este artículo hemos utilizado varias herramientas, poniendo en práctica enfoques muy diferentes para el mismo
problema. La clave de estos procedimientos es la aplicación de cada herramienta , cuando y donde sea necesario.
Es igualmente importante entender que la aplicación de estas técnicas de procesamiento más facilidad los pasos siguientes. De un proceso
de agudización de una curva simple, todos estos procesos serán más potentes y eficientes si el contraste de nuestra imagen ha sido
disminuida en un amplio rango de escalas dimensiones.
Descargar