47270
47270
2.1. Reconstrução tomográfica bidimensional onde Sθ (ω) representa a transformada de Fourier convo-
luída com o filtro rampa no domínio da freqüência. Depois
O algoritmo paralelo de reconstrução tomográ- de filtradas, as projeções são retroprojetadas para se obter
fica baseia-se no algoritmo de retroprojeção filtrada, o qual uma função do objeto. A segunda (Eq. 2) apresenta a equa-
De modo a otimizar o cálculo , a função β(x), também
aaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaa
chamada de função de blending, foi implementada neste tra-
aaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaa
balho como
aaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaa
1 3
6 (2 + x) −2 < x ≤ −1
aaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaa
1
aaaaaaaaaaaaaaaaaaaaa
6 (4 − 6x − 2x3 ) −1 < x ≤ 0
2
aaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaa 1 2 3
βm (x) = 6 (4 − 6x + 2x ) 0<x≤1
aaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaa
(5)
aaaaaaaaaaaaaaaaaaaaa 1
aaaaaaaaaaaaaaaaaaaaa 3
(2 − x) 1 < x < 2
aaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaa
6
aaaaaaaaaaaaaaaaaaaaa
0 2 ≤ |x|
onde K ângulos θ são os valores discretos de θ para cada 2.3. Modelagem de sistemas paralelos
Pθ (t) conhecido.
Neste trabalho são utilizadas projeções obtidas de amos- A maioria dos problemas computacionais possui um
tras de solo que foram coletadas pelos tomógrafos dedica- conjunto variado de soluções que podem, no caso do desen-
dos sob energia de 58 KeV, passo angular de 1◦ , passo linear volvimento de um algoritmo paralelo, ser bastante diferen-
0.083 mm e tempo de aquisição de 4 segundos por amostra tes das soluções seqüenciais. Com isso, é importante levar
de projeção. em conta que paradigmas para sistema paralelos auxiliam
na escolha de uma melhor forma de modelagem de proble-
2.2. Reconstrução tridimensional mas do mundo real em um conjunto de pequenos pedaços
que reunidos atendem às necessidades impostas pelos pro-
Uma função de aproximação Spline f de ordem m e blemas. A metodologia PCAM ( Partitioning, Communica-
passo µ é usada como função de aproximação e é dada pela tion, Agglomeration, Mapping) [5], utilizada neste trabalho,
Eq. (4) [23][14] : mostra um paradigma de desenvolvimento de algoritmo pa-
ralelo baseado em quatro etapas:
N
X +2
f (µ) = ai β(N µ − i) (4) 1. Particionamento;
i=−2 2. Comunicação;
onde N e ai representam, respectivamente, o número de 3. Aglomeração;
pontos conhecidos e os pontos reais extraídos dos planos
4. Mapeamento.
reais reconstruídos, tal qual mostra a Figura 2. Nesta im-
plementação, são utilizados dois pontos fantasmas antes do A Figura 3 ilustra conceitos contidos em cada etapa. Ba-
ponto inicial e dois pontos após o último ponto para garan- sicamente, a metodologia consiste em dividir o problema
tir que a função B-Wavelet irá passar no primeiro e no úl- em um conjunto de pequenas tarefas. Uma vez que isto te-
timo ponto [13]. nha sido realizado, inicia-se a fase de comunicação, onde se
jetos tridimensionais, em formatos praticáveis em ambiente
Java3D, possibilitando a implementação da classe importa-
dora. Desta maneira, o objeto reconstruído tridimensional-
mente e salvo no formato (.vtk) [9], é escrito sob o formato
Wavefront File Format (.obj) [24].
Posteriormente, com os arquivos já preparados, uma
nova classe será implementada, derivada da classe Object-
File, a qual provê subsídios para trazer todas as caracterís-
ticas do modelo ao ambiente Java, utilizando-se de méto-
dos pré-implementados, portáveis para a reutilização. Esta
nova classe será capaz de importar o modelo completo, re-
construído e exportado sob o formato Wavefront, para o am-
biente virtual, mantendo todas as suas características origi-
nais, tais como aparência (Appearance), material (Material)
e geometria (Geometry).
Transformações físicas lineares foram escolhidas para
serem inicialmente conectadas ao sistema, tais como rota-
ção, translação, escala, reflexão e cisalhamento, definidas
através de entradas por teclado e disponíveis para cada con-
junto de dados do modelo.
No ambiente de visualização por RV, objetos Behavior
foram instanciados para interpretar as ações dos usuários
Figura 3. Modelo PCAM com as quatro fases por eventos de entrada e traduzi-los em transformações de
para modelagem de um sistema paralelo translação e rotação, disponíveis também para todos os mo-
delos. Assim, a classe Behavior faz a conexão entre as in-
terações e as reações, provendo mudanças no subgrafo de
organiza a forma como estas tarefas irão trocar dados en- conteúdo.
tre si. A fase de aglomeração consiste em agrupar as tare- Outro recurso acoplado ao sistema é a obtenção de infor-
fas que tenham intensa comunicação em tarefas maiores e, mações dos voxels das amostras, que provê para os usuá-
finalmente, já com vistas ao tipo de máquina paralela que rios informações a respeito de um ponto específico, através
será utilizada. No mapeamento distribuem-se as tarefas en- de seleção por mouse (picking). Os dados disponíveis para
tre os processadores disponíveis na máquina paralela. picking estão divididos em dois aspectos: aspectos de cena
e tomográficos. Considerando o aspecto de cena, usuários
2.4. Realidade Virtual podem obter informações como as fronteiras do modelo re-
construído, o número de subgrafos da cena, o modo de com-
Neste modelo, a utilização de um ambiente de RV so- posição das geometrias da cena, a distância entre o modelo
bre o algoritmo de reconstrução é baseada em uma inter- e o observador, as coordenadas do modelo e as coordena-
face principal, desenvolvida como um controle principal, das do vértice mais próximo. Sob o aspecto tomográfico,
provendo acesso intuitivo para os usuários. Esta interface, as informações disponíveis são os atributos de cor do mo-
através de frames independentes, é capaz de acessar tanto delo (RGBA e HSL), os atributos de material ou reflexão,
uma visualização completa da amostra reconstruída, quanto o grau de transparência, o modo de renderização da geome-
os diversos níveis de cinza que compõem suas partes, pro- tria, tons de cinza do voxel e o coeficiente de atenuação li-
vendo uma análise individual das mesmas, através de ope- near de um ponto específico.
rações de threshold. Todos os recursos utilizados na im- A manipulação e a obtenção de informações dos mode-
plementação das técnicas de RV foram desenvolvidos utili- los também podem ser atingidas através da utilização de
zando a linguagem de programação Java e a API Java3D, a uma P5Glove [19]. Este dispositivo não convencional de en-
qual é baseada em estrutura hierárquica denominada Grafo trada de dados tem seis graus de liberdade, permitindo que
de Cena, o qual se divide em subgrafo de visualização e sub- os usuários transladem e rotacionem tanto a cena virtual,
grafo de conteúdo [20]. como os modelos que nela se encontram, selecionando as
Para que as atividades desta fase possam ser iniciadas, representações desejadas de forma intuitiva e movendo-as
torna-se necessária a utilização de métodos do pacote do por toda a cena sintética. Para este propósito, uma API e um
VTK, descritos anteriormente, as quais são capazes de con- driver específico foram adotados, responsáveis por fornecer
verter os arquivos que possuem as representações dos ob- subsídios para o comportamento da luva como um todo [8].
Comparado ao software do fabricante, o novo driver ofe-
rece filtragem de dados, maior precisão e melhor acesso às
informações dos sensores.
Posteriormente, um sistema de luzes dinâmicas foi inse-
rido em todo o contexto tridimensional, deixando o usuá-
rio escolher dentre quatro tipos de fontes de iluminação,
tais como Ambiente, Direcional, Pontual e Pontual Angu-
lar. Cada fonte detém uma série de parâmetros, com influên-
cia direta sobre a direção, posição, atenuação, ângulos e co-
res das luzes envolvidas. Seus efeitos podem ser vistos so-
bre todos os modelos de dados, contribuindo para o rea-
lismo da cena.
Adicionalmente, a visualização por RV ainda permite
que o usuário escolha a forma de renderização dos polígo-
nos. Dentre as formas disponíveis estão: Faces, Arestas e
Nuvem de Pontos.
Visando uma maior interatividade, uma das principais di-
retivas de sistemas de RV, um sistema de cores em tempo
real foi implementado. Através deste recurso, tanto um mo-
delo completo quanto suas partes formadoras podem ser di- Figura 4. Tarefas da reconstrução paralela 2D
namicamente coloridos. As novas cores dos modelos são es-
colhidas através de uma paleta de cores bidimensional.
3. Resultados
aaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaa
(b)
(b)
Figura 12. Resultados obtidos da aplicação
do sistema de iluminação e seus respectivos Figura 13. Resultados obtidos da aplicação
parâmetros. (a) Ambiente: Fronteiras = (10, do sistema de iluminação e seus respectivos
10, 10); Raio = 90; (b) Direcional: Direção = parâmetros. (a) Pontual: Posição = (10, 0, -
(0, 0, 15); Fronteiras = (10, 10, 10); Raio = 90. 10); Atenuação Quadrática = 1; Fronteiras =
(10, 10, 10); Raio = 90; (b) Pontual Angular:
Direção = (0, 0, -20); Concentração = 2; Ân-
gulo de Espalhamento = 30; Posição = (0, 0,
20); Atenuação Constante = 1; Fronteiras =
(10, 10, 10); Raio = 90
Com relação aos resultados do ambiente RV, eles de-
monstraram os feedbacks interativos esperados, conside-
rando a manipulação por mouse, teclado e a luva de dados,
bem como todos os processos de iluminação, renderização Agradecimentos
e colorização, os quais são cruciais para um ambiente sinté-
tico destinado à análise de modelos reais. O próximo passo Os autores gostariam de agradecer ao CNPq e Embrapa
será a incorporação de um vídeo-capacete ao modelo de vi- Instrumentação Agropecuária pelo apóio financeiro ao pro-
sualização, visando atingir a imersão. jeto.
Figura 14. Resultado da aplicação do sistema Figura 15. Resultado da aplicação de nuvem
de cores de pontos sobre uma amostra de solo