Author Topic: (Partially obsolete due to new interpolation algorithms) Downsampling images in (Reducir imágenes en  (Read 11037 times)

Offline Juan Conejero

  • PTeam Member
  • PixInsight Jedi Grand Master
  • ********
  • Posts: 7111
    • http://pixinsight.com/
[Texto en Español al final]

Recently there have been some posts on other forums that criticize PixInsight's implementations of interpolation algorithms for downsampling images. These posts state that PixInsight's interpolation always generate artifacts when images are downsampled, no matter which algorithm is used: bilinear, bicubic, bicubic spline, or bicubic b-spline.

Actually, these posts give evidence of a poor understanding of PixInsight's image resampling tools. There is a specific section of PixInsight LE's official documentation that explains how to downsample images efficiently with the Resample and Integer Resample tools in PixInsight LE.

PixInsight offers a wide range of image resampling possibilities that are able to meet virtually any requirement. A pure pixel interpolation algorithm that works very well for some images can also be a disaster for others. In particular, image downsampling is a difficult task that we have tried to address efficiently with the Resample and IntegerResample processes in PixInsight. Optimum results are usually obtained with combinations of both processes in PixInsight LE. The Resample process in PixInsight Standard includes a pixel binning optimization that yields high-quality downsampled images with a single tool.

Here is an example with a difficult image for downsampling. The screenshot below shows the original TIFF image open in PixInsight and the Resample interface. Note the "Use Binning" option: this is the optimization that usually should be enabled to downsample images.



The image proposed in this example is a difficult case for downsampling because it has many small-scale, high-contrast structures, as the small tree branches projected over the sky of Manhattan.

Below is a comparison between different interpolation algorithms and options applied to downsample the image of this example.



Note that the image downsampled with pure bicubic interpolation (the image identified as bicubic_no_binning in the screenshot) is far from optimum. It indeed shows the result of a poor approximation of high-contrast, small-scale structures. However, with binning optimization the situation is radically different: the images identified as bicubic_with_binning and bicubic_spline_with_binning are in our opinion two excellent downsampled results. The result of bicubic_b_spline_with_binning is probably too soft, but this may be a matter of preferences.

The screenshot above also shows a collection of results obtained with the IntegerResample tool. Along with the usual averaging resample, this tool implements morphological downsampling algorithms, selectable with the Downsample Mode combo box. Basically, morphological downsample performs a size reduction by means of a morphological operator applied to a pixel neighborhood whose size corresponds to the specified downsampling factor. As can be seen on the screenshot above, these algorithms can be applied to obtain a wide range of effects that can be easily combined to yield the desired result, for example, by performing two or more instances of IntegerResample with different operators, or even by combining the results of two or more IntegerResample instances with PixelMath.

Finally, the screenshot below shows some of the obtained results zoomed 2:1, along with a similar crop of the original image, for better evaluation.



The bottom line is that PixInsight, faithful to its design principles, offers accurate and well documented implementations of image processing algorithms and techniques. If it says "bicubic interpolation" on a PixInsight's processing interface, then that's just what you're going to obtain: a plain bicubic interpolation -others say something and implement something completely different; however, it is not our case. If you want to exploit the full range of processing capabilities of our software, you must pay attention to the parameters of each applied process, read the available documentation, and of course ask on this forum.

======================================================

Recientemente ha habido algunos mensajes en otros foros que critican la implementación de algoritmos de interpolación en PixInsight para reducir el tamaño de las imágenes. En estos mensajes se dice que las interpolaciones en PixInsight siempre generan artefactos, independientemente del algoritmo utilizado: bilineal, bicúbica, bicúbica spline, o bicúbica b-spline.

En realidad, estos mensajes ponen en evidencia una escasa comprensión de las herramientas de redimensionado de imágenes disponibles en PixInsight. Existe una specific sección de la documentación oficial de PixInsight LE que explica cómo reducir el tamaño de las imágenes eficientemente con las herramientas Resample e Integer Resample en PixInsight LE.

PixInsight ofrece un amplio abanico de posibilidades para redimensionar imágenes que pueden satisfacer virtualmente cualquier requerimiento. Un algoritmo de interpolación que funciona muy bien para algunas imágenes puede ser también un desastre para otras. En particular, la reducción de tamaño es una tarea difícil que hemos intentado resolver eficientemente con los procesos Resample e IntegerResample en PixInsight. Los mejores resultados se obtienen habitualmente con combinaciones de ambos procesos en PixInsight LE. El proceso Resample en PixInsight Standard incluye una optimización por binning que proporciona reducciones de alta calidad con una única herramienta.

Aquí tenemos un ejemplo con una imagen difícil para la reducción de tamaño. La copia de pantalla siguiente muestra la imagen TIFF original abierta en PixInsight y la interfaz de Resample. Hay que incidir en la opción "Use Binning": ésta es la optimización que habitualmente hay que activar para reducir el tamaño de las imágenes.



La imagen propuesta es un caso difícil para la reducción de tamaño porque tiene muchas estructuras de pequeña escala y alto contraste, como las pequeñas ramas del árbol proyectadas sobre el cielo de Manhattan.

A continuación tenemos una comparación entre los diferentes algoritmos de interpolación aplicados con varias opciones para reducir la imagen de este ejemplo.



Nótese que la imagen reducida con interpolación bicúbica pura (la imagen identificada como bicubic_no_binning en la copia de pantalla) dista mucho de ser un resultado óptimo. Ciertamente, esta imagen muestra el resultado de una mala aproximación de estructuras de pequeña escala y alto contraste. Sin embargo, con optimización por binning la situación es radicalmente distinta: las imágenes identificadas como bicubic_with_binning y bicubic_spline_with_binning son en nuestra opinión dos excelentes resultados de reducción. El resultado de bicubic_b_spline_with_binning es probablemente demasiado soft, pero esto puede ser una cuestión de preferencias.

La anterior copia de pantalla muestra también una colección de resultados obtenidos con la herramienta IntegerResample. Junto con la habitual reducción por promedio de píxeles, esta herramienta implementa algoritmos de reducción morfológica, que se pueden seleccionar con el menú desplegable Downsample Mode. Básicamente, la reducción morfológica realiza una reducción de tamaño por medio de un operador morfológico aplicado a un entorno de píxeles vecinos cuyo tamaño es el factor de reducción especificado. Como se puede ver en la copia de pantalla anterior, estos algoritmos pueden ser aplicados para obtener un rango amplio de resultados que se pueden combinar fácilmente para llegar al resultado deseado, por ejemplo aplicando dos o más instancias de IntegerResample con diferentes operadores, o incluso combinando los resultados de varias instancias de IntegerResample con PixelMath.

Finalmente, la siguiente copia de pantalla muestra varios de los resultados obtenidos ampliados 2:1, junto con un recorte similar de la imagen original, para una mejor evaluación.



En resumen, PixInsight, fiel a sus principios de diseño, ofrece implementaciones precisas y bien documentadas de algoritmos y técnicas de procesamiento de imágenes. Si en una interfaz de procesamiento dice "interpolación bicúbica", entonces esto es exactamente lo que se va a obtener: una interpolación bicúbica pura -otros dicen unas cosas e implementan otras cosas completamente diferentes, sin embargo, ése no es nuestro caso. Si el usuario quiere explotar al máximo las capacidades de procesamiento de nuestro software, debe prestar atención a todos los parámetros disponibles en cada procesos aplicado, leer la documentación disponible, y por supuesto preguntar en este foro.
« Last Edit: 2010 July 08 03:59:29 by Pleiades »
Juan Conejero
PixInsight Development Team
http://pixinsight.com/