• Rezultati Niso Bili Najdeni

Slika 6.3: Porazdelitev barvnih polj v prenosnih funkcijah volumnov 1 (na levi)

34 Rezultati

Iz teh porazdelitev je razvidno, da se je veˇcina uporabnikov za doloˇcanje kvalitetnih prenosnih funkcij odloˇcala, da bo barvna polja postavila na zgornjo stran platna. Tudi pri ostalih volumnih so porazdelitve barvnih polj sledile istemu vzorcu, kjer je zelo malo barvnih polj bilo postavljenih na spodnjo polovico platna.

Iz tega smo lahko sklepali, da se zgostitve podatkov v naˇsih volumnih nahajajo predvsem na zgornji strani platna. Iz grafov lahko tudi vidimo, da so na desni strani platna barvna polja vseh razliˇcnih oblik, na levi pa obiˇcajno najdemo le oˇzja barvna polja. Na teh obmoˇcjih so preˇsiroka barvna polja postala za upodobitve neuporabna, saj so izpostavila preveˇc ˇsuma v volumnu.

Opazili smo ˇse eno podrobnost. Veliko barvnih polj je bilo spremenjenih po ˇsirini, skoraj nobeno pa tudi po dolˇzini. Teˇzava je bila posledica manjkajoˇcega navodila na uporabniˇskem vmesniku, ki bi uporabnika seznanila z moˇznostjo spre-minjanja dolˇzine polja. To je v aplikaciji VPT sicer izvedljivo z pritisnjenim gumbom Shift in premikanjem koleˇsˇcka na miˇski.

Zbrane prenosne funkcije so tvorile osnovo za model generiranja prenosnih funkcij. Kvaliteto teh prenosnih funkcij smo lahko analizirali le s pomoˇcjo modela, ki je prenosne funkcije predlagal uporabniku.

6.2 Rezultati modela za generiranje prenosnih funkcij

Slika 5.2 prikazuje delovanje modela in pripadajoˇcega uporabniˇskega vmesnika za generiranje prenosnih funkcij. Ker je takih primerov uporabe veliko, smo delovanje modela tudi podrobneje ocenili. Zanimalo nas je, kako kvalitetno deluje model ob dodajanju razliˇcnega ˇstevila novih barvnih polj na platno.

Za zaˇcetek smo ocenjevali delovanje modela pri dodajanju prvega barvnega polja. Ko uporabnik v aplikaciji naloˇzi nov volumen v sceno, najprej pritisne na gumb Add Bump, ki predstavlja zaˇcetno razliˇcico prenosne funkcije. Na sredini platna se izriˇse okroglo barvno polje rdeˇce barve. Zaˇcetna razliˇcica prenosne funkcije je za upodabljanje naˇsih volumnov povsem neuporabna, saj volumna v sceni ne uspe kvalitetno upodobiti. S klikom na enega izmed novih gumbov model generira novo prenosno funkcijo in jo izriˇse na platnu, kot kaˇze slika 6.4.

6.2 Rezultati modela za generiranje prenosnih funkcij 35

Slika 6.4: Prvi primer uporabe modela za generiranje prenosnih funkcij za izris volumna coronal mal.raw.

Rezultat, kot ga kaˇze slika 6.4, smo dobili s klikom na gumb 1. TF. Z enim klikom gumba je uporabnik s pomoˇcjo modela izrisal dovolj kvalitetno upodobitev volumna, ki prikazuje vse njegove glavne lastnosti. Rezultate podobne kvalitete smo dobili, ˇce je uporabnik izbral katerega izmed ostalih ˇstirih gumbov, postopek pa je deloval kvalitetno tudi pri upodabljanju drugih volumnov. V teh primerih se je novo barvno polje izrisalo na zgornji polovici platna, kar se sklada s shranjenimi podatki, prikazanimi na sliki 6.3. Model je tako sposoben generirati kvalitetne prenosne funkcije za zaˇcetno upodobitev volumna, ki za uporabnika predstavljajo temelj za kvalitetno upodobitev volumna.

Uporabnik lahko na platno dodaja nova barvna polja in tako uravnava izgled volumna. Uporabnik s tem postopkom obiˇcajno ˇzeli izpostaviti doloˇcene dele volumna, tako da jih obarva drugaˇce kot preostanek volumna. Preizkusili smo, ali lahko v tem primeru model uˇcinkovito generira prenosne funkcije za upodobitev doloˇcenih delov volumna. Po zaˇcetni upodobitvi smo z kliki na nove gumbe dodali ˇse veˇc barvnih polj in ocenili kvaliteto nove upodobitve.

Na sliki 6.5 lahko vidimo novo upodobitev s prenosno funkcijo, ki smo jo generirali na podlagi prve, prikazane na sliki 6.4. Po kliku na gumb 1. TF smo pritisnili ˇse na gumb 2. TF, kar je upodobitev volumna korenito spremenilo. Prej svetlozelenim delom volumna se je spremenila barva, modro pa so se obarvali deli volumna, ki so bili prej teˇzko vidni. Nova prenosna funkcija je tako uspeˇsno izpostavila doloˇcene dele volumna in ga upodobila ˇse bolj kvalitetno kot prva.

36 Rezultati

Slika 6.5: Drugi primer uporabe modela za generiranje prenosnih funkcij za izris volumna coronal mal.raw.

volumna preizkusili tudi z uporabo drugih gumbov in volumnov. Ugotovili smo, da je model pri taki uporabi izredno nekonsistenten. V doloˇcenih primerih, kot prikazuje slika 6.5, model deluje dobro, v mnogih primerih pa dodajanje novih barvnih polj na prenosno funkcijo ne pomaga izpostaviti doloˇcenih delov volumna.

Generirane prenosne funkcije so v teh primerih obiˇcajno preveˇc podobne trenutni, zato se namesto bolj podrobne upodobitve samo spremeni barva volumna, veliko-krat pa ni nobenega vpliva na upodobitev. V nekaterih primerih smo tudi opazili, da dodajanje novih barvnih polj negativno vpliva na samo kvaliteto upodobitve volumna. Model v takih primerih generira prenosne funkcije, ki izpostavijo ˇsum in tako prikaˇzejo neˇzelene dele volumna. Ti so pogosto za uporabnika moteˇci, ker pogosto zakrivajo tiste dele volumna, ki jih uporabnik ˇzeli videti. Primer neuspeˇsne uporabe modela je prikazan na sliki 6.6, kjer je model generiral novo prenosno funkcijo, ki za upodobitev volumna bonsai.raw ni primerna. Funkcija je bila preveˇc podobna obstojeˇci, kar je potemnilo barvo volumna, izpostavila pa je tudi neˇzelen del volumna na spodnji strani zaslona. Vnoviˇcno dodajanje novih barvnih polj s pomoˇcjo modela le ˇse zmanjˇsa moˇznosti za kvalitetno upodobitev, tako da model za ta primer uporabe ni najbolj primeren.

6.2 Rezultati modela za generiranje prenosnih funkcij 37

Slika 6.6: Primer neuspeˇsne uporabe modela za generiranje prenosnih funkcij za

38 Rezultati

7 Sklepne ugotovitve

V diplomskem delu smo v ogrodje za volumetriˇcno upodabljanje volumnov vkljuˇcili model za generiranje prenosnih funkcij, ki deluje na podlagi metode glav-nih komponent. Za potrebe delovanja tega modela smo najprej izdelali aplikacijo in uporabniˇski vmesnik, katerih naloga je bila zbiranje podatkov, potrebnih za delovanje modela. Uporabniki so s prvim vmesnikom v podatkovno bazo vnesli preko 2000 prenosnih funkcij, ki so tvorile osnovo za naˇs model. Nato smo izdelali model za generiranje prenosnih funkcij in ga vkljuˇcili v obstojeˇco implementacijo ogrodja za volumetriˇcno upodabljanje. Model smo izdelali v obliki skripte, ki je prejela informacije o izdelani prenosni funkciji in s pomoˇcjo metode glavnih komponent uporabniku predlagala pet novih prenosnih funkcij, med katerimi je uporabnik lahko izbiral. Z generiranjem teh prenosnih funkcij smo uporabniku olajˇsali postopek upodabljanja volumnov, saj je uporabnik z izbiro nove prenosne funkcije lahko izboljˇsal kvaliteto upodobitve ˇzelenega volumna.

Prednosti naˇsega modela za generiranje prenosnih funkcij je veˇc. Sama upo-raba modela preko pripadajoˇcega vmesnika v ogrodju VPT je hitra in uporabniku lahko razumljiva. Integracija modela v spletne aplikacije je enostavna. Model je uˇcinkovit pri generiranju prenosnih funkcij za zaˇcetno upodobitev volumna, saj lahko uporabnik z enim klikom gumba volumen izriˇse dovolj kvalitetno, da pred-stavi vse njegove pomembne dele. Na tak naˇcin model povpreˇcnemu uporabniku pomaga pri upodobitvah volumnov. Model ni omejen na izkljuˇcno eno preno-sno funkcijo, ampak ob vsaki spremembi prenosne funkcije generira pet novih, ki izriˇsejo volumen na razliˇcen naˇcin. Pomanjkljivosti modela sta predvsem pre-velika odvisnost od shranjenih prenosnih funkcij in generiranje takih funkcij, ki izboljˇsajo kvaliteto upodobitve z izpostavljanjem doloˇcenih delov volumna. V doloˇcenih primerih je model sposoben generirati tudi take prenosne funkcije,

ven-40 Sklepne ugotovitve

dar so te velikokrat nekvalitetne in poslabˇsajo upodobitev volumna.

Model bi lahko izboljˇsali na veˇc naˇcinov. Uporabniˇski vmesnik bi lahko po-sodobili, da bi za vsako prenosno funkcijo prikazal predogled upodobitve, ki bi uporabniku olajˇsal izbiro prenosne funkcije. Model bi lahko prilagodili, da bi prenosne funkcije z veˇc barvnimi polji obravnaval neodvisno od drugih in jih ne bi razbijal na veˇc funkcij. V modelu bi lahko prilagodili uporabo metode PCA za izbiranje kvalitetnih prenosnih funkcij. Zbiranje podatkov, na osnovi katerih je deloval model, bi lahko prepustili ekspertom in ne navadnim uporabnikom. Kva-liteta modela je tudi preveˇc odvisna od kvalitete shranjenih podatkov, na katerih je zgrajen.

Model je tako za doloˇcene skupine uporabnikov uˇcinkovito orodje za izbiranje prenosnih funkcij pri upodabljanju volumnov. Metoda PCA se je v doloˇcenih primerih izkazala za primeren postopek pri analizi in generiranju prenosnih funk-cij. Zaradi pomanjkljivosti pri doloˇcenih primerih uporabe bi bilo treba uporabo metode prilagoditi, da bi ustrezala vsem zahtevam uporabnikov pri upodablja-nju volumnov. Model in pripadajoˇce ogrodje za volumetriˇcno upodabljanje lahko sluˇzita kot dobra iztoˇcnica za nadaljnje delo in analizo generiranja prenosnih funkcij.

Literatura

[1] V. p. T. w. F. Hofmann, “created vector graphics version of original file.” Dosegljivo: https://commons.wikimedia.org/w/index.php?curid=

14521474, mar. 2011. [Dostopano: 27. 08. 2021].

[2] “What is Computer Graphics? [Online].” Dosegljivo: http://www.

graphics.cornell.edu/online/tutorial/. [Dostopano: 15. 08. 2021].

[3] R. A. Drebin, L. Carpenter in P. Hanrahan, “Volume rendering,” ACM Si-ggraph Computer Graphics, vol. 22, no. 4, str. 65–74, 1988.

[4] T. He, L. Hong, A. Kaufman in H. Pfister, “Generation of transfer functions with stochastic search techniques,” v Proceedings of Seventh Annual IEEE Visualization’96, str. 227–234, IEEE, 1996.

[5] G. Kindlmann in J. W. Durkin, “Semi-automatic generation of transfer func-tions for direct volume rendering,” v IEEE Symposium on Volume Visuali-zation (Cat. No. 989EX300), str. 79–86, IEEE, 1998.

[6] J. L. Prauchner, C. M. Freitas in J. L. D. Comba, “Two-level interaction approach for transfer function specification,” v XVIII Brazilian Symposium on Computer Graphics and Image Processing (SIBGRAPI’05), str. 265–272, IEEE, 2005.

[7] C. D. Correa in K.-L. Ma, “Visibility-driven transfer functions,” v2009 IEEE Pacific Visualization Symposium, str. 177–184, IEEE, 2009.

[8] R. Maciejewski, I. Woo, W. Chen in D. Ebert, “Structuring feature space:

A non-parametric method for volumetric transfer function generation,”

IEEE Transactions on Visualization and Computer Graphics, vol. 15, no. 6, str. 1473–1480, 2009.

42 Literatura

[9] P. Sereda, A. Vilanova in F. A. Gerritsen, “Automating transfer function design for volume rendering using hierarchical clustering of material boun-daries.,” v EuroVis, str. 243–250, 2006.

[10] H.-C. Wong, U.-H. Wong in Z. Tang, “Direct volume rendering by transfer function morphing,” v 2009 7th International Conference on Information, Communications and Signal Processing (ICICS), str. 1–4, IEEE, 2009.

[11] J. Zhou in M. Takatsuka, “Automatic transfer function generation using con-tour tree controlled residue flow model and color harmonics,”IEEE Transac-tions on Visualization and Computer Graphics, vol. 15, no. 6, str. 1481–1488, 2009.

[12] O. Sharma, T. Arora in A. Khattar, “Graph-based transfer function for volume rendering,” v Computer Graphics Forum, vol. 39, str. 76–88, Wiley Online Library, 2020.

[13] ˇZ. Lesar, C. Bohak in M. Marolt, “Real-time interactive platform-agnostic volumetric path tracing in webgl 2.0,” vProceedings of the 23rd International ACM Conference on 3D Web Technology, str. 1–7, 2018.

[14] “WebGL Overview - The Khronos Group Inc [Online].” Dosegljivo: https:

//www.khronos.org/webgl/. [Dostopano: 16. 08. 2021].

[15] D. Weiskopf,GPU-based interactive visualization techniques. Springer, 2007.

[16] M. Owens, The Definitive Guide to SQLite. Apress, dec. 2006. Google-Books-ID: VsZ5bUh0XAkC.

[17] “Datatypes In SQLite Version 3 [Online].” Dosegljivo: https://www.

sqlite.org/datatype3.html. [Dostopano: 16. 08. 2021].

[18] K. Pearson, “Liii. on lines and planes of closest fit to systems of points in space,” The London, Edinburgh, and Dublin philosophical magazine and journal of science, vol. 2, no. 11, str. 559–572, 1901.

[19] F. Pedregosa, G. Varoquaux, A. Gramfort, V. Michel, B. Thirion, O. Grisel, M. Blondel, P. Prettenhofer, R. Weiss, V. Dubourg, J. Vanderplas, A. Passos,

Literatura 43

D. Cournapeau, M. Brucher, M. Perrot in E. Duchesnay, “Scikit-learn: Ma-chine learning in Python,” Journal of Machine Learning Research, vol. 12, str. 2825–2830, 2011.

[20] “XMLHttpRequest - Web APIs | MDN [Online].” Dosegljivo: https://

developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest.