Download - Direct volume rendering pres
![Page 1: Direct volume rendering pres](https://reader031.vdocuments.pub/reader031/viewer/2022020713/54808144b4af9f6d448b4c31/html5/thumbnails/1.jpg)
Direct Volume Direct Volume RenderingRendering
Giuseppe FratturaGiuseppe Frattura
N97/110N97/110
![Page 2: Direct volume rendering pres](https://reader031.vdocuments.pub/reader031/viewer/2022020713/54808144b4af9f6d448b4c31/html5/thumbnails/2.jpg)
Volume RenderingVolume 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
![Page 3: Direct volume rendering pres](https://reader031.vdocuments.pub/reader031/viewer/2022020713/54808144b4af9f6d448b4c31/html5/thumbnails/3.jpg)
Indirect Volume Indirect Volume RenderingRendering
Adatta primitive geometriche all’interno 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
![Page 4: Direct volume rendering pres](https://reader031.vdocuments.pub/reader031/viewer/2022020713/54808144b4af9f6d448b4c31/html5/thumbnails/4.jpg)
Direct Volume Direct Volume RenderingRendering
• Realizza un proiezione dellRealizza un proiezione dell’’intero volume dei intero volume dei dati, assegnando trasparenza e colore a dati, assegnando trasparenza e colore a ciascun voxel ciascun voxel (tutti)(tutti)
• Il colore e la trasparenza a ciascun voxel si assegna mediante una funzione di trasferimento che mappa l’intensità di ciascun voxel in un valore di RGBA.
![Page 5: Direct volume rendering pres](https://reader031.vdocuments.pub/reader031/viewer/2022020713/54808144b4af9f6d448b4c31/html5/thumbnails/5.jpg)
DVR: formulazione intuitiva del problema
L’idea è quella di imitare la supervista di Superman in modo da poter avere una visione semplice e comprensibile dell’interno di un volume
![Page 6: Direct volume rendering pres](https://reader031.vdocuments.pub/reader031/viewer/2022020713/54808144b4af9f6d448b4c31/html5/thumbnails/6.jpg)
DVR: Applicazioni
•Tac – Tomografia assiale computerizzata
•Risonanza magnetica
•Ultrasuoni
•Simulazioni di Fluidodinamica
•Pressione
•Porosità
![Page 7: Direct volume rendering pres](https://reader031.vdocuments.pub/reader031/viewer/2022020713/54808144b4af9f6d448b4c31/html5/thumbnails/7.jpg)
Funzione di TrasferimentoAssegna ad ogni voxel dei valori RGB ed un valore Alpha (trasparenza)
Si calcola poi il gradiente/normale per applicare l’illuminazione
![Page 8: Direct volume rendering pres](https://reader031.vdocuments.pub/reader031/viewer/2022020713/54808144b4af9f6d448b4c31/html5/thumbnails/8.jpg)
Direct Volume Rendering: Direct Volume Rendering: TecnicheTecniche
SplattingSplatting
Texture Mapping Texture Mapping
Shear WarpShear Warp
Volume Ray CastingVolume Ray Casting
![Page 9: Direct volume rendering pres](https://reader031.vdocuments.pub/reader031/viewer/2022020713/54808144b4af9f6d448b4c31/html5/thumbnails/9.jpg)
SplattingSplatting
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
![Page 10: Direct volume rendering pres](https://reader031.vdocuments.pub/reader031/viewer/2022020713/54808144b4af9f6d448b4c31/html5/thumbnails/10.jpg)
Texture MappingTexture 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
![Page 11: Direct volume rendering pres](https://reader031.vdocuments.pub/reader031/viewer/2022020713/54808144b4af9f6d448b4c31/html5/thumbnails/11.jpg)
2D Texture Mapping2D Texture MappingSlices parallele agli assiSlices parallele agli assi
Seleziona il miglior allineamentoSeleziona il miglior allineamento
Può produrre artefattiPuò produrre artefatti
![Page 12: Direct volume rendering pres](https://reader031.vdocuments.pub/reader031/viewer/2022020713/54808144b4af9f6d448b4c31/html5/thumbnails/12.jpg)
3D Texture Mapping3D Texture Mapping
Usa un reticolo di slicesUsa un reticolo di slices
Costo computazionale alto, ma ottimizzabile Costo computazionale alto, ma ottimizzabile via GPUvia GPU
LL ’’intero dataset deve essere alintero dataset deve essere al’’interno della interno della memoria della GPUmemoria della GPU
Risoluzione limitata a quella della GPU Risoluzione limitata a quella della GPU (problematico per schede video datate)(problematico per schede video datate)
![Page 13: Direct volume rendering pres](https://reader031.vdocuments.pub/reader031/viewer/2022020713/54808144b4af9f6d448b4c31/html5/thumbnails/13.jpg)
Shear WarpShear Warp1. Transforma i dati del volume
all’interno 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 l’immagine distorta nell’immagine finale tramite il warping.
![Page 14: Direct volume rendering pres](https://reader031.vdocuments.pub/reader031/viewer/2022020713/54808144b4af9f6d448b4c31/html5/thumbnails/14.jpg)
Volume Ray CastingVolume Ray Casting
4 Step4 Step
Ray CastingRay Casting
SamplingSampling
ShadingShading
CompositingCompositing
![Page 15: Direct volume rendering pres](https://reader031.vdocuments.pub/reader031/viewer/2022020713/54808144b4af9f6d448b4c31/html5/thumbnails/15.jpg)
Ray CastingRay Casting
Parte un raggio da ogni pixel del Parte un raggio da ogni pixel del piano immagine ed attraversa il piano immagine ed attraversa il volume dellvolume dell’’oggetto da renderizzare.oggetto da renderizzare.
SamplingSampling
Esegue un campionamento dei valori ad ogni intervallo del raggio che attraverso il volume.
![Page 16: Direct volume rendering pres](https://reader031.vdocuments.pub/reader031/viewer/2022020713/54808144b4af9f6d448b4c31/html5/thumbnails/16.jpg)
ShadingShadingPer ogni valore campionato viene Per ogni valore campionato viene calcolato il colore e la trasparenza ed il calcolato il colore e la trasparenza ed il gradiente in base anche alla posizione gradiente in base anche alla posizione della camera e della luce.della camera e della luce.
CompositingCompositingDopo aver illuminato tutti i punti campione, essi vengono composti per avere il colore finale del pixel
![Page 17: Direct volume rendering pres](https://reader031.vdocuments.pub/reader031/viewer/2022020713/54808144b4af9f6d448b4c31/html5/thumbnails/17.jpg)
Volume Ray Casting : Miglioramenti
• Parallelismo via GPU-Problema della gestione della memoria
• Trovare la fine del raggio-Variazione di colore molto alta
• DownScaling dell’immagine• Saltare le zone trasparenti / invisibili
![Page 18: Direct volume rendering pres](https://reader031.vdocuments.pub/reader031/viewer/2022020713/54808144b4af9f6d448b4c31/html5/thumbnails/18.jpg)
MipmappingConservare varie copie del volume con risoluzione diversa.
Grande spreco di memoria
![Page 19: Direct volume rendering pres](https://reader031.vdocuments.pub/reader031/viewer/2022020713/54808144b4af9f6d448b4c31/html5/thumbnails/19.jpg)
DVR: Artefatti
Una causa di artefatti è il basso sampling rate
Aumentare il sampling rate, sampling rate adattivo
Utilizzo di un filtro bi-cubico
![Page 20: Direct volume rendering pres](https://reader031.vdocuments.pub/reader031/viewer/2022020713/54808144b4af9f6d448b4c31/html5/thumbnails/20.jpg)
Risultato
![Page 21: Direct volume rendering pres](https://reader031.vdocuments.pub/reader031/viewer/2022020713/54808144b4af9f6d448b4c31/html5/thumbnails/21.jpg)
DVR: Artefatti 2Artefatti Shading:
Dovuti alla pre-computazione del gradiente o al’interpolazioneSoluzione: Calcolare il gradiente al momento, costo del calcolo maggiore
![Page 22: Direct volume rendering pres](https://reader031.vdocuments.pub/reader031/viewer/2022020713/54808144b4af9f6d448b4c31/html5/thumbnails/22.jpg)
SPVOLRENSPVOLRENA simple and flexible Volume render Framework A simple and flexible Volume render Framework for Graphics-hardware-based Raycastingfor Graphics-hardware-based Raycasting
Applicativo scritto in C++ Applicativo scritto in C++ con OpenGL Shading con OpenGL Shading LanguagesLanguages
Permette di caricare il Permette di caricare il modello 3D e di modello 3D e di visualizzarlo con I diversi visualizzarlo con I diversi settaggi di settaggi di rappresentazione delle rappresentazione delle superficisuperfici
![Page 23: Direct volume rendering pres](https://reader031.vdocuments.pub/reader031/viewer/2022020713/54808144b4af9f6d448b4c31/html5/thumbnails/23.jpg)
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
![Page 24: Direct volume rendering pres](https://reader031.vdocuments.pub/reader031/viewer/2022020713/54808144b4af9f6d448b4c31/html5/thumbnails/24.jpg)
Esempio di Peter Triers
![Page 25: Direct volume rendering pres](https://reader031.vdocuments.pub/reader031/viewer/2022020713/54808144b4af9f6d448b4c31/html5/thumbnails/25.jpg)
SoftwareSoftware
OsiriXOsiriX
Vaa3DVaa3D
ImageVis3DImageVis3D
![Page 26: Direct volume rendering pres](https://reader031.vdocuments.pub/reader031/viewer/2022020713/54808144b4af9f6d448b4c31/html5/thumbnails/26.jpg)
OsirixOsirix
Uno dei software più performanti in commercio
Versione per iPhone/iPad
Esclusiva Apple, versione a 64bit a pagamento
![Page 27: Direct volume rendering pres](https://reader031.vdocuments.pub/reader031/viewer/2022020713/54808144b4af9f6d448b4c31/html5/thumbnails/27.jpg)
Vaa3DVaa3D
OpenSource, MultipiattaformaOpenSource, Multipiattaforma
Render 5D Spazio-TemporaliRender 5D Spazio-Temporali
3D Visualization-Assisted Analysis
![Page 28: Direct volume rendering pres](https://reader031.vdocuments.pub/reader031/viewer/2022020713/54808144b4af9f6d448b4c31/html5/thumbnails/28.jpg)
ImageVis3DImageVis3D
Multipiattaforma
Disponibile per iPhone
Open Source
Sviluppato dall’università dello Utah
![Page 29: Direct volume rendering pres](https://reader031.vdocuments.pub/reader031/viewer/2022020713/54808144b4af9f6d448b4c31/html5/thumbnails/29.jpg)
Il Raycasting nei Il Raycasting nei VideogiochiVideogiochi
• Il ray casting è parte del Il ray casting è parte del Volume Ray Casting.Volume Ray Casting.
• Usato anche nei giochi per Usato anche nei giochi per rappresentazione di fumo, rappresentazione di fumo, esplosioni e nuvole.esplosioni e nuvole.
• Usato per la prima volta su Usato per la prima volta su wolfstein 3D idSoftwarewolfstein 3D idSoftware
![Page 30: Direct volume rendering pres](https://reader031.vdocuments.pub/reader031/viewer/2022020713/54808144b4af9f6d448b4c31/html5/thumbnails/30.jpg)
Programmare la GPUVertex Shader e Fragment shader sono programmabili a basso livello con codice assembler ad alto livello con codice:•GLSL (OpenGL)•CG (NVidia)•HLSL (Direct X)
![Page 31: Direct volume rendering pres](https://reader031.vdocuments.pub/reader031/viewer/2022020713/54808144b4af9f6d448b4c31/html5/thumbnails/31.jpg)
DVR: SVILUPPI FUTURIDVR: SVILUPPI FUTURI• È possibile eseguire il Direct Volume Rendering È possibile eseguire il Direct Volume Rendering
anche via Browser anche via Browser WebWeb tramite le API WebGL e tramite le API WebGL e ll ‘‘HTML5HTML5
• http://demos.vicomtech.org/volren/http://demos.vicomtech.org/volren/