Visualization Toolkit - VTK SEL 710 – Arquiteturas especiais para proces- samento e visualização...

Post on 18-Apr-2015

104 views 0 download

Transcript of Visualization Toolkit - VTK SEL 710 – Arquiteturas especiais para proces- samento e visualização...

Visualization Toolkit - VTKVisualization Toolkit - VTK

SEL 710 – Arquiteturas especiais para SEL 710 – Arquiteturas especiais para proces-samento e visualização de imagens proces-samento e visualização de imagens digitaisdigitais

SEMINÁRIOSEMINÁRIO

ALUNOS:ALUNOS:

Edilson Carlos CaritáEdilson Carlos Caritá

Luciene Cavalcanti RodriguesLuciene Cavalcanti Rodrigues

Caracterizando Visualização de Caracterizando Visualização de DadosDados

• Para criar modelos de dados úteis e pode-rosos sistemas de visualização é preciso conhecer algo sobre a natureza dos dados.

• Outra característica é se a estrutura é regu-lar ou irregular (estruturada ou não).

• Dimensão topológica – várias: 0D (pontos), 1D (curvas), 2D (superfícies), 3D (volumes) e até grandes regiões dimensionais.

• A escolha da representação é importante porque ela afeta a habilidade da interface para dados externos e completa a atuação do sistema de visualização.

Existem alguns critérios:

• compacto

• eficiente

Critério de visualizaçãoCritério de visualização

• mapeável

• cobertura mínima

Visualization Toolkit (VTK)Visualization Toolkit (VTK)

• O VTK é um software de código aberto, ori- entado a objeto para desenvolvimento de sistemas gráficos.

• Possui dois subsistemas básicos:

• biblioteca da classe do compilador C ++

• interpretador (classes Java, TCL e Python)

Visualization Toolkit (VTK)Visualization Toolkit (VTK)

A vantagem da arquitetura é poder construir algoritmos eficientes na linguagem do compilador C++ e reter características de desenvolvimento de código rápido de lin-guagens interpretadas.

Visualization Toolkit (VTK)Visualization Toolkit (VTK)Módulo GráficoMódulo Gráfico

Módulo gráfico do VTK (objetos mais comuns):

• vtkActor, vtkActor2D, vtkVolume;

• vtkLight;

• vtkCamera

• vtkProperty, vtkProperty2D

• vtkMapper, Mapper2D

Visualization Toolkit (VTK)Visualization Toolkit (VTK)Módulo GráficoMódulo Gráfico

Módulo gráfico do VTK (objetos mais comuns):

• vtkTransform

• vtkLookupTable, vtkColorTransferFunction

• vtkRenderer

• vtkRenderWindow

• vtkRenderWindowInteractor

Visualization Toolkit (VTK)Visualization Toolkit (VTK)Módulo GráficoMódulo Gráfico

• vtkLightvtkLight (luzes) – controla a manipulação da iluminação de uma cena 3D.

• vtkCameravtkCamera (câmera) – controla como a geometria 3D é projetada na imagem 2D durante o processo de renderização.

• vtkMappervtkMapper (mapeador) – em conjunto com a lookup table (vtkLookupTable) é usado para transformar e renderizar geometrias.

Visualization Toolkit (VTK)Visualization Toolkit (VTK)Módulo GráficoMódulo Gráfico

• vtkRendervtkRender (renderizadores) e vtkRenderWindowsvtkRenderWindows (janelas de renderização) – administram a interface gráfica entre a máquina e o sistema de janelamento do computador.

•vtkRenderWindowInteractorvtkRenderWindowInteractor – permitir a manipulação da cena.

• A regra do “pipeline” de visualização é transformar informação em dados gráficos.

• O VTK utiliza aproximação do fluxo de dados para transformar informação em dados gráficos:

Visualization Toolkit (VTK)Visualization Toolkit (VTK)Modelo GráficoModelo Gráfico

• vtkTensors

• vtkFieldData

• vtkDataArray

•vtkDataObject

• vtkProcessObject

• vtkScalars

• vtkVectors

• vtkNormals

Visualization Toolkit (VTK)Visualization Toolkit (VTK)DATASETDATASET

São os objetos de dados na visualização. O dataset é uma forma abstrata.

O datasetdataset consiste de duas partes: estrutura organizacional e atributos

A estruturaestrutura tem duas partes: topologia e geometria.

Visualization Toolkit (VTK)Visualization Toolkit (VTK)DATASETDATASET

• TopologiaTopologia é o conjunto de propriedades, cons- tante inferior e certas transformações geomé-tricas.

• GeometriaGeometria é o instanciamento da topologia, a especificação de posicionamento no espaço 3D.

• Atributos DatasetAtributos Dataset são informações complementares associadas com geometria ou topologia.

Visualization Toolkit (VTK)Visualization Toolkit (VTK)DATASETDATASET

•A estruturaestrutura consiste de: células e pontos.

• As célulascélulas especificam a topologia e os pontospontos especificam a geometria.

• AtributosAtributos podem ser: escalares, vetores, normais, coordenadas de textura, “tensors” e até mesmo dados definidos pelo usuário.

•A definição da estrutura de um dataset é coleção de células e pontos.

Visualization Toolkit (VTK)Visualization Toolkit (VTK)Tipos de CélulasTipos de Células

• CélulasCélulas são os blocos fundamentais para a construção de sistemas de visualização. Definidas para especificar um tipo em combinação com um lista ordenada de pontos.

• CélulasCélulas podem variar em dimensão topológica. Vértices, linhas, triângulos e tetraedros são exemplos de 0, 1, 2 e 3 dimensões.

• CélulasCélulas podem ser primárias ou compostas.

Visualization Toolkit (VTK)Visualization Toolkit (VTK)Tipos de CélulasTipos de Células

• Os tipos de células do VTK são:

• vertex

• polyvertex

• line

• polyline

• triangule

• triangule strip

• quatrilateral

• pixel

• polygon

• tetrahedron

• hexahedron

• voxel

Visualization Toolkit (VTK)Visualization Toolkit (VTK)Tipos de CélulasTipos de Células

Visualization Toolkit (VTK)Visualization Toolkit (VTK)Outros tipos de CélulasOutros tipos de Células

• Existem outros tipos que podem ser adiciona- dos através de bibliotecas, mas uma alternativa é decompor os tipos de células entre combina- ções com os tipos existem.

• Pirâmide – decomposição de dois tetraedros;

• Wedge – decomposição entre três tetraedros.

• Quadratic quadrilateral - 4 quadriláteros com um vértice no centro.

Visualization Toolkit (VTK)Visualization Toolkit (VTK)Outros tipos de CélulasOutros tipos de Células

Visualization Toolkit (VTK)Visualization Toolkit (VTK)Atributos de DadosAtributos de Dados

• AtributoAtributo de dados é a informação associada com a estrutura do “dataset”. Inclui geometria e topologia

• AtributosAtributos de dados são muitas vezes associa-dos com pontos e células, mas podem ser com- ponentes de células tais como arestas ou faces.

• Os atributosatributos de dados podem ser tratados como n-dimensões.

Visualization Toolkit (VTK)Visualization Toolkit (VTK)Atributos de DadosAtributos de Dados

• ScalarsScalars – é a formas mais simples e comum de visualização de dados.

• VectorsVectors – possui magnitude e direção.

• NormalsNormals – são vetores de direção. Vetores de magnitude.

• Texture coordinatesTexture coordinates – são usadas para mapear um ponto no espaço cartesiano entre um espaço de textura em 1, 2 ou 3 dimensões.

Visualization Toolkit (VTK)Visualization Toolkit (VTK)Atributos de DadosAtributos de Dados

• TensorsTensors – são generalizações matemáticas complexas de vetores e matrizes.

• user-defineduser-defined – outros dados que podem ser mapeados entre os atributos de dados.

Visualization Toolkit (VTK)Visualization Toolkit (VTK)Tipos de DATASETTipos de DATASET

Os tipos de dataset são:

• unstructured points;

• polygonal data;

• unstructured grid.

• structured points;

• rectilinear grid;

• structured grid;

DatasetDataset consiste de uma estrutura organizacional mais atributos de dados associados a esta estrutura.

Visualization Toolkit (VTK)Visualization Toolkit (VTK)Representação DATASETRepresentação DATASET

• Cinco datasetsdatasets são implementados no VTK:

• vtkPolyData;

• vtkStructuredPoints;

• vtkStructuredGrid;

• vtkRectilinearGrid;

• vtkUnstructuredGrid.

Visualization Toolkit (VTK)Visualization Toolkit (VTK)Representação DATASETRepresentação DATASET

DatasetDataset de pontos não estruturados não é implementado, mas pode ser representados usando vtkPolyDatavtkPolyData ou vtkUnstructuredGridvtkUnstructuredGrid

Visualization Toolkit (VTK)Visualization Toolkit (VTK)BibliografiaBibliografia

Schroeder, Will; Martin, Kenneth; Lorensen, William. The Visualization Toolkit. 2.ed. New Jersey: Prentice Hall PRT, 1997.

Schroeder, William J. et al. The VTK User’s Guide. Kitware, 2000.

www.kitware.com