# Convolução de integral de linha

Em visualização científica, convolução de integral de linha é uma ténica proposta por Brian Cabral e Leith Leedom para visualizar o movimento de fluidos, tais como o movimento do vento em um tornado. Comparado a outras técnicas de integração mais simples, ela possui a vantagem de produzir toda a imagem e um único passo. É um método da familia de textura-advecção.

## Princípio
### Intuição

Intuitivamente, o fluxo do campo vetorial é visualizado adicionando um um padrão aleatório estático com fontes de luz e sombra. A medida que o fluxo atravessa essas fontes, cada parcela do fluido adquire parte da cor da fonte, ponderando-a com a cor que ela já havia adquirida. O resultado é uma textura listrada aleatória onde os pontos ao longo da mesma linha de fluido tendem a ter cores semelhantes.

### Algoritmo

A técnica gera uma imagem com padrão aleatório de níveis de cinza com a resolução de saída desejada. Então, para cada pixel da imagem, as linhas de corrente de um comprimento do arco são calculados. A convolução de um núcleo de convolução adequado com os níveis de cinza de todos os pixels que jazem nesta linha de corrente é o valor atribuído ao pixel atual da imagem de saída.

### Descrição matemática

Seja $\mathbf {u}$ o campo vetorial. Então a linha de corrente parametrizada pelo comprimento do arco pode ser definida como ${\frac {{\boldsymbol {\sigma }}(s)}{ds}}={\frac {\mathbf {u} ({\boldsymbol {\sigma }}(s))}{|\mathbf {u} ({\boldsymbol {\sigma }}(s))|}}$. Seja ${\boldsymbol {\sigma }}_{\mathbf {r} }(s)$ a linha de corrente que passa pelo ponto $\mathbf {r}$ com $s=0$. Então, a cor da imagem em $\mathbf {r}$ pode ser definida como sendo
    $D(\mathbf {r} )=\int _{-L/2}^{L/2}k(s)N({\boldsymbol {\sigma }}_{\mathbf {r} }(s))ds$
onde $k(s)$ é o núcleo da convolução, $N(\mathbf {r} )$ é a imagem de ruido, e $L$ é o comprimento da linha de corrente que é seguida. Note que não é necessário assumir a posições apenas em 2D: o método é aplicável a superfícies de dimensões maiores, utilizando compos de ruídos multidimensionais.
A imagem de saída será normalmente colorida de algum modo. Para o exemplo de um furacão, a saída do método poderiam determinar a luminosidade da cor, enquanto o comprimento de vector em cada ponto iria determinar a sua tonalidade. Diferentes opções de núcleos da integral e ruídos aleatórios também pode produzir diferentes texturas: por exemplo ruído rosa produz um padrão nublado onde as áreas de maior fluxo destacam-se como manchas, adequado para visualizações meteorológicas. Refinamentos na convolução pode melhorar a qualidade da imagem.

## Usabilidade

Em teste de utilizadores, verificou-se que o método é particularmente bom para identificar pontos críticos, mas ao menos em casos estáticos, o método não dá a indicação da direção do fluxo.
A principal desvantagem do método é as elevada exigência computacional. Para cada pixel, 20-50 pontos advectadas precisam ser calculados, limitando interatividade. O desempenho pode ser melhorado através da reutilização de partes de linhas de corrente já computados. Vários métodos de aceleração de hardware gráfico foram tentadas, misturando o método convolução puro com visualização do fluxo com base em imagem.