Objemové vykreslování je technika používaná k získání plochého obrazu ( projekce ) trojrozměrného diskrétního souboru dat.
Vstupní datový soubor často odkazuje na soubor plochých obrazů získaných z počítačové tomografie nebo magnetické rezonance . Typicky mají vrstvy stejnou tloušťku (například se fotografuje jedna vrstva na milimetr) a stejný počet pixelů na vrstvu. Vstupními daty je tedy pravidelná mřížka voxelů , kde každý voxel odpovídá průměrné hodnotě (teplota, hustota materiálu) v daném bodě trojrozměrného objektu.
Objemový model lze získat buď vytvořením polygonové sítě na základě vstupních dat, nebo přímým vykreslením objemu. Algoritmus Marching cubes je standardem pro převod sady voxelů na polygonální model. Přímé vykreslování objemu je složitý výpočetní úkol, který lze provést několika způsoby.
Dopředný vykreslovací modul hlasitosti [1] [2] mapuje každou hodnotu voxelu na barvu a průhlednost. To se provádí pomocí přenosové funkce, která může být dána po částech lineární funkcí nebo tabulkou hodnot. Poté je výsledná hodnota RGBA odeslána do framebufferu. Po nakreslení celého objemu se získá pevný obrázek.
Objemové raycasting je aplikace rovnice vykreslování v praxi a vytváří velmi kvalitní snímky.
Rychlejší metoda, která vytváří obrázky horší kvality. Lee Westover nazývá tuto metodu „házení sněhových koulí“ (eng. splatting ). Voxely jsou „hozeny“ na pozorovací plochu v pořadí vzdálenosti od ní, od nejvzdálenější k nejbližší. Výsledné "stopy sněhové koule" (splats) jsou vykresleny jako disky, jejichž barva a průhlednost se mění v závislosti na průměru v souladu s normálním (Gaussovým) rozdělením . Různé implementace mohou používat různé prvky nebo různé alokace.
Vzhledem k tomu, že objemové vykreslování lze snadno paralelizovat, specializovaný hardware pro jeho implementaci byl předmětem mnoha vědeckých studií až do okamžiku, kdy se běžné grafické karty začaly s tímto úkolem vypořádat v přijatelném čase. Nejoblíbenější technologií byla VolumePro [3] , která byla náročná na paměť a používala jako svůj základní algoritmus neoptimalizované raycasting.
Systém objemového vykreslování často přijímá dodatečné informace jako vstup, který identifikuje oblasti, které neobsahují materiál, který je třeba vykreslit. Tyto informace lze použít, aby se zabránilo plýtvání časem při vykreslování průhledných oblastí [4] .
Tato technika se používá při vykreslování z blízké do vzdálené roviny zobrazení. Ve skutečnosti jde o povrchový raycasting .
Použití hierarchických struktur, jako je octree a BSP strom, může být užitečné jak pro vstupní kompresi, tak pro optimalizaci volumetrického raycastingu .
Alokací nezajímavých částí prostoru před vykreslením můžete výrazně snížit počet výpočtů při raycastingu nebo míchání textur. V závislosti na použitém algoritmu se výpočetní složitost sníží z O(n) na O(log n) pro n po sobě jdoucích voxelů. Použití segmentace prostoru pomáhá výrazně urychlit vykreslovací algoritmy, které využívají raycasting.
Oblasti, které jsou méně zajímavé pro zobrazení, lze také vykreslit v nižším rozlišení, čímž odpadá nutnost zpracovávat zbytečná vstupní data. Pokud potřebujete vidět tyto oblasti blíže, můžete je dále upřesnit načtením příslušných informací z disku a provedením dodatečného vykreslení, nebo použít interpolaci .
Vizualizace technických informací | |
---|---|
Oblasti |
|
Typy obrázků |
|
Osobnosti |
|
Související oblasti |
|