• Rezultati Niso Bili Najdeni

tehnologijami. Aplikacijo VPT lahko poslediˇcno priredimo, da bo sluˇzila po-trebam tega diplomskega dela. Uporabili smo jo kot aplikacijo, ki je v ozadju zbirala in shranjevala podatke o prenosnih funkcijah, kot tudi konˇcno aplikacijo, ki je uporabniku predlagala nove prenose funkcije na podlagi ˇze zbranih.

3.3 Podatkovna baza SQLite

Naslednji korak diplomskega dela je shranjevanje podatkov o prenosnih funkci-jah. To smo storili s pomoˇcjo sistema podatkovnih baz SQLite. Gre za relacijsko podatkovno bazo s preprosto integracijo v spletnih aplikacijah. ˇCeprav v sistemu SQLite obstajajo pomanjkljivosti glede integritete podatkov [16], to ni predsta-vljalo teˇzav z naˇsim aplikacijo.

SQLite za svoje delovanje ne potrebuje samostojnega procesa, ampak se vkljuˇci v obstojeˇci proces, kjer poteka zbiranje podatkov. V naˇsem primeru smo knjiˇznico, potrebno za delovanje baze SQLite, namestili v ogrodje NodeJS z upo-rabo npm (angl. node package manager). Za pravilno delovanje podatkovne baze smo potrebovali tudi datoteko, v katero je SQLite shranjeval podatke o prenosnih funkcijah. Ti so lahko ˇstirih tipov [17], poleg praznega tipa NULL:

1. INTEGER, ki predstavlja cela ˇstevila,

2. REAL, ki predstavlja 8-bitna racionalna ˇstevila po standardu IEEE,

3.4 Metoda glavnih komponent 9

3. STRING, ki predstavlja niz znakov, kodiran po standardih UTF, 4. BLOB, ki shrani podatke v takˇsnem tipu, kot so bili vanj vneseni.

SQLite za laˇzji pregled podatkov vsem zapisom privzeto dodeli tudi ˇstevilˇcni identifikator.

3.4 Metoda glavnih komponent

Metoda glavnih komponent je postopek, na podlagi katerega smo osnovali mo-del za generiranje prenosnih funkcij. Metoda PCA je definirana kot ortogonalna linearna transformacija, ki izbrano skupino podatkov preslika v nov koordinatni sistem [18]. Ideja preslikave je, da originalnihn spremenljivk opiˇsemo zmnovimi spremenljivkami. Te spremenljivke so definirane kot linearne kombinacije starih, izbrane pa so le tiste linearne kombinacije spremenljivk, ki kar najbolje opisujejo razprˇsenost originalnih podatkov. S tem pristopom zmanjˇsevanja dimenzionalno-sti lahko originalne podatke opiˇsemo z manj parametri s karseda majhno izgubo informacij. PCA se uporablja za vizualizacijo in analizo podatkov kot tudi za obdelavo veˇcdimenzionalnih skupin podatkov v mnogih raziskovalnih podroˇcjih.

V naˇsem primeru smo metodo PCA uporabili za analizo prenosnih funkcij za volumetriˇcno upodabljanje. Prenosne funkcije, generirane s programom VPT, imajo veˇc parametrov, ki jih uporabniki lahko spreminjajo (vrednosti RGBA za opisovanje barv, koordinate poloˇzaja barvnih polj in njihove dimenzije v oseh x in y). V naˇsem delu smo metodo PCA uporabili za zmanjˇsanje ˇstevila parametrov prenosnih funkcij za laˇzjo primerjavo in analizo. Iz praktiˇcnega staliˇsˇca je analizo veˇcjega ˇstevila podatkov najlaˇzje implementirati s programskim jezikom Python, ki vsebuje veˇcje ˇstevilo specializiranih knjiˇznic za laˇzjo izpeljavo takˇsnega po-stopka. V naˇsem primeru smo uporabili knjiˇznico sklearn [19], ki vsebuje funkcije

10 Metode in orodja

4 Izdelava uporabniˇ skega vmesnika in aplikacije za zbiranje podatkov

4.1 Uvod

V tem poglavju je predstavljena izdelava uporabniˇskega vmesnika in aplikacije za zbiranje podatkov o prenosnih funkcijah. Z uporabo aplikacije so uporabniki ustvarili zalogo prenosnih funkcij, na osnovi katere je deloval model. Ker smo se odloˇcili za uporabo ogrodja VPT, je bilo treba obstojeˇco aplikacijo prilagoditi, da je ustrezala naˇsim potrebam po shranjevanju prenosnih funkcij v podatkovno bazo SQLite.

Za zaˇcetek smo prilagodili uporabniˇski vmesnik aplikacije, saj je bil ta za pov-preˇcnega uporabnika preveˇc zapleten. Potrebovali smo preprostejˇsi vmesnik, zato smo obstojeˇci vmesnik prilagodili tako, da smo obdrˇzali le njegove najnujnejˇse gradnike. Poskrbeli smo za samodejno nalaganje volumnov v aplikacijo, kar nam je omogoˇcilo laˇzje in hitrejˇse pridobivanje podatkov o prenosnih funkcijah. V aplikaciji VPT smo tudi popravili veˇc napak, ki so slabˇsale uporabniˇsko izkuˇsnjo.

Aplikaciji smo dodali funkcionalnosti, s katerimi smo omogoˇcili poˇsiljanje po-datkov o prenosni funkciji na streˇznik v podatkovno bazo SQLite. Spremenjeno aplikacijo smo naloˇzili na javni streˇznik in povezavo do nje poslali uporabnikom.

Po veˇc dnevih zbiranja rezultatov smo imeli prenosnih funkcij dovolj, da smo na njihovi podlagi lahko izdelali model za generiranje prenosnih funkcij (glej poglavje 5).

12 Izdelava uporabniˇskega vmesnika in aplikacije za zbiranje podatkov

4.2 Pregled zaˇ cetne razliˇ cice aplikacije

V svoji prvotni obliki lahko aplikacijo VPT namestimo s pomoˇcjo NodeJS in za-gonom dveh priloˇzenih skript, ki sta se nahajali v mapi bin glavnega repozitorija, to sta packer.js in server-node.js. Datoteka packer.js ob zagonu iz izvornih da-totek zgradi aplikacijo in jo shrani v mapo build v korenski mapi repozitorija.

Vse izvorne datoteke se nahajajo v mapi src, kjer so razdeljene po mapah glede na vloge, ki jih imajo. Ob zagonu datoteke server-node.js se na trenutni napravi vzpostavi lokalna spletna aplikacija, ki jo lahko obiˇsˇcemo s pomoˇcjo spletnega brskalnika na naslovu localhost:3000.

Aplikacija VPT sama po sebi ne vsebuje nobenih datotek z volumni, zato prikaˇze le ˇcrno polje. Volumen uporabnik naloˇzi sam, kar lahko stori preko vme-snika na levi strani. Volumen se lahko naloˇzi neposredno z datoteko, ki volu-men vsebuje, ali pa na daljavo preko naslova URL. Aplikacija ponuja tudi tretjo moˇznost, oznaˇceno z Demo, kjer lahko uporabnik izbira iz seznama vnaprej pri-pravljenih volumnov. Za delovanje te funkcionalnosti mora biti prisotna datoteka demo-volumes.json, ki deluje kot seznam priloˇzenih volumnov v mapi build. De-lovanje aplikacije prikazuje slika 4.1.

Uporabniˇski vmesnik ima 3 zavihke, med katerimi lahko uporabnik izbira.

Privzeto se najprej pokaˇze zavihek Data, kjer uporabnik naloˇzi ˇzeleni volumen.

Zavihek Settings, prikazan na levi strani slike 4.1 vsebuje vsa orodja, s katerimi lahko uporabnik spreminja izgled volumna, vkljuˇcno z orodjem za doloˇcanje in spreminjanje prenosne funkcije. Zadnji zavihek About vsebuje informacije o apli-kaciji in za njeno delovanje ne predstavlja bistvene vloge. Uporabniˇski vmesnik lahko uporabnik tudi skrije s pomoˇcjo gumbov ob robovih vmesnika.

4.3 Odstranjevanje elementov uporabniˇ skega vmesnika

Vmesnik smo se odloˇcili prilagoditi tako, da se bo uporabnik osredotoˇcil le na spreminjanje prenosne funkcije. Iz tega razloga smo iz uporabniˇskega vmesnika odstranili vse elemente razen orodja za spreminjanje prenosne funkcije. To smo naredili s spreminjanjem izvornih datotek MainDialog.json in

MCMRendererDia-4.4 Nalaganje volumnov 13