際際滷

際際滷Share a Scribd company logo
Direct Volume Rendering
                Giuseppe Frattura
                    N97/110
Volume Rendering
 Il Volume Rendering 竪 un insieme di tecniche
  della computer grafica atte a mostrare una
  proiezione 2D di un dataset 3D.
 Un tipico esempio di 3D Dataset 竪 un insieme
  di immagini, prese da una risonanza
  magnetica.
 Il termine voxel denota un singolo elemento
  del volume, come un pixel per un immagine in
  2D


 Indirect Volume Rendering
 Direct Volume Rendering
Indirect Volume
Rendering
Adatta primitive geometriche allinterno dei dati,
  poi effettua il render:
 Marching Cubes
 Surface Tracking
 Fourier Trasform Rendering


Metodo veloce ma di scarsa qualit


Non 竪 conveniente rappresentare fuoco o
 nuvole
Direct Volume
    Rendering

    Realizza un proiezione dellintero volume dei
    dati, assegnando trasparenza e colore a
    ciascun voxel (tutti)

    Il colore e la trasparenza a ciascun voxel si
    assegna mediante una funzione di
    trasferimento che mappa lintensit di ciascun
    voxel in un valore di RGBA.
DVR: formulazione intuitiva del
problema

Lidea 竪 quella di
imitare la supervista
di Superman in
modo da poter avere
una visione semplice
e comprensibile
dellinterno di un
volume
DVR: Applicazioni


Tac  Tomografia assiale computerizzata




Risonanza magnetica




Ultrasuoni




Simulazioni di Fluidodinamica




Pressione




Porosit
Funzione di
Trasferimento
Assegna ad ogni
voxel dei valori RGB
ed un valore Alpha
(trasparenza)

Si calcola poi il
gradiente/normale
per applicare
lilluminazione
Direct Volume Rendering:
Tecniche

 Splatting
 Texture Mapping
 Shear Warp
 Volume Ray Casting
Splatting
Tecnica molto semplice, veloce ma
poco accurata. Ogni Voxel del volume
竪 splatted like a snow ball
(Lee Westover), lanciato come una
palla di neve, sul piano immagine,
ottenendo dei dischi
Quando due dischi si intersecano i loro
colori sono interpolati
Texture Mapping
Descritta da Bill Hibbard e Dave
Santek
Ottimizzato per schede grafiche 3D
Le singole Slice sono allineate con il
volume e renderizzate ad una
angolazione scelta dal visualizzatore
Interpolazione dei valori tra slices
causa overhead
2D Texture Mapping
Slices parallele agli assi
Seleziona il miglior allineamento
Pu嘆 produrre artefatti
3D Texture Mapping

Usa un reticolo di slices
Costo computazionale alto, ma ottimizzabile via
GPU
Lintero dataset deve essere alinterno della
memoria della GPU
Risoluzione limitata a quella della GPU
(problematico per schede video datate)
Shear Warp
             1. Transforma i dati del volume
                allinterno dello spazio tagliato
                ottenuto traslando ogni fetta del
                volume. Le immagini in 2D che
                compongono il volume vengono
                scalate per poter effettuare le
                trasformazioni prospettiche.
             2. Unisce le slices in ordine front-to-
                back. Da questo step si ottiene un
                immagine 2D intermedia in quanto
                竪 distorta.
             3. Transforma limmagine distorta
                nellimmagine finale tramite il
                warping.
Volume Ray Casting

4 Step
Ray Casting
Sampling
Shading
Compositing
Ray
Casting
Parte un raggio da ogni pixel del piano
immagine ed attraversa il volume
delloggetto da renderizzare.


Samplin
g
Esegue un campionamento dei valori
ad ogni intervallo del raggio che
attraverso il volume.
Shading
Per ogni valore campionato viene
calcolato il colore e la trasparenza ed il
gradiente in base anche alla posizione
della camera e della luce.


Compositin
g
Dopo aver illuminato tutti
i punti campione, essi
vengono composti per
avere il colore finale del
pixel
Volume Ray Casting :
    Miglioramenti

    Parallelismo via GPU
    -Problema della gestione della memoria


    Trovare la fine del raggio
    -Variazione di colore molto alta


    DownScaling dellimmagine

    Saltare le zone trasparenti /
    invisibili
Mipmapping
       Conservare
       varie copie del
       volume con
       risoluzione
       diversa.

       Grande spreco
       di memoria
DVR: Artefatti
Una causa di artefatti
竪 il basso sampling
rate

Aumentare il
sampling rate,
sampling rate
adattivo

Utilizzo di un filtro bi-
cubico
Risultato
DVR: Artefatti 2
                Artefatti Shading:
Dovuti alla pre-computazione del gradiente o
alinterpolazione
Soluzione: Calcolare il gradiente al momento,
costo del calcolo maggiore
SPVOLREN
A simple and flexible Volume render
Framework for Graphics-hardware-based
Raycasting
Applicativo scritto in C++ Permette di caricare il
con OpenGL Shading         modello 3D e di
Languages                  visualizzarlo con I diversi
                           settaggi di
                           rappresentazione delle
                           superfici
Peter Triers Volume Ray Casting in
CG


    Applicativo scritto in C

    Costruito come esempio, non da la possibilit di
    caricare dati diversi da quelli di default

    Possibile modificare il valore di Sampling,
    aumentando o diminuendo lo STEPSIZE di
    campionamento
Esempio di Peter
    Triers
Software

OsiriX
Vaa3D
ImageVis3D
Osirix

Uno dei software pi湛
performanti in commercio
Versione per iPhone/iPad
Esclusiva Apple, versione a
64bit a pagamento
Vaa3D
     3D Visualization-Assisted Analysis
OpenSource,
Multipiattaforma
Render 5D Spazio-
Temporali
ImageVis3D


Multipiattaforma

Disponibile per iPhone

Open Source

Sviluppato
dalluniversit dello
Utah
Il Raycasting nei
     Videogiochi




    Il ray casting 竪 parte del
    Volume Ray Casting.

    Usato anche nei giochi per
    rappresentazione di fumo,
    esplosioni e nuvole.

    Usato per la prima volta su
    wolfstein 3D idSoftware
Programmare la GPU
Vertex Shader e
Fragment shader
sono
programmabili a
basso livello con
codice assembler
ad alto livello con
codice:
GLSL (OpenGL)
CG (NVidia)
HLSL (Direct X)
DVR: SVILUPPI FUTURI

     possibile eseguire il Direct Volume Rendering
    anche via Browser Web tramite le API WebGL e
    lHTML5

    http://demos.vicomtech.org/volren/

More Related Content

Direct volume rendering pres

  • 1. Direct Volume Rendering Giuseppe Frattura N97/110
  • 2. Volume Rendering Il Volume Rendering 竪 un insieme di tecniche della computer grafica atte a mostrare una proiezione 2D di un dataset 3D. Un tipico esempio di 3D Dataset 竪 un insieme di immagini, prese da una risonanza magnetica. Il termine voxel denota un singolo elemento del volume, come un pixel per un immagine in 2D Indirect Volume Rendering Direct Volume Rendering
  • 3. Indirect Volume Rendering Adatta primitive geometriche allinterno dei dati, poi effettua il render: Marching Cubes Surface Tracking Fourier Trasform Rendering Metodo veloce ma di scarsa qualit Non 竪 conveniente rappresentare fuoco o nuvole
  • 4. Direct Volume Rendering Realizza un proiezione dellintero volume dei dati, assegnando trasparenza e colore a ciascun voxel (tutti) Il colore e la trasparenza a ciascun voxel si assegna mediante una funzione di trasferimento che mappa lintensit di ciascun voxel in un valore di RGBA.
  • 5. DVR: formulazione intuitiva del problema Lidea 竪 quella di imitare la supervista di Superman in modo da poter avere una visione semplice e comprensibile dellinterno di un volume
  • 6. DVR: Applicazioni Tac Tomografia assiale computerizzata Risonanza magnetica Ultrasuoni Simulazioni di Fluidodinamica Pressione Porosit
  • 7. Funzione di Trasferimento Assegna ad ogni voxel dei valori RGB ed un valore Alpha (trasparenza) Si calcola poi il gradiente/normale per applicare lilluminazione
  • 8. Direct Volume Rendering: Tecniche Splatting Texture Mapping Shear Warp Volume Ray Casting
  • 9. Splatting Tecnica molto semplice, veloce ma poco accurata. Ogni Voxel del volume 竪 splatted like a snow ball (Lee Westover), lanciato come una palla di neve, sul piano immagine, ottenendo dei dischi Quando due dischi si intersecano i loro colori sono interpolati
  • 10. Texture Mapping Descritta da Bill Hibbard e Dave Santek Ottimizzato per schede grafiche 3D Le singole Slice sono allineate con il volume e renderizzate ad una angolazione scelta dal visualizzatore Interpolazione dei valori tra slices causa overhead
  • 11. 2D Texture Mapping Slices parallele agli assi Seleziona il miglior allineamento Pu嘆 produrre artefatti
  • 12. 3D Texture Mapping Usa un reticolo di slices Costo computazionale alto, ma ottimizzabile via GPU Lintero dataset deve essere alinterno della memoria della GPU Risoluzione limitata a quella della GPU (problematico per schede video datate)
  • 13. Shear Warp 1. Transforma i dati del volume allinterno dello spazio tagliato ottenuto traslando ogni fetta del volume. Le immagini in 2D che compongono il volume vengono scalate per poter effettuare le trasformazioni prospettiche. 2. Unisce le slices in ordine front-to- back. Da questo step si ottiene un immagine 2D intermedia in quanto 竪 distorta. 3. Transforma limmagine distorta nellimmagine finale tramite il warping.
  • 14. Volume Ray Casting 4 Step Ray Casting Sampling Shading Compositing
  • 15. Ray Casting Parte un raggio da ogni pixel del piano immagine ed attraversa il volume delloggetto da renderizzare. Samplin g Esegue un campionamento dei valori ad ogni intervallo del raggio che attraverso il volume.
  • 16. Shading Per ogni valore campionato viene calcolato il colore e la trasparenza ed il gradiente in base anche alla posizione della camera e della luce. Compositin g Dopo aver illuminato tutti i punti campione, essi vengono composti per avere il colore finale del pixel
  • 17. Volume Ray Casting : Miglioramenti Parallelismo via GPU -Problema della gestione della memoria Trovare la fine del raggio -Variazione di colore molto alta DownScaling dellimmagine Saltare le zone trasparenti / invisibili
  • 18. Mipmapping Conservare varie copie del volume con risoluzione diversa. Grande spreco di memoria
  • 19. DVR: Artefatti Una causa di artefatti 竪 il basso sampling rate Aumentare il sampling rate, sampling rate adattivo Utilizzo di un filtro bi- cubico
  • 21. DVR: Artefatti 2 Artefatti Shading: Dovuti alla pre-computazione del gradiente o alinterpolazione Soluzione: Calcolare il gradiente al momento, costo del calcolo maggiore
  • 22. SPVOLREN A simple and flexible Volume render Framework for Graphics-hardware-based Raycasting Applicativo scritto in C++ Permette di caricare il con OpenGL Shading modello 3D e di Languages visualizzarlo con I diversi settaggi di rappresentazione delle superfici
  • 23. Peter Triers Volume Ray Casting in CG Applicativo scritto in C Costruito come esempio, non da la possibilit di caricare dati diversi da quelli di default Possibile modificare il valore di Sampling, aumentando o diminuendo lo STEPSIZE di campionamento
  • 26. Osirix Uno dei software pi湛 performanti in commercio Versione per iPhone/iPad Esclusiva Apple, versione a 64bit a pagamento
  • 27. Vaa3D 3D Visualization-Assisted Analysis OpenSource, Multipiattaforma Render 5D Spazio- Temporali
  • 28. ImageVis3D Multipiattaforma Disponibile per iPhone Open Source Sviluppato dalluniversit dello Utah
  • 29. Il Raycasting nei Videogiochi Il ray casting 竪 parte del Volume Ray Casting. Usato anche nei giochi per rappresentazione di fumo, esplosioni e nuvole. Usato per la prima volta su wolfstein 3D idSoftware
  • 30. Programmare la GPU Vertex Shader e Fragment shader sono programmabili a basso livello con codice assembler ad alto livello con codice: GLSL (OpenGL) CG (NVidia) HLSL (Direct X)
  • 31. DVR: SVILUPPI FUTURI possibile eseguire il Direct Volume Rendering anche via Browser Web tramite le API WebGL e lHTML5 http://demos.vicomtech.org/volren/

Editor's Notes

  • #14: artefatti
  • #16: Inserire la funzione