Obsah

Zadání

Rekonstrukce objektů a vizualizace objemových dat. Rekonstrukce z příčných řezů, objemových a prostorových dat. Přímá vizualizace objemových dat. Vizualizace objemů a ploch. Algoritmus pochodující kostky.

Objemová data

Použití

Medicína

Průmyslová defektoskopie

Věda

Předmět vizualizace

Statická 3D data: forma zobrazení f: R3 → Rn. Uspokojivě lze zatím zobrazovat jen data skalární. Výjimečně vektorová (n ≤ 3), ale např. v meteorologii se měří/počítá až 30 veličin v každém bodě – lepší přehled o průběhu veličin dávají animace.

Dynamická 3D data (animace) – forma zobrazení f: R4 → Rn (x,y,z,t). Animace je složitější, uživatelem řízená (“steering”).

Postup při vizualizaci objemových dat

  1. Segmentace
  2. Výpočet gradientů
  3. Převzorkování
  4. Klasifikace
  5. Stínování
  6. Kompozice

Požadavky

Formáty 3D dat

Data v pravoúhlých mřížkách můžeme chápat jako kvádry nazývané voxely, v nichž je v celém objemu hodnota konstantní. Takové dělení je obvykle příliš hrubé, proto zavádíme reprezentaci buňkovou, kde jsou ohodnoceny vrcholy jednotlivých kvádrů a hodnoty libovolných vnitřních bodů jsou získány interpolací hodnot nejbližších 8mi vrcholů (nebo 64 v případě aproximace 2. řádu).

Důležitá je také specifikace spojitosti podobně jako v rastrových obrázcích, kde můžeme specifikovat spojitost jako 4 nebo 8mi okolí:

V objemových datech můžeme rozlišit možnosti spojitosti takto:

Způsob, jakým jsou definovány diskrétní 3D objekty v objemu, je určující nejen při zjišťování vzájemných průsečíků objektů, ale i pro definici spojitosti zobrazovacího paprsku. Proto, pokud víme, že objekt je 18ti nebo 26spojitý, musíme použít 6spojitý paprsek, aby nedocházelo k chybné detekci povrchů. Naopak pro 6spojitý objekt (ten díry obsahovat nemůže) lze použít paprsek 18 či 26spojitý. Spojitost paprsku má podstatný vliv též na jeho délku, tj . na počet kroků, které musí při průchodu scénou vykonat.

Fáze zpracování 3D dat

  1. Pořízení dat (měření nebo výpočet) – uvnitř snímacího zařízení (CAT, MRI) mohou již být použity některé netriviální algoritmy. Převod několika kumulativních projekčních snímků do jednoho 2D obrazu (dělá skrytý firmware).
  2. Úpravy a vylepšení jednotlivých řezů: 2D op. – filtrace: vyhlazování, zvětšování kontrastu. Změny kontrastu - např. automatické vyrovnávání histogramu (stejné operace na všech řezech!)
  3. 3D úpravy a vylepšení – úpravy formátu: přidávání dalších řezů (interpolací), převzorkování (v uniformní mřížce),…, 3D filtrace: vyhlazování, zvětšování kontrastu.
  4. Klasifikace dat, segmentace – medicína: různé typy tkání (kost, mozek, svalstvo, tuk, vzduch). Ruční nebo automatická (např. analýzou histogramu).
  5. Zobrazení dat – projekce do 2D.

Zobrazovací algoritmy - nalezení povrchu v objemových datech

Některé algoritmy převádějí objemová data do povrchové reprezentace. Velmi častým postupem je aproximace povrchů sítí trojúhelníků. Povrchy se předpokládají obvykle v místech s konstantní hodnotou vzorků. Proto se takto vzniklé sítě nazývají izoplochy (srovnej kapitolu 5.12), obdobně jako izočáry ve dvou rozměrech.

Rekonstrukce izoploch

Výpočet a zobrazení jedné nebo více izoploch. Prahové hodnoty zadává uživatel. Aproximace izoplochy sítí rovinných plošek.

Neprůhledné kostky (“cuberille”)

Herman: 1979. Zobrazení krychlí, které protínají zadanou izoplochu – podle směru pohledu stačí kreslit pouze tři stěny krychle. Aproximace je příliš hrubá (plocha je hranatá). Pro lepší vzhled možno použít spojité stínování gradientní metodou, hranaté okraje však zůstávají. Nebo současné zobrazení několika izoploch - technika poloprůhledných ploch (kanál alfa).

Napojování izočar (“contour connecting”)

Keppel: 1975, Fuchs: 1977, Ekoule: 1991. Výpočet izočar v jednotlivých řezech: izočára se reprezentuje jako lomená čára. Jeden řez může obsahovat několik uzavřených smyček izočáry. Triangulace izoplochy mezi dvěma řezy – trojúhelníky by neměly být příliš protáhlé.

Topologicky obtížné situace: několikanásobné větvení (1:N, M:N), nejednoznačné přiřazení napojovaných izočar.

Algoritmus Ekoule, Peyrin, Odet

Zřejmě není třeba znát takto detailně. Spíše pro ilustraci.

Rozdělení na několik geometricky/topologicky odlišných případů:

Vlastnosti algoritmu: vstupní izočáry mohou mít libovolné tvary, generuje dobře vypadající trojúhelníky (nepoužívá dlouhé hrany), uspokojivě řeší větvení 1:N, M:N.

Pochodující kostky (“marching cubes”)

Lorensen: 1987. Jeden z nejpoužívanějších algoritmů. Jednoduchá implementace (i HW), generované trojúhelníky nemají dlouhé hrany. Ale může generovat velké množství trojúhelníků (i menších než 1 pixel) mohou se objevit drobné chyby v napojení. Generuje síť trojúhelníků v každé buňce – topologie podle konfigurace vrcholů buňky: vrcholy sítě leží na hranách buňky, snadno se implementuje. Lze použít gradientní stínování.

Konfigurace vrcholů buňky

Celkem 14 základních kombinací (ostatních 240 dostanu pomocí symetrií a otáčení).

Základní algoritmus

4 sousední řezy se načtou do paměti. Pro každou buňku mezi dvěma prostředními řezy se spočítá síť: ve všech osmi vrcholech buňky určíme bitovou hodnotu s významem obsahuje / neobsahuje objekt (podle určeného prahu). Tato 8mi bitová informace slouží jako index do předem pevně dané tabulky – informace o vrcholech a hranách trojúhelníků. Vrcholy sítě se spočítají lineární interpolací podle hodnot ve vrcholech buňky. Normálové vektory ve vrcholech buňky se spočítají pomocí diferencí a lineárně se pak interpolují do vrcholů sítě. Síť trojúhelníků se stínováním se zapíše na výstup, předpokládá se HW podpora viditelnosti a Gouraudova stínování.

Implementace, vylepšení

Přímé zobrazování objemových dat

Obrázek může obsahovat více informací, ale je závislý na úhlu pohledu.

V-buffer, “splatting” – konstrukce poloprůhledného zobrazení průchodem scény zepředu dozadu.

Metody vrhání paprsku

Klasifikace

Originální datová množina obsahuje hodnoty, které jsou specifické pro danou aplikační oblast (teplota, rychlost, hustota protonů, atd.). Datům musíme přiřadit barvy/průhlednosti, které dají datům určitý význam. Řeší se pomocí přenosových funkcí.

Interpolace v buňkách

Schémata průchodu paprsku

Typy průchodu

Fotorealismus

Nemusí být nejdůležitější, hlavní je názornost zobrazení. Člověk je však zvyklý na některé fyzikální vlastnosti látek:

Algoritmus Levoy

Pro ilustraci Předzpracování vytvoří 2 pomocné objemy:

Gradientní stínování - výpočet fiktivního normálového vektoru jako gradientu zobrazované funkce. Aproximace gradientu pomocí konečných diferencí

Lze optimalizovat použitím hierarchií voxelů – oktantových stromů – hierarchie obalových objemů pro 8, 64, atd. voxelů.

Použité zdroje

Josef Pelikán, Jiří Sochor : PB009 - Základy počítačové grafiky, slajdy. 2012. Fakulta informatiky, Masarykova Univerzita. Brno.

Josef Pelikán, Jiří Sochor : PA010 - Počítačová grafika, slajdy. 2012. Fakulta informatiky, Masarykova Univerzita. Brno.

Žára, Beneš, Sochor, Felkel. Moderní počítačová grafika. Computer Press, Brno, 2004. ISBN: 80-251-0454-0