A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Introdução à Visualização Volumétrica

Apresentações semelhantes


Apresentação em tema: "Introdução à Visualização Volumétrica"— Transcrição da apresentação:

1 Introdução à Visualização Volumétrica
por Roberto de Beauclair Seixas, IMPA Anselmo Cardoso de Paiva, UFMA Marcelo Gattass, PUC-Rio

2 Visualização Volumétrica
Conjunto de técnicas para visualização de dados associados a regiões de um volume Objetivo : exibição do interior de objetos volumétricos, a fim de explorar sua estrutura (ou falta dela) e facilitar sua compreensão [McCormick, 1987].

3 Radiografia Padrão (Raios X)
2K x 2K x 2 Bytes 4 chapas Angiografia: 40 chapas

4 Tomografia Computadorizada (TC)
Receptores Raio X

5 Exemplos de Imagens de TC
Normalmente 512 x 512 de 1/2 a 2 mm Exame de 5 a 30 min. Números em unidades de Hounsfield (HU)

6 Problemas da TC Pequena resolução temporal para movimento cardíaco;
Presença de artefatos inerentes ao método de aquisição; Resolução espacial relativamente pequena; Inabilidade de detecção de doenças em estágios incipientes que não tenha resultado ainda em significantes alterações dos coeficientes de densidade dos tecidos.

7 Ressonância Magnética Nuclear (MR)
Grande campo magnético Mesa com trilhos

8 Principais Vantagens de MR
Produzem contraste de tecidos moles superior as outras modalidades, sem a necessidade de agentes de contraste externo; Permitem a detecção de doenças anteriormente ao aparecimento de grandes mudanças anatômicas ou fisiológicas; Fornecem também informação fisiológica e funcional; As imagens podem ser adquiridas em planos arbitrários, através de manipulação eletrônica sem necessidade de mudanças na postura do paciente; A ausência de radiação ionizante permite a realização de estudos freqüentes sobre o paciente.

9 Desvantagens de MR Dificuldades no estudo de calcificações;
Suscetibilidade a movimentos do paciente durante a aquisição, por ser um processo lento; Impossibilidade de aquisição de dados de pacientes em sistemas artificiais de suporte a vida (UTI); Inexistência de uma escala de valores absolutos para um determinado conjunto de dados; Alto custo.

10 Imagem MR 512 x 512 x 2 Bytes 30 fatias/exame

11 Ultra-som

12 Imagem de Ultra-som 512 x 512 x 1 Byte

13 Medicina Nuclear Câmera Gama bone scan galium scan
SPECT (Single Photon Emission Computed Tomography) PET (Positron Emission Tomography) 256 x 256 x 2 Bytes

14 Exames Médicos

15 Sísmica

16 Formação de um traço sísmico
*

17 Seção Sísmica

18 Reconstrução das Fatias
volume das fatias (slices) Ys Xs Zs

19 Classificação do Voxel
Osso 1.0 opacidade Músculo Gordura Branco Vermelho Amarelo Ar densidade

20 Tipos de Dados Enumeráveis (material, litologia, ...)
Escalares (temperatura, pressão, ...) Vetoriais (velocidade, aceleração, ...) Tensoriais (tensão, deformação, ...)

21 (x[i,j,k],y[i,j,k],z[i,j,k])
Estrutura dos Dados Grade Retilínea (x[i],y[j],z[k]) Grade Cartesiana (i, j, k) Grade Regular (i*dx, j*dy,k*dz) Grade Não Estruturada {(x[i],y[i],z[i]) , e=(v1, v2 , v3)} Grade Estruturada (x[i,j,k],y[i,j,k],z[i,j,k]) Grade Estruturada por blocos

22 Interpolação valor valor x x Matriz de células Matriz de voxels
análogo 3D do pixel (i, j, k) Matriz de células interpolação trilinear imagens mais suaves voxels pontos da grade pontos da grade valores interpolados valor valor x x

23 Métodos de Visualização
Indiretos: por extração de superfícies implícitas representação por polígonos [Zbuffer] dados menores precisa ser refeito quando muda a classificação dificuldade de modelar objetos amorfos Diretos: por modelos de iluminação volumétrica geração de imagens diretamente a partir dos dados volumétricos visualização de múltiplas características, inclusive de dados amorfos grande volume de dados não usa (por enquanto) hardware gráfico

24 Rendering Direto Mapeamento dos elementos de volume direto no espaço da imagem Apropriados para a visualização de objetos amorfos Mais lentos

25 Algoritmo ray-casting
Ordem da imagem. para cada pixel lance um raio e encontre os voxels que são interceptados fim para Raios Plano da imagem Volume de dados

26 Lançamento dos Raios plano de visualização volume dos raios volume dos
x y z volume dos raios volume dos slices raio

27 Partição dos Raios x z ta tb voxel y amostra t=min(x,y,z)

28 Interpolação x,i (xa, ya, za) z,k y,j

29 Interpolação no voxel vi+1,j,k vi +1,j,k +1 x y vi,j,k +1 vi,j,k z v

30 Classificação do Voxel
tons e opacidade cor ar Gordura Músculo Osso 255 Branco (255,255,255) Vermelho (255,0,0) Amarelo (255,255,0) 1.0 velocidade ou densidade amplitude 255

31 Diferentes Funções de Transferência

32 Sensibilidade à função de transferência

33 Iluminação de um voxel

34 Estimativa do vetor normal
1a ordem 2a ordem

35 Interpolações em Visualização Volumétrica
Phong Debrin Gouraud aC interpolada normal aC do voxel interpolada cor interpolada normal do voxel cor do voxel

36 Processo de acumulação
Etapa de Composição Para cada raio: gera amostras de cor Cl (pi) e opacidades a(pi) reamostragem dos dados dos voxels, em k amostras igualmente espaçadas Processo de acumulação I= t Ib +(1-t)I0 I0 = cor do objeto Ib = cor do fundo I = cor resultante t = coeficiente de transparência

37 Influência de um Voxel r0 g0 b0 a0 r1 g1 b1 a1 r = 0 g = 0 b = 0 a = 0
r = a0 r0 g = a0 g0 b = a0 b0 a = a0 r = a0 r0+(1-a0 ) a1 r1 g = a0 g0+(1-a0 ) a1 g1 b = a0 b0+(1-a0 ) a1 b1 a = a0 +(1-a0 ) a1

38 Composição no raio ray Cin Cout

39 Tripod exy exz ezy y +  + exy= (Dy)x + (-Dx)y +cxy
ezy= (Dy)z +(-Dz)y +cyz - - (x0+Dx,y0 +Dy,z0 +Dz) x (x0,y0,z0) + - exz= (Dz)x + (-Dx)z +cxz z

40 Valor inicial e incremento
(1/2,1/2,1/2) x++ y++ z++ exy= (Dy)x + (-Dx)y +cxy (Dy-Dx)/2 Dy -Dx exz= (Dz)x + (-Dx)z +cxz -Dx (Dz-Dx)/2 Dz Dy ezy= (Dy)z +(-Dz)y +cyz (Dy-Dz)/2 -Dz

41 Caminhamento discreto
Bresenham Cohen

42 Efeito da amostragem Bresenham Tripod

43 Partição celular Volume de dados Plano da imagem
uma amostra no meio da partição imagem Voxel Partição marcador da partição

44 Partição na grade z (ia ,ja ,0) tzi= ta tyi tzf tyf=tb y (ib ,Ny ,kb)

45 Partição celular: algoritmo
Dados: txi,tyi,tzi, txf,tyf,tzf, nx,ny,nz dtx = txf/nx; dty = tyf/ny; dtz = tzf/nz; tx=txi; ty=tyi; tz=tzi; t1 = min(tx,ty,tz) e w é o eixo do mínimo n=nx+ny+nz; while ( n > 0 ) tw += dtw; n--; t2 = min(tx,ty,tz) e w é o eixo do mínimo Sample ((t1+t2)/2); t1=t2;

46 Velocidade Qualidade da imagem Otimizações Refinamento progressivo
Terminação adaptativa do raio Estruturas Hieráquicas Qualidade da imagem aumento do número de amostra no raio lançamento de mais raios melhora esquema de interpolação

47 Refinamento Progresivo
subdivisão final segunda subdivisão primeira subdivisão amostragem inicial pixels sendo visitados pixels já visitados

48 Refinamento Progressivo: Exemplo

49 Alto custo computacional Apresenta todo o conjunto de dados
Algoritmo Ray Casting Alto custo computacional Apresenta todo o conjunto de dados Facilmente paralelizável Utilizado quando se deseja imagens de alta qualidade [Elvins,1992]

50 Raio que calcula a cor de um pixel
( i,j ) L I = I(x,y,z,-t,) = radiância ou intensidade específica num ponto (x,y,z) ou t na direção -t, na freqüência . ta Imagem (x, y, z) t I tb t Volume

51 Um pouco de física I(x,n,) = c h   (x,n,)
c = velocidade da luz ( x108 m/s), h = constante de Planck (6.626x10-34 J.s),  = freqüência da luz (4.3x1014 a 7.5x1014 Hz ou s-1)  (x,n,) = densidade de fótons na freqüência  no ponto x, na dir n e (m-3 sr -1). Unidade de I = J/s m-2 sr-1 = W/m2 sr

52 Modelo de absorção n = número de partículas I As Ds I-DI
a = área das partículas = pR2 r = densidade = n/vol= n/(As Ds)

53 Aproximação para cor de um pixel
ta tb t (x, y, z) (i, j) Imagem Volume Ap Um modelo simples para determinação da cor de um pixel considera todos os fótons emitidos em sua direção no volume correspondente a seu raio, ou seja:

54 Integrando numericamente
Partição: t0 = ta  t1  t2  …  tn-1  tn = tb

55 Estimando a contribuição da partição
Ck= intensidade refletida da fonte na partição k através da área Ap ak = t (tk) Dtk = opacidade (núm. de partículas) da partição k

56 Shading pelo modelo de Phong
R V N L tk t

57 Shading por partículas Kajiya
V L tk t

58 Aproximando a absorção

59 Compondo de trás para a frente
cor = c[n-1]*alfa[n-1]; for (i=n-2; i>=0; i--) { cor = c[i]*alfa[i]+(1-alfa[i])*cor; }

60 Operadores do OpenGL cor = c[n-1]*alfa[n-1];
glBlendFunc(GL SRC ALPHA, GL ONE MINUS SRC ALPHA) cor = c[n-1]*alfa[n-1]; for (i=n-2; i>=0; i--) { cor = c[i]*alfa[i]+cor*(1-alfa[i]); }

61 Compondo de frente para atrás
cor = c[0]*alfa[0]; trp = 1- alfa[0]; for (i=1; i<n && trp>tol; i++) { cor += trp*(c[i]*alfa[i]); trp *= (1-alfa[i]); }

62 Compondo fatias duas a duas
Cfront , afront Cback , aback cor = c[0]*alfa[0]; opc = alfa[0]; for (i=1; i<n && opc<1-tol; i++) { cor += (1-opc)*(c[i]*alfa[i]); opc += (1-opc)*alfa[i]; } Cnew , anew

63 Problemas de re-amostragem
C C=1 1 1 a 1 1 a=1 C C=0.75 0.5 1 1.0 1 0.5 1.0 a 1 1 a=1

64 Re-amostragem da cor ponderada
1 1 a 1 1 a=1 a C C=1 0.5 1 1.0 1 0.5 1.0 a 1 1 a=1

65 Splatting (Westover,1990) projeção de voxel equivale a atirar uma bola de neve num prato de vidro contribuição da neve decresce com distância ao centro região de influência de voxel no espaço da imagem é constante, a menos de uma translação

66 Algoritmo: transformação: ordem para percorrer o volume
Splatting Algoritmo: transformação: ordem para percorrer o volume iluminação: modelo local reconstrução: determina a porção da imagem influenciada por cada voxel determinação da visibilidade: compõe as contribuições acumuladas em um buffer

67 Reconstrução do volume
(x,y,z) x (i,j,k) z y 0.2 0.4 0.6 0.8 1

68 Footprint centro da projeção footprint

69 Grade de espaçamentos diferentes
x z q x Sy Sx x’ T-1(x)=x’ y

70 Shear-Warp (Lacroute, 1995)
intermediate image scanline 1. shear & resample 3. warp & resample 2. project & composite voxel scanline intermediate image final image

71 Esquema Mview = Mwarp2D * Mshear3D viewing rays volume slices
image plane viewing rays shear project intermediate image plane shear warp image plane Mview = Mwarp2D * Mshear3D

72 Otimização voxel scanline Resampling and Composition intermediate
image scanline skip work skip work skip Voxel with a = 0 Opaque pixel Voxel with a > 0 Non opaque pixel

73 Volume rendering with textures

74 3D texture volume rendering
Load the volume data into a 3D texture. This processing is done once for a particular data volume. Choose the number of slices. Usually this matches the texel dimensions of the volume data cube. Find the desired viewpoint and view direction Compute a series of polygons that cut through the data perpendicular to the direction of view. Use texture coordinate generation to texture the slice properly with respect to the 3D texture data. Use the texture transform matrix to set the desired orientation the textured images on the slices. Render each slice as a textured polygon, from back to front. As the viewpoint and direction of view changes, recompute the data slice positions and update the texture transformation matrix as necessary.

75 2D texture volume rendering
Generate the three sets of 2D textures from the volume data. Each set of 2D textures is oriented perpendicular to one of volume’s major axes. This processing is done once for a particular data volume. Choose the number of slices. Usually this matches the texel dimensions of the volume data cube. Find the desired viewpoint and view direction. Find the set of 2D textures most perpendicular to the direction of view. Generate data slice polygons parallel to the 2D texture set chosen. Use texture coordinate generation to texture each slice properly with respect to its corre-sponding 2D texture in the texture set. Use the texture transform matrix to set the desired orientation the textured images on the slices. Render each slice as a textured polygon, from back to front. A blend operation is performed at each slice; the type of blend depends on the desired effect. As the viewpoint and direction of view changes, recompute the data slice positions and update the texture transformation matrix as necessary. Always orient the data slices to the 2D texture set that is most closely aligned with it.


Carregar ppt "Introdução à Visualização Volumétrica"

Apresentações semelhantes


Anúncios Google