12. Specifické aplikace vizualizace Scientific Visualization, Medical Visualization www.sci.utah.edu www.ii.uib.nogvis.grc.nasa.gov www.webgl.com raweb.inria.fr Scientific visualization • Grafická reprezentace jistých zkoumaných jevů • Samotná vizualizace pak může být součástí výzkumného procesu, protože slouží k pochopení, interpretaci a prozkoumání • Dokonce může významně ovlivňovat samotný směr výzkumu • Využita i přímo v aplikačním prostředí, například u chirurgických zákroků Scientific visualization pipeline Scientific visualization pipeline • Vizualizační pipeline pro scientific data je obohacena o část týkající se aplikace technik pro scientific visualization na připravená data • Tato fáze představuje konverzi ze specifických modelů ve vědecké doméně na modely v grafické doméně johnrichie.com Reprezentace dat • Daný jev je často modelován za použití měření v diskrétní sadě bodů v prostoru • Výsledkem měření jsou vzorky reprezentující matematickou funkci generující daný jev • Často se jedná o mesh – síť či topologii asociovanou s body, na které je možné provést interpolaci Reprezentace dat • Z pohledu dat pracujeme se sadou atributů přiřazených sadě bodů v prostoru • Pozice těchto bodů může být zadána explicitně pomocí (x, y, z) souřadnic nebo může být definována implicitně (jako například pomocí pravidelné mřížky) http://www.bu.edu/tech/research/training/tutorials/introduction-to-scientific- visualization-tutorial/data-representation/example/ Reprezentace dat • Zaměříme se na popis běžně používaných domén ve vizualizaci vědeckých dat • Ilustrace ve 2D, ale popis ve 3D – právě 3D domény se ve vědeckých vizualizacích vyskytují nejčastěji eecs.oregonstate.edu Pravidelná mřížka • Je jednou z nejpoužívanějších reprezentací v dané doméně, protože je velmi jednoduchá a přímočará při použití • Velmi přirozeně odpovídá konceptu polí (arrays) v programovacích jazycích • Platí, že mřížka je zarovnaná na osy souřadnic, tedy že jednotlivé čáry mřížky jsou rovnoběžné s těmito osami Pravidelná mřížka • Dále musí platit, že vzdálenost mezi čarami mřížky, která odpovídá velikosti buňky mřížky, je ve všech osách stejná • Za topologii této mřížky můžeme považovat sadu samostatných buněk, které rozdělují danou doménu a mohou být využity například při interpolaci Pravidelná mřížka Pravidelná mřížka • Pozici libovolného bodu můžeme odvodit z jeho indexu a z omezení dané domény • Ve 3D: x = xmin + ix*(xmax-xmin), ix in [0,...,nx-1] y = ymin + iy*(ymax-ymin), iy in [0,...,ny-1] z = zmin + iz*(zmax-zmin), iz in [0,...,nz-1] • Umístění bodů může být buď v průsečících čar mřížky, nebo ve středu jednotlivých buněk Perimeter mesh • Mřížka s rovnoběžnými čarami, které ale nemusí být rozložený uniformně • Na rozdíl od pravidelné mřížky tedy musí tato struktura obsahovat informaci o pozicích čar mřížky ve všech osách Perimeter mesh Perimeter mesh • Reprezentace bodu ve 3D v perimeter síti: x = xgrid[ix] where ix in [0,...,nx-1] y = ygrid[iy] where iy in [0,...,ny-1] z = zgrid[iz] where iz in [0,...,nz-1] xgrid = (x0, ..., x{n-1}) ygrid = (y0, ..., y{n-1}) zgrid = (z0, ..., z{n-1}) Nepravidelná mřížka • Topologie je stejná jako u výše uvedených mřížek, ale body jsou rozmístěny libovolně • Konektivita mezi body je implicitně dána strukturou meshe, ale díky její nepravidelnosti je nutné zadávat souřadnice jednotlivých bodů explicitně Nepravidelná mřížka Reprezentace dat • Ve všech dosud uvedených reprezentacích hraje důležitou roli uspořádání bodů do mřížky a to zejména při jejich implementaci • Při ukládání do seznamu sousední body odpovídají procházení mřížky v určitém směru – seznam tedy určitým způsobem reprezentuje část konektivity Trojúhelníková síť • Tato síť je tvořena trojúhelníkovými buňkami Polygonální síť • V této síti mají buňky libovolný počet vrcholů • Ve 2D stačí pro reprezentaci uspořádaný seznam vrcholů jednotlivých buněk • Tatáž reprezentace ve 3D je dostačující, pokud víme, že jednotlivé buňky jsou konvexní. V opačném případě musí být přidána informace o hranách a/nebo stěnách. Polygonální síť Diskrétní body • Tato reprezentace se využívá v případech, kdy nemáme žádné informace o vzájemném vztahu mezi jednotlivými body • Takováto data můžeme získat výběrem náhodných vzorků, jako výstup ze senzorů apod. Diskrétní body Křivková reprezentace • Křivky jsou považovány za po částech lineární objekty umístěné v rovině nebo v prostoru • Křivky jsou reprezentovány seznamem explicitně zadaných bodů nebo seznamem indexů do pole bodů Křivková reprezentace Povrchová reprezentace • Povrchy jsou reprezentovány sadou 2D objektů umístěných v prostoru • Geometrie je reprezentována stejným způsobem jako u výše zmíněných polygonálních sítí v rovině Povrchová reprezentace Techniky pro scientific visualization • Vědecká data nabývají různých tvarů a velikostí a jsou většinou prostorová • Zaměříme se na techniky pro reprezentaci skalárních a vektorových dat • Skalární data: • Slice planes • Domain clipping (region of interest - ROI) • Izopovrchy • Glyfy • Objemová vizualizace • Vektorová data: • Glyfy • Streaklines (paprsky) • Ribbons (pásy) Skaláry – slice planes • „Nařezání“ 3D prostoru do 2D rovinných řezů • Na tyto řezy může být posléze namapována barevná škála • Orientace těchto rovin je nejčastěji horizontální, vertikální nebo můžeme využít více ořezávacích rovin najednou Skaláry – slice planes Skaláry – domain clipping • Domain clipping, neboli Region of interest (ROI), je technika velmi podobná ořezávacím rovinám • Nevytváříme však 2D řez, ale ořezávací rovinu využíváme k odřezání části domény • Takto vzniklá subdoména se nazývá oblastí zájmu (region of interest) • Subdoména může vzniknout ořezáním podle určitého tělesa – kvádru, koule, … Skaláry – domain clipping Skaláry - izopovrchy • Izopovrch pro určitou hodnotu d je definován jako sada bodů v dané doméně, pro které má daná funkce hodnotu d • Ve 2D je tato situace definována pomocí izočar Kombinace s předchozími technikami Kombinace s předchozími technikami Kombinace s předchozími technikami Kombinace s předchozími technikami Skaláry - glyfy • V tomto případě je každý datový bod reprezentován malým objektem v prostoru, který je obarven podle zadané barevné škály na základě určité hodnoty uložené v tomto bodě • V následujících případech jsou využity pouze bodové glyfy Skaláry - glyfy Skaláry - glyfy Skaláry - glyfy Skaláry – vizualizace objemu • U objemové vizualizace nejčastěji ovlivňujeme průhlednost a barvu materiálu, čímž simulujeme náhled skrz některé oblasti a naopak neprůhlednost jiných oblastí. Skaláry – vizualizace objemu Skaláry – vizualizace objemu Vektory - glyfy • Pokud chceme vizualizovat atributy dat, které jsou zadány ve formě vektorů, musíme řešit jiný typ problému • Nejjednodušším a zároveň nejpřirozenějším způsobem reprezentace je znázornění vektorů pomocí šipek Vektory - glyfy • Hedhehog - ježek Kombinace s předchozími technikami Kombinace s předchozími technikami Kombinace s předchozími technikami Kombinace s předchozími technikami Kombinace s předchozími technikami Kombinace s předchozími technikami Vektory – streaklines (paprsky) • Namísto vykreslení vektorového pole pomocí oddělených glyfů (jako například šipek v předchozím případě) použijeme křivky pro vykreslení lineárních prvků sledujících tyto křivky • Intuitivně můžeme tuto reprezentaci interpretovat jako umístění částice do toku a sledování její trasy Kombinace s předchozími technikami Kombinace s předchozími technikami Kombinace s předchozími technikami Kombinace s předchozími technikami Kombinace s předchozími technikami Kombinace s předchozími technikami Kombinace s předchozími technikami Vektory – ribbons (pásy) • Navíc informace o kroucení Kombinace s předchozími technikami Ukázky • Trajektorie větru cyklonu ERICA, leden 1989 • http://www.youtube.com/watch?v=eJy5dHM Y-S4 • Tornádo • http://www.youtube.com/watch?NR=1&featu re=endscreen&v=D_f84nIB9J8 Medicínská vizualizace • Medicínská vizualizace je speciální oblastí vizualizace vědeckých dat, jejíž kořeny byly položeny v 80. letech minulého století • Historie ale sahá hluboko do minulosti – anatomické ilustrace vznikaly již pod rukama Leonarda da Vinciho • My však bereme v potaz vztah scientific visualization k počítačové grafice, kdy hledáme vhodnou reprezentaci pro uložení 3D geometrie a efektivní algoritmy pro její renderování Medicínská vizualizace • Medicínská vizualizace se zabývá analýzou, vizualizací a prozkoumáváním výsledných vizualizací • Hlavní aplikační oblasti medicínské vizualizace jsou: – Výukové účely – Diagnóza – Plánování léčby – Podpora při operativních zákrocích Výukové účely • Vizualizační techniky jsou podstatnou součástí všech anatomických a chirurgických výukových systémů • Např. VoxelMan http://www.voxel-man.de/3d-navigator/inner_organs/ Výukové účely • Hlavním rozdílem mezi anatomickými a chirurgickými trénovacími aplikacemi je skutečnost, že v anatomii pracujeme se statickými modely, zatímco v chirurgii musíme uvažovat deformovatelné objekty, které simulují měkkou tkáň při působení síly. Diagnóza • Diagnóza odvozená z radiologických dat využívá interaktivní 2D i 3D vizualizace. Pokud je například stav pacienta nejasný (například se jedná o složitou zlomeninu), je využití 3D vizualizace velmi užitečné při získání všeobecného náhledu na daný problém. Plánování léčby • Interaktivní 3D vizualizace relevantních anatomických struktur může vylepšit a zpřesnit plánování chirurgického zákroku, minimálně invazivních zákroků atd. www.belredpediatricdentistry.com www.hospitals-management.com Podpora při operativních zákrocích • Medicínská vizualizace založená na 3D datech čím dál častěji vstupuje přímo na operační sál • Pracuje se se snímky získanými jak před operací, tak během operace • Jejich průběžné vyhodnocování poskytuje podporu přímo při zákroku • Pro toto využití je nutná hardwarová podpora v podobě různých speciálních obrazovek a jiných zařízení Podpora při operativních zákrocích campar.in.tum.de creativity-online.com public.kitware.com public.kitware.com ranger.uta.edu Ukázky • Scientific visualization from the atom to the universe • https://www.youtube.com/watch?v=X_bFDeb ZALA • Dentální haptika • http://www.youtube.com/watch?v=XvX6b3m Rqns&list=PLBCF0D6066D7BB5AB&index=13