MODELLI VOLUMETRICI: VOXEL + ESS

MODELLI VOLUMETRICI: VOXEL + ESS

notion image
DIFFERENZA POLIEDRO E VOXELS
  • MESH VOL: Le celle sono adiacenti per faccia ì
  • VOXELS:
    • notion image
DEFINIZIONE
  • Voxel: sono una griglia di celle 3D, sparse o dense (non adiacenti tra loro come le mesh poligonali)
    • sparse: solo i voxel occupati (non vuoti) vengono memorizzati
    • dense: ogni cella della griglia è esplicitamente memorizzata, anche se è vuota e nn contiene nulla
notion image
Vo - xel
notion image
notion image
CURSE OF DIMENSIONALITY
  • La tridimensionalità occupa eccessivo spazio.
  • Il costo è proporzionale alla dimensione: un segmento un quadrato ed un volume hanno un prezzo crescente
FUNZIONAMENTO STAMPANTE 3D
  1. Ho un modello 3D digitale meshato
    1. Questa mesh deve essere una superficie 2-manifold chiusa. Solo così il software può capire dove c’è “interno” e “esterno” del solido.
  1. è sottoposta a un software che prende il modello e lo suddivide in tanti strati orizzontali (slices).
    1. Lo slicer trasforma ogni strato in un percorso che l’ugello della stampante seguirà per depositare il materiale.
  1. Questo percorso viene tradotto in un linguaggio chiamato G-code, che contiene:
      • coordinate (X, Y, Z),
      • velocità di movimento
      • quando estrudere il materiale,
      • e quanto.
  1. La stampante 3D legge il G-code per costruire fisicamente l’oggetto, strato dopo strato.
    1. notion image
tessitura volumetrica
notion image
  1. Niente UV mapping: il voxel è una struttura di tessitura a se stante supportata dall’Hardware
    1. A differenza delle mesh classiche, non serve mappare da 2D a 3D (UV unwrap)
  1. tessitura acnhe interna al volume
  1. non richiede parametrizzazione della superfice
  1. la texture incrementa il costo della memoria
 
 

DENSITA’ → conness a link
CASE STUDY: ho un organo voxellizzato e associo ad ogni voxel la densità (da 0 ad 1) per ricreare un modello utile nel contesto medico
posso assegnare ad ogni voxel la relativa densità in un range di valori da 0 a 1. Molto utile in ambito medico. Per fare ciò un voxel = 1 float, per aumentare la precisione.
notion image

Direct Volume Rendering

Applicazione pratica usando le densità
🌫️ Visualizzazione volumetrica diretta (senza trasformare in mesh)
  • È come se da ogni pixel dello schermo partisse un raggio che entra dentro il modello 3D.
  • Il raggio passa attraverso diversi voxel → in base alla loro densità contribuiscono al colore del pixel.
    • Se trova solo aria (densità 0), il pixel sarà nero.
    • Se trova ossa, tessuti, darà colore e opacità.
  • Risultato: sembra un'immagine trasparente, che mostra cosa c’è dentro (come una radiografia 3D).

Mesh (isosuperficie)

Conversione da voxel a mesh bidimensionale
  • Si prende il modello voxel e si cerca una "superficie" immaginaria dove la densità raggiunge un certo valore (es: 300 = osso).
  • Questa superficie di densità pari a 300 viene ricostruita con un algoritmo (marching cubes) che crea una mesh di triangoli.
  • Il risultato è una pelle 3D, come una statua digitale dell’interno del corpo.
 
notion image
ISO-LINEA → conness a link
notion image
  • esempio
    • notion image
    • le posizioni lungo le linee hanno uguale pressione pari al valore soglia, l’interno ha pressione maggiore
ISO-SUPERFICIE
  • CASE STUDY
    • notion image
  • RAGIONAMENTO
    • L’isosuperfice delimita un bordo, come una “pellicola” i cui voxel ganno valore scalare sigma
    • i valori maggiori o minori di sigma (in base al contesto) determinano il corpo racchiuso dall’isosuperfice
  • ALGORITMI
    • Marching Squares → da griglia 2D a iso-linea (a scopo introduttivo)
      INTRODUZIONE
      • Voxel: sono una griglia di celle 3D (non adiacenti tra loro come le mesh poligonali)
        • quindi per creare continuità devo capire come rappresentare la linea che collega tra loro i voxel
      FUNZIONAMENTO ALGORITMO
      notion image
      • ogni punto è un voxel ma poteva essere qualsiasi cosa (pixel, celle), comunque ho una griglia planare 2d
      • ho colorato la griglia in base al valore soglia, ora devo determinare come rappresentare la linea che separa, per ogni quadrato (e qui l’utilità della griglia) i voxel rossi da quelli blu: avviene in ogni quadrato per INTERPOLAZIONE tra i valori dei 4 vertici del quadrato -> molto figo
        • notion image
          notion image
      Marching Cubesda griglia 3D a iso-superfice
      • Lavora sulla reale griglia tridimensionale che rappresenta i voxels
      • se prima l’interpolazione lineare avvenniva sulle 2 dimensionidi una faccia, ora avviene su 3 dimensioni di un cubo (inclusa la profondità)
      • Output: mesh triangolari che rappresentano superfici nello spazio
      FUNZIONAMENTO
      notion image
      • ogni edge che connette voxel pieno con voxel vuoto interseca l’isosuperficie (linea determinana con l’interpolazione)
      • sono stati studiati 256 casi combinazioni
      • da isosuperfice a tri mesh?
        Il reticolo di voxel è proprio la base geometrica che il Marching Cubes sfrutta per costruire la mesh triangolare
      notion image
      • ALGORITMO IN AZIONE:
        • non marcia su tutti i cubi a caso, appena trova un cubo pieno, marcia all’interno dell’isosuperficie che…abbiamo appena visto come viene identificato
        • evitare i cubi vuoti risarmia molto tempo computazionale
osservaszione
nel 2d ogni quadrato su cui costruivo la linea era attraversato su 2 dei suoi lati. Nel 3d i punti viola sugli edge del cubo sono almeno 3
Esempi
notion image
notion image