
En visualización científica , la convolución de integral de línea ( LIC ) es un método para visualizar un campo vectorial (como el movimiento de un fluido ) con alta resolución espacial. [ 1 ] La técnica LIC fue propuesta por primera vez por Brian Cabral y Leith Casey Leedom en 1993. [ 2 ]
En LIC, la integración numérica discreta de líneas se realiza a lo largo de las líneas de campo (curvas) del campo vectorial en una cuadrícula uniforme . La operación de integración es una convolución de un núcleo de filtro y una textura de entrada, a menudo ruido blanco . [ 1 ] En el procesamiento de señales , este proceso se conoce como convolución discreta . [ 3 ]
Descripción general
Las visualizaciones tradicionales de campos vectoriales utilizan pequeñas flechas o líneas para representar la dirección y magnitud del vector. Este método tiene una baja resolución espacial , lo que limita la densidad de datos presentables y corre el riesgo de ocultar características distintivas en los datos. [ 1 ] [ 3 ] Métodos más sofisticados, como las líneas de corriente y las técnicas de trazado de partículas, pueden ser más reveladores, pero dependen en gran medida de puntos semilla adecuados. [ 1 ] Los métodos basados en texturas, como LIC, evitan estos problemas ya que representan todo el campo vectorial con una resolución puntual (de píxeles). [ 1 ]
En comparación con otras técnicas basadas en la integración que calculan las líneas de campo del campo vectorial de entrada, LIC tiene la ventaja de mostrar todas las características estructurales del campo vectorial, sin necesidad de adaptar los puntos de inicio y fin de las líneas de campo al campo vectorial específico. En otras palabras, muestra la topología del campo vectorial.
En las pruebas de usuario, se encontró que LIC era particularmente bueno para identificar puntos críticos. [ 4 ]
Algoritmo
Descripción informal
LIC provoca que los valores de salida estén fuertemente correlacionados a lo largo de las líneas de campo, pero no correlacionados en direcciones ortogonales. [ 1 ] Como resultado, las líneas de campo contrastan entre sí y destacan visualmente del fondo.
Intuitivamente, el proceso se puede comprender con el siguiente ejemplo: el flujo de un campo vectorial se puede visualizar superponiendo un patrón fijo y aleatorio de pintura oscura y clara. A medida que el flujo pasa por la pintura, el fluido absorbe parte de su color, promediándolo con el color que ya ha adquirido. El resultado es una textura irregular y difuminada donde los puntos a lo largo de la misma línea de corriente tienden a tener un color similar. Otros ejemplos físicos incluyen:
- patrones en espiral de pintura, aceite o espuma en un río
- Visualización de líneas de campo magnético mediante limaduras de hierro distribuidas aleatoriamente.
- arena fina siendo arrastrada por el fuerte viento [ 5 ]
Descripción matemática formal
Aunque el campo vectorial de entrada y la imagen resultante están discretizados, conviene observarlo desde un punto de vista continuo. [ 1 ] Seasea el campo vectorial dado en algún dominioAunque el campo vectorial de entrada suele estar discretizado, consideramos que el campocomo se define en cada punto de, es decir, asumimos una interpolación . Las líneas de corriente, o más generalmente las líneas de campo, son tangentes al campo vectorial en cada punto. Terminan en el límite deo en puntos críticos donde. En aras de la simplicidad, a continuación se omiten los puntos críticos y los límites.
Una línea de campo, parametrizado por la longitud del arco, se define como
Dejarsea la línea de campo que pasa por el puntopara. Luego, el valor de gris de la imagen enestá configurado para
dóndees el núcleo de convolución ,es la imagen de ruido, yes la longitud del segmento de línea de campo que se sigue.
Se debe calcular para cada píxel de la imagen LIC. Si se realiza de forma ingenua, esto resulta bastante costoso. Primero, se deben calcular las líneas de campo utilizando un método numérico para resolver ecuaciones diferenciales ordinarias , como el método de Runge-Kutta , y luego, para cada píxel, se debe calcular la convolución a lo largo de un segmento de línea de campo.
La imagen final normalmente estará coloreada de alguna manera. Típicamente, algún campo escalar en(como la longitud del vector) se utiliza para determinar el tono, mientras que la salida LIC en escala de grises determina el brillo .
Las distintas elecciones de núcleos de convolución y ruido aleatorio producen diferentes texturas; por ejemplo, el ruido rosa produce un patrón nublado donde las áreas de mayor flujo destacan como manchas, adecuado para la visualización del clima. Refinamientos adicionales en la convolución pueden mejorar la calidad de la imagen. [ 6 ]
Descripción del programa
Algorítmicamente, LIC toma como entrada un campo vectorial y una textura de ruido, y genera una textura. El proceso comienza generando, en el dominio del campo vectorial, una imagen aleatoria en escala de grises con la resolución de salida deseada. A continuación, para cada píxel de esta imagen, se calcula la trayectoria de avance y retroceso de un arco de longitud fija . El valor asignado al píxel actual se obtiene mediante la convolución de un núcleo de convolución adecuado con los niveles de gris de todos los píxeles de ruido que se encuentran en un segmento de esta trayectoria. Esto crea una imagen LIC en escala de grises.
Versiones
Básico

Las imágenes LIC básicas son imágenes en escala de grises, sin color ni animación. Si bien estas imágenes LIC muestran la dirección de los vectores del campo, no indican la orientación; para campos estacionarios, esto se puede solucionar con animación. Las imágenes LIC básicas no muestran la longitud de los vectores (ni la intensidad del campo).
Color

La longitud de los vectores (o la intensidad del campo) se suele codificar en color; alternativamente, se puede utilizar animación. [ 2 ] [ 1 ]
Animación

Las imágenes LIC se pueden animar mediante un núcleo que cambia con el tiempo. Se seguirían utilizando muestras tomadas a intervalos constantes de la línea de corriente, pero en lugar de promediar todos los píxeles de la línea de corriente con un núcleo estático, se utiliza un núcleo ondulado construido a partir de una función periódica multiplicada por una función de Hann que actúa como ventana (para evitar artefactos). A continuación, la función periódica se desplaza a lo largo del periodo para crear la animación.
LIC rápido (FLIC)
El cálculo puede acelerarse significativamente reutilizando partes de líneas de campo ya calculadas, especializándolas en una función de caja como núcleo de convolución.y evitando cálculos redundantes durante la convolución. [ 1 ] El método LIC rápido resultante puede generalizarse a núcleos de convolución que son polinomios arbitrarios. [ 7 ]
Convolución integral de línea orientada (OLIC)
Debido a que LIC no codifica la orientación del flujo, no puede distinguir entre líneas de corriente de igual dirección pero orientación opuesta. [ 8 ] La convolución integral de línea orientada (OLIC) resuelve este problema mediante el uso de un núcleo asimétrico tipo rampa y una textura de ruido de baja densidad. [ 8 ] El núcleo modula asimétricamente la intensidad a lo largo de la línea de corriente, produciendo un rastro que codifica la orientación; la baja densidad de la textura de ruido evita que los rastros borrosos se superpongan, lo que facilita la lectura.
La renderización rápida de la convolución integral de línea orientada (FROLIC) es una variación que aproxima a OLIC al renderizar cada traza en pasos discretos en lugar de como una mancha continua. [ 8 ] [ 9 ]
LIC de flujo inestable (UFLIC)
Para campos vectoriales dependientes del tiempo (flujo inestable), se ha diseñado una variante llamada Unsteady Flow LIC que mantiene la coherencia de la animación del flujo. [ 10 ] Se ha presentado una implementación interactiva de UFLIC basada en GPU. [ 11 ]
Paralelo
Dado que el cálculo de una imagen LIC es costoso pero inherentemente paralelo, el proceso se ha paralelizado [ 12 ] y, con la disponibilidad de implementaciones basadas en GPU, interactivo en PC.
Multidimensional
Tenga en cuenta que el dominioNo tiene por qué ser un dominio 2D: el método es aplicable a dominios de dimensiones superiores utilizando campos de ruido multidimensionales. Sin embargo, la visualización de la textura LIC de dimensiones superiores es problemática; una forma es utilizar la exploración interactiva con cortes 2D que se posicionan y rotan manualmente. El dominioNo tiene por qué ser plana; la textura LIC también se puede calcular para superficies 2D de forma arbitraria en el espacio 3D. [ 13 ]
Aplicaciones
Esta técnica se ha aplicado a una amplia gama de problemas desde su primera publicación en 1993, tanto científicos como creativos, entre los que se incluyen:
Representación de campos vectoriales:
- visualización de flujos estacionarios (independientes del tiempo) (líneas de corriente) [ 14 ]
- exploración visual de sistemas dinámicos autónomos 2D [ 15 ]
- mapeo del viento [ 16 ]
- mapeo del flujo de agua
Efectos artísticos para la generación y estilización de imágenes:
- dibujo a lápiz [ 17 ] (técnica de generación automática de dibujos a lápiz utilizando el filtro de lápiz LIC [ 18 ] )
- generación automática de texturas de cabello [ 19 ]
- creando textura de marmoleado [ 20 ]
Generalización del terreno:
Implementaciones
- Herramientas de procesamiento de imágenes basadas en GPU por Raymond McGuire
- ParaView : Convolución de integral de línea
- Herramienta de visualización de flujo 2D basada en LIC y RK4. Desarrollada con C++ y VTK por Andrés Bejarano.
- Wolfram Research (2008), LineIntegralConvolutionPlot, función de Wolfram Language, https://reference.wolfram.com/language/ref/LineIntegralConvolutionPlot.html (actualizado en 2014).
Véase también
Referencias
- 1 2 3 4 5 6 7 8 9 Stalling, Detlev; Hege, Hans-Christian (6-11 de agosto de 1995). "Convolución integral de línea rápida e independiente de la resolución" . Actas de la 22.ª Conferencia Anual sobre Gráficos por Computadora y Técnicas Interactivas . SIGGRAPH '95. Los Ángeles, California. págs. 249-256 . CiteSeerX 10.1.1.45.5526 . doi : 10.1145/218380.218448 . ISBN 0-89791-701-4.
- 1 2 Cabral, Brian; Leedom, Leith Casey (2-6 de agosto de 1993). "Imagen de campos vectoriales mediante convolución de integral de línea". Actas de la 20.ª conferencia anual sobre gráficos por computadora y técnicas interactivas . SIGGRAPH '93. Anaheim, California. págs. 263-270 . CiteSeerX 10.1.1.115.1636 . doi : 10.1145/166117.166151 . ISBN 0-89791-601-8.
- 1 2 Ward, Matthew O. (5 de febrero de 1996). "Convolución de integral de línea para visualización de flujo" . Instituto Politécnico de Worcester . Recuperado el 21 de julio de 2024 .
- ↑ Laidlaw, David H.; Kirby, Robert M.; Davidson, J. Scott; Miller, Timothy S.; da Silva, Marco; Warren, William H.; Tarr, Michael J. (21–26 de octubre de 2001). "Evaluación comparativa cuantitativa de métodos de visualización de campos vectoriales 2D". IEEE Visualization 2001, VIS '01. Actas . San Diego, CA, EE. UU. págs. 143–150 .
- ↑ Liu, Zhanping (21 de agosto de 2007). "LIC (Line Integral Convolution)" . Recuperado el 21 de julio de 2024 .
- ↑ Weiskopf, Daniel (2009). "Convolución iterativa de integral de línea doble para la visualización de campos vectoriales basados en texturas" . En Möller, Torsten; Hamann, Bernd; Russell, Robert D. (eds.). Fundamentos matemáticos de la visualización científica, los gráficos por computadora y la exploración de datos masivos . Matemáticas y visualización. Berlín, Nueva York: Springer . pp. 191–211 . doi : 10.1007/b106657_10 . ISBN 978-3-540-25076-0.
- ↑ Hege, Hans-Christian; Stalling, Detlev (1998), "Fast LIC with Piecewise Polynomial Filter Kernels", en Hege, Hans-Christian; Polthier, Konrad (eds.), Mathematical Visualization , Berlín, Heidelberg: Springer-Verlag, pp. 295–314 , CiteSeerX 10.1.1.31.504 , doi : 10.1007/978-3-662-03567-2_22 , ISBN 978-3-642-08373-0
- 1 2 3 Wegenkittl, Rainer; Gröller, Eduard (24 de octubre de 1997). «Convolución rápida de integral de línea orientada para la visualización de campos vectoriales a través de Internet» (PDF) . Actas. Visualization '97 (Cat. No. 97CB36155) . págs. 309–316 . doi : 10.1109/VISUAL.1997.663897 . ISBN 0-8186-8262-0.
- ↑ Herramienta de exploración Java para sistemas dinámicos, por R. Wegenkittl y E. Gröller.
- ↑ Shen, Han-Wei; Kam, David L. (1998). "Un nuevo algoritmo de convolución de integral de línea para visualizar campos de flujo variables en el tiempo" (PDF) . IEEE Trans Vis Comput Graph . 4 (2). Los Alamitos: IEEE: 98–108 . Bibcode : 1998ITVCG...4...98H . doi : 10.1109/2945.694952 . ISSN 1077-2626 .
- ^ Ding, Zi'ang; Liu, Zhanping; Yu, Yang; Chen, Wei (2015). "Convolución integral de línea de flujo inestable paralela para visualización densa de alto rendimiento". Simposio de visualización del Pacífico IEEE 2015, PacificVis 2015 . Hangzhou, China. págs. 25 a 30.
- ↑ Zöckler, Malta; Estancamiento, Detlev; Hege, Hans-Christian (1997). "Convolución integral de líneas paralelas" (PDF) . Computación Paralela . 23 (7). Ámsterdam: Holanda Septentrional: 975– 989. doi : 10.1016/S0167-8191(97)00039-2 . ISSN 0167-8191 .
- ↑ Battke, Henrik; Stalling, Detlev; Hege, Hans-Christian (1997). «Convolución rápida de integrales de línea para superficies arbitrarias en 3D». En Hege, Hans-Christian; Polthier, Konrad (eds.). Visualización y matemáticas: experimentos, simulaciones y entornos . Berlín, Nueva York: Springer . pp. 181–195 . CiteSeerX 10.1.1.71.7228 . doi : 10.1007/978-3-642-59195-2_12 . ISBN 3-540-61269-6.
- ↑ DAAC: Convolución de integral de línea
- ↑ Exploración visual de sistemas dinámicos autónomos 2D Thomas Müller2,1 y Filip Sadlo1 Publicado el 26 de febrero de 2015 • © 2015 IOP Publishing Ltd European Journal of Physics, Volumen 36, Número 3
- ↑ Mapa en tiempo real del viento en Estados Unidos, elaborado por Fernanda Viégas y Martin Wattenberg.
- ↑ Publicación en ResearchGate: Sun, Shuo y Huang, Dongwei. (2022). Dibujo a lápiz eficiente basado en regiones.
- ↑ S. Yamamoto, Xiaoyang Mo y A. Imamiya, "Filtro de lápiz LIC mejorado", Actas. Conferencia Internacional sobre Gráficos por Computadora, Imágenes y Visualización, 2004. CGIV 2004, 2004, pp. 251-256, doi: 10.1109/CGIV.2004.1323994.
- ↑ Xiaoyang Mao, M. Kikukawa, K. Kashio y A. Imamiya, "Generación automática de textura de cabello con convolución de integral de línea", Conferencia IEEE de 2000 sobre visualización de información. Una conferencia internacional sobre visualización y gráficos por computadora, 2000, pp. 303-308, doi: 10.1109/IV.2000.859772.
- ↑ Xiaoyang Mao, Toshikazu Suzuki y Atsumi Imamiya. 2003. AtelierM: un sistema interactivo basado en la física para crear texturas de marmoleado tradicionales. En Actas de la 1.ª conferencia internacional sobre gráficos por computadora y técnicas interactivas en Australasia y el Sudeste Asiático (GRAPHITE '03). Association for Computing Machinery, Nueva York, NY, EE. UU., 79 y ss. https://doi.org/10.1145/604471.604489
- ↑ Bernhard Jenny (2021) Generalización del terreno con convolución de integral de línea, Cartografía y Ciencias de la Información Geográfica, 48:1, 78-92, DOI: 10.1080/15230406.2020.1833762
- Dibujo de función numérica
- cálculo vectorial
- dinámica de fluidos
- Análisis complejo
- Gráficos por computadora