Citation
Cecilia Peláez, Rubén
(2020).
Diseño en Python de una herramienta de análisis y
visualización de datos de imágenes hiperespectrales.
Proyecto Fin de Carrera / Trabajo Fin de Grado, E.T.S.I. y Sistemas de Telecomunicación (UPM), Madrid.
Abstract
Las imágenes obtenidas mediante cámaras hiperespectrales contienen información de hasta cientos de longitudes de onda (en lugar de las 3 obtenidas mediante una cámara
convencional) llegando a cubrir el rango del ultravioleta, el visible y el infrarrojo, generando así una enorme cantidad de datos en cada captura. Estas zonas del espectro electromagnético, no visibles para el sistema visual del ser humano ni para las cámaras RGB tradicionales, contienen información que permite determinar la composición química del material enfocado en función de su reflectancia. De este modo, mediante el uso de algoritmos de procesamiento hiperespectral se pueden determinar las zonas de la imagen que contienen tejido sano o canceroso, entre otras aplicaciones que se introducen en el presente proyecto fin de grado. A lo largo de los últimos años se han desarrollado diversos softwares que permiten el análisis de imágenes hiperespectrales, también conocidos como hipercubos. Cada uno de estos softwares se ha diseñado para distintas finalidades, desde la observación terrestre hasta aplicaciones médicas, aunque todos ellos se han encontrado con el problema de la gestión de dichas imágenes debido a sus grandes dimensiones y a la cantidad de información que en ellos se recoge. Teniendo en cuenta lo anteriormente descrito, a lo largo del presente documento se explica
el desarrollo de una interfaz gráfica que permita la visualización, manipulación y procesamiento de imágenes hiperespectrales de una forma sencilla y eficiente, tanto para la gestión y estudio de las imágenes capturadas como para el diseño de algoritmos de procesamiento. El presente proyecto de fin de grado sigue la estructura clásica de un trabajo fin de grado, presentando las motivaciones y los objetivos que se pretenden alcanzar con el desarrollo del mismo, continuaremos introduciendo al lector en el mundo de las imágenes hiperespectrales para que pueda seguir de forma correcta lo que aquí se explica y seguidamente se justificarán los requisitos que el programa debe cumplir para finalmente explicar las funcionalidades desarrolladas y el código que lo componen.
Abstract:
Hyperspectral images obtained by hyperspectral cameras can contain information up to hundreds of wavelengths (instead of 3 if we compare with conventional cameras), covering
the range of ultraviolet, visible, and infrared. Therefore, thus generates an enormous amount of data in each capture. The information contained in this kind of image and therefore related to these areas of the electromagnetic spectrum, not visible to the human visual system or to traditional RGB cameras, contain information that allows determining the chemical composition of the focused material. Therefore, through the use of
hyperspectral processing algorithms, the image areas that contain healthy or cancerous tissue can be located, among other applications introduced in this document. Over the last few years, various software has been developed that allow the analysis of hyperspectral images, also known as hypercubes. Each of these software has been designed for different purposes, from terrestrial observation to medical applications, although all of them have encountered the problem of managing these images due to their large dimensions and the amount of information collected in them. Throughout this document, we will introduce the development of a graphical interface that
allows displaying, manipulate, and processing hyperspectral images in order to make their treatment easier. The present project follows the classic structure of a thesis project, presenting the motivations and the objectives that are intended to be achieved. We will continue introducing the basics of hyperspectral images and the requirements that the program must meet to finally explain the developed functionalities and the coding of the final software.