Visualização científica

Origem: Wikipédia, a enciclopédia livre.
Ir para: navegação, pesquisa
Wikitext.svg
Este artigo ou seção precisa ser wikificado (desde julho de 2011).
Por favor ajude a formatar este artigo de acordo com as diretrizes estabelecidas no livro de estilo.
Wiki letter w.svg
Por favor melhore este artigo ou secção, expandindo-o. Mais informação pode ser encontrada nos artigos correspondentes noutras línguas e também na página de discussão.
Visualização científica de uma simulação da instabilidade de Rayleigh–Taylor causada pela mistura de dois fluidos[1]

Visualização científica é uma área dedicada à geração de imagens que auxiliam seus usuários na compreensão de dados e processos[2] . Uma das principais características da área é a interdisciplinaridade, já que áreas tradicionais da ciências, tais como biologia, química, astronomia, etc., fazem uso e incitam o desenvolvimento de técnicas de visualização. O uso de imagens para transmissão de informação é um fenômeno antigo. No entanto, a disciplina de visualização científica é relativamente nova, sendo impulsionada pelos avanços computacionais das últimas décadas. Com a explosão do poder computacional e da capacidade de aquisição de dados, cientistas conseguem gerar uma grande quantidade de dados provenientes de simulações numéricas, sensores ou outras fontes. Consequentemente, a visualização tem um papel importante para ajudá-los a entender seus dados.[2]

História[editar | editar código-fonte]

Áreas de aplicação[editar | editar código-fonte]

  • Astronomia. Exemplos incluem a visualização de formação e explosão de estrelas[3] .
  • Medicina. Exemplos incluem a visualização de dados oriundos de exames que utilizam tomografia computadorizada e ressonância magnética.
  • Biologia. Visualização de proteínas.
  • Ciências da terra. Exemplos incluem a visualização de estruturas geológicas, reservatório de petróleo, dados climáticos.
  • Escoamento de fluidos. Exemplos incluem a visualização do campo de fluxo de escoamentos de fluidos em torno de objetos, fronteiras e superfícies (vide CFD).

Tipo de dados[editar | editar código-fonte]

Cada área de aplicação possui restrições quanto à dimensão dos dados de entrada, que podem ter uma, duas, três ou ainda mais dimensões. Dependendo da dimensão, várias técnicas podem ser usada para visualização dos dados. Os tipos de dados encontrados comumente são campo escalar, vetorial e tensorial. A tabela abaixo ilustra algumas das técnicas disponíveis para visualização de cada tipo de dados para diversas dimensões[4] . As próximas seções detalham cada uma das técnicas apresentadas na tabela a seguir.

Técnicas disponíveis para visualização de diferentes tipos de dados em cada dimensão.
- Escalar Vetorial Tensorial
1D Gráfico de linha - -
2D Mapa de cor, isolinhas LIC, Traçado de partículas, Glifos -
3D Volume rendering, isosuperfícies LIC, Traçado de partículas, Glifos Elipsóides

Visualização de campo escalar[editar | editar código-fonte]

Um campo escalar associa um valor escalar a um ponto definido no espaço. Formalmente, um campo escalar é uma função  f : \mathbb{R}^n \rightarrow \mathbb{R}. Nesse artigo,  n = \{1, 2, 3\} (i.e., dados uni- bi- e tri-dimensionais) e portanto as funções  f podem ser  f(x) , f(x,y) ou  f(x,y,z) . Na prática, frequentemente cientistas não tem acesso à função f, mas apenas a amostras em pontos determinados x_i \in \mathbb{R}^n, denotada aqui como  f(x_i) = f_i. A seguir são apresentadas várias técnicas para visualização de campos escalares.

Gráficos[editar | editar código-fonte]

Gráfico de linha gerado utilizando o código Python mostrado a seguir. A visualização auxilia a observar tendências e comportamento dos dados.

Dados unidimensionais (ou 1D) são suficientemente simples para ilustrar a visualização de um campo escalar. Por exemplo, suponha que um biólogo esteja estudando o crescimento de uma população de bactéria e obtém o seguintes dados relacionando o número de bactérias em um período de um ano:  (1,10976), (2, 82200), ... , (365,5033) , onde cada par representa (dia, população) = (x, f(x)). Avaliando apenas esse conjunto de dados pode ser difícil perceber tendências e o comportamento geral da população.

Contudo, existem diversos tipos de gráficos que podem ser usados para nterpretação desses dados. Nesse caso, o gráficos de linha já é suficiente para entender esse comportamento. Abaixo segue o código em Python que simula o experimento descrito anteriormente e exibe o gráfico de linha.

from pylab import *
 
# Simulando um experimento onde para cada dia i, um biologo
# registra uma populacao de tamanho f(i) 
dias      = range(1,366) 
populacao = [-(x-180+random()*10)**2 + 40000  for x in dias]
 
# Grafico de linha
plot(dias, populacao)
show()

Gráficos também são úteis para colher estatísticas de campos escalares em dimensões maiores. No caso de visualização de imagens médicas, por exemplo, histogramas auxiliam no processo de exploração de isovalores de interesse[Carece de exemplos].

Mapa de cor[editar | editar código-fonte]

Visualização dos níveis de ozônio na camada de ozônio - medidos em unidade de Dobson - no dia 1 de Outubro de 2005. Esquerda: o mapa de cor arco-íris é usado para visualização. As cores variam do azul (baixo nível de ozônio) até vermelho (alto nível de ozônio). Direita: escala de cinza é usado para mostrar o nível de ozônio.[5]

Mapa de cor é uma ferramenta simples e útil na visualização de campos escalar bidimensionais. Matemáticamente, um mapa de cor  m é uma função  m:\mathbb{R} \rightarrow \Omega , ou seja, uma função que leva um valor escalar a espaço de cor  \Omega . Entre os possíveis espaços de cor, se destacam RGB, HSV, CMYK e escala de cinza. Quando bem utilizado, o mapa de cor provê valiosas informações de natureza quantitativa ou qualitativa a respeito do conjunto de dados analisados. As figuras mostram duas visualizações usando cores e escala de cinza. Note que o uso de diferentes cores facilita a avaliação do nível de ozônio em determinado ponto (análise quantitativa) enquanto o uso de escala de cinza auxilia na comparação dos níveis de ozônio em pontos distintos do mapa (análise qualitativa).

Ao mesmo tempo que um mapa de cor bem desenhado pode ajudar na compreensão dos dados, a má escolha pode causar confusão e consequentemente uma interpretação errada dos dados. Esse é o caso do mapa de cor arco-íris, um mapa onde a matiz varia de forma a cobrir o espectro de cores visíveis (no caso da figura anterior, o mapa varia do azul ao vermelho). Ele é considerado um exemplo clássico de um mapa ruim[6] . São vários os problemas com o mapa acro-íris[6] : as cores não possuem uma ordem natural, ou seja, a comparação entre valores é prejudicada; a falta de luminância pode esconder características do conjunto de dados; e pode introduzir artefatos que não estão presentes nos dados.[Carece de exemplos] Apesar das críticas, o mapa arco-íris ainda é bastante utilizado no meio acadêmico[6] .

Isolinhas[editar | editar código-fonte]

Visualização das isolinhas dos níveis de ozônio na camada de ozônio - medidos em unidade de Dobson - no dia 1 de Outubro de 2005. Esquerda: as linhas vermelhas são referentas à isolinha de valor 230. Direita: as linhas vermelhas são referentes à isolinha de valor 300[7] .

Isolinhas de um campo escalar 2D são formadas pelo conjunto de pontos que tem o mesmo valor escalar. O campo escalar pode representar diversas grandezas físicas (e.g., pressão, temperatura, altitude, etc.) e são oriundos de diversas fontes (e.g., simulações numéricas, sensores, etc.). Matemáticamente, dado um campo escalar f(x,y), as isolinhas  L referentes a um valor escalar  v são definidas como  L = \{ (x,y) \in \mathbb{R}^2 | f(x,y) = v \}[2] . Um mapa de cor onde o isovalor de interesse tem possui uma cor A, enquanto todos os outros isovalores possuem uma outra cor B, também define uma isolinha. A isolinha é interface entre duas regiões distintas, ou seja é o bordo entre as regiões  f(x,y) > v e  f(x,y) < v . A figura a seguir mostra as isolinhas (em vermelho) referentes aos níveis de ozônio 230 DU e 300 DU respectivamente. Todos os pontos ao longo das curvas vermelhas possuem o mesmo nível de ozônio.

Segmentação de uma fatia do cérebro utilizando isolinhas. O isovalor mostrado na linha amarela é o 2100. Os dados utilizados são provenientes do Stanford volume data archive.

Na prática, os valores escalares não estão disponíveis em todos os ponto  (x,y) \in \mathbb{R}^2 , mas em apenas um conjunto de pontos. Dessa maneira, é existem algumas técnicas foram criadas para a extração de isolinhas a partir desse conjundo incompleto de dados. Esse processo é conhecido como extração de contorno. Uma opção para extração de contornos de imagens bidimensionais é o algoritmo conhecido como Marching squares. O marching squares utiliza uma grade regular de pontos para interpolar a posição da isolinhas. A partir daí, os pontos interpolados são interligados formando uma curva linear por parte.

Isosuperfícies[editar | editar código-fonte]

A superfície aproxima, por meio de uma malha de triângulos, um aneurisma cerebral. O algoritmo usado para extração da malha é Marching Cubes. Isosuperfícies podem ser usadas para auxiliar diagnóstico médico e planejamento de cirurgias.

Isosuperfícies de um campo escalar 3D são formadas pelo conjunto de pontos com mesmo valor escalar. A Isosuperfície é o análogo tridimensional das isolinhas: dado um campo escalar tridimensional f(x,y,z), as isosuperfícies  L referentes a um valor escalar  v são definidas como  L = \{ (x,y,z) \in \mathbb{R}^3 | f(x,y,z) = v \}[2] . Na prática, elas são comumente aproximadas por uma malha de triângulos. O processo envolvido na criação da aproximação da isosurperfície é conhecido como extração de isosuperfície. Nas últimas três décadas, vários algoritmos foram desenvolvidos para extração de superfícies. Algumas das classes são: triangulação de Delaunay; Marching Cubes; avanço de fronteira; entre outros. A figura ao lado foi extraída de um campo escalar oriundo de um C-Arm X-Ray, e representa um aneurisma cerebral.

Renderização de volumes[editar | editar código-fonte]

Visualização de campo vetorial[editar | editar código-fonte]

Visualização de campo tensorial[editar | editar código-fonte]

Simplificação de malha[editar | editar código-fonte]

Topologia computacional[editar | editar código-fonte]

Visualização de dados e de informação[editar | editar código-fonte]

Ferramentas de visualização[editar | editar código-fonte]

Conferências e jornais[editar | editar código-fonte]

Ver também[editar | editar código-fonte]

Referências

  1. Visualização criada usando o VisIt. at wci.llnl.gov. Updated: November 8, 2007
  2. a b c d Christopher R. Johnson e Charles D. Hansen. The Visualization Handbook. [S.l.]: Academic Press, Inc., 2004. ISBN 012387582X.
  3. Navratil, Paul e Johnson, Jarrett e Bromm, Volker. (2007). "Visualization of Cosmological Particle-Based Dataset". IEEE Transactions on Visualization and Computer Graphics. IEEE Educational Activities Department.
  4. M Tory e T Moller. (2004). "Rethinking Visualization: A High-Level Taxonomy". Proceedings of the IEEE Symposium on Information Visualization. IEEE Computer Society. DOI:10.1109/INFOVIS.2004.59.
  5. Visualização criada usando o MayaVi Data Visualizer.
  6. a b c David Borland e Russell M. Taylor II. (2007). "Rainbow Color Map (Still) Considered Harmful". IEEE Computer Graphics Application. IEEE Computer Society Press.
  7. Visualização criada usando o ParaView

Ligações externas[editar | editar código-fonte]