Sparse Data Structures for Molecular Visualization
Total Page:16
File Type:pdf, Size:1020Kb
Hierarchical Multi-resolution Data Structure forMolecular Visualization DIPLOMA THESIS submitted in partial fulfillmentofthe requirements forthe degree of Diplom-Ingenieurin in Visual Computing by Milena Nowak, BSc Registration Number 0927584 to the Faculty of Informatics at the TU Wien Advisor: Prof.Dipl.-Ing. Dr.techn. Stefan Bruckner Vienna, 27th July,2020 Milena Nowak Stefan Bruckner Technische UniversitätWien A-1040 Wien Karlsplatz 13 Tel. +43-1-58801-0 www.tuwien.ac.at Erklärungzur Verfassungder Arbeit Milena Nowak, BSc Speckbachergasse 13, 1160 Wien Hiermit erkläreich,dass ichdieseArbeit selbständig verfasst habe, dassich dieverwen- detenQuellenund Hilfsmittel vollständig angegebenhabeund dassich dieStellender Arbeit–einschließlichTabellen, Karten undAbbildungen –, die anderenWerken oder dem InternetimWortlaut oder dem Sinn nach entnommen sind, auf jeden Fall unter Angabeder Quelle als Entlehnung kenntlich gemacht habe. Wien, 27. Juli 2020 Milena Nowak iii Acknowledgements There is areasonthe first person who receives thanks is generally the person who supervised the thesis. In Norwegian,the role is described as "leading theway"towards finishingadegree. Thatjob, it turnsout,involves alot of work. Therefore, Iwouldfirst and foremostliketothank StefanBrucknerfor his patience and clarity. But academicsupport is notthe onlykind needed,somythanks alsogotoMarte, who’s companymade long workinghoursduring short autumndaysalot more pleasant, and Rebecca, for her invaluable moral support and feedback. Iwould also like to thank everyone who madeitpossiblefor me to spendmost of my degree in Bergen, as well as my family formaking it clear that Ihavetheir support -and ahome -nomatter whereIam. v Kurzfassung Biomolekulare Datensätzesind nicht nurkomplex,sie wachsen auchmit der Entwicklung des Forschungsgebietes. Um ihre Eigenschaften zu erforschen, verwendenExperten un- ter anderemdreidimensionale Modelle der Datensätze,die ausMillionen individueller Moleküle bestehen. Beider visuellen Analyse derModelle kann es außerdem hilfreich sein, durchverschiedene Darstellungsformenstrukturelle Eigenschaften zur Geltungzu bringen. Daher gibteseinen Bedarf an flexiblenDatenstrukturen,die es ermöglichten, effizientmit solche Datensätze zu arbeiten. Vorhandene Lösungsansätze im Bereich großer, aufPunktwolken aufbauender Datensätze verwenden in den meisten Fällen rasterbasierte Strukturen in verschiedenen Auflösungen. AnderePublikation konzentrieren sichdagegenauf die Verbesserungder Oberflächendar- stellung,oder auf sichwiederholendeStrukturen innerhalb großer Datensätze. Wirschlagen eine Octree Datenstruktur vor, die die Daten räumlichsoaufteilt, dass jeder Datenblock eine ähnliche Menge Datenpunktebeinhaltet, undmehrere, interpo- lierbaren Auflösungsstufenzur Verfügung .Der Aufbau der Datenstruktur erfolgt in einem Vorverarbeitungsschritt,dessen Resultat gespeichert wird,und daher nurein Mal nötigist.Zusätzlicheffektivierenwir die Darstellungdurchdie Verwendung eines Least RecentlyUsed Cache, derdas LadensichtbarerDatenblöcke verwaltet, und durch perspektivenabhängige Detaildarstellung. In unserer Auswertungzeigen wir,dass insbesonderedas Anpassendes dargestellten Detailgrades die Frameratensignifikant erhöht. Die Kombination einerhöheren Auflösung im Vordergrund, beigleichzeitiger Reduktionder Daten im Hintergrund,erhöht die Geschwindigkeit deutlich, ohne, dass dievisuelle Qualitätbeeinträchtig wird. Durch die Optionen, Detailszureduzierenund nurDatenblöcke zu laden, die im Blickfeld der Kamera sind,wird es möglich, Datensätze anzuzeigen,die ansonsten die Kapazität der uns zur VerfügungstehendenRessourcen überlastenwürden.Der Vorteil der auf der Dichtedes Datensatzes basierenden räumlichen AufteilungimGegensatz zu einer regelmäßigen Aufteilung zeigtsichbesondersbei derVerwendung vonAlgorithmen, die beider Berechnung Nachbarschaften in Betracht ziehen. Daskönnte insbesondere bei der Implementierung einesSolventExcluded Surface (SES) Oberflächenmodelles, einer der wichtigsten,aberrechnerischaufwändigen,Darstellungsformen solcher Datensätze, vongroßemVorteilsein. Die vonuns vorgeschlagene Datenstrukturist für Datensätze optimiert,die mehrere Millionen Punkte in einemeinzigen Zeitschritt beinhalten. vii Abstract The complexityofbiomoleculardatasetsisboth high, andstill rising. Three-dimensional models of moleculesare used in researchtotest and investigatetheirproperties. Such models canconsist of several millions of atoms. Additionally,visual enhancementmethods and molecular surfacemodels are helpfulwhenvisualizing molecules.There is therefore a demand for efficientand flexible data structures to accommodatesuchlarge point-based data sets. Existing solutions in the fieldofmolecular visualization for large datasets include the use of, in most cases, regular grid-baseddata structures, as well as levels of detail. Other papers focus on repeating structures or improvingthe efficiency of surface models. We propose an octree-based data structure thatdivides space into areas of similardensity, and provides several levels of detail. Our approachisoptimized forasingletime-step, moving much of thecomputational overhead into apre-processing step.This allows us to speed up frame rates for interactivevisualizations usingvisibilityculling, leastrecently used caching based on the pre-built octreedata structure,and levelofdetail solutions such as depth-basedlevel of detail rendering. In our evaluation, we showthatlevel of detailrendering significantly improvesframe rates, especially in the case of distance-based level of detail selection while keepingthe amount of detailsinthe foregroundhigh. Both the possibilitytoreducethe resolutionand the caching strategythat allows us to only upload visible parts of the data setmakeitpossible to render datasets thatpreviously exhausted thecapacities of our test set-up.Wefound themain advantage of adensitybased octree, insteadofaregular divisionofspace, to be in neighbourhood-based calculations,suchasthe clustering algorithm required to build levels of detail. This could prove particularlyuseful forthe implementation of aSolvent Excluded Surface(SES) representation model,whichwouldbeanimportantfeature to include when developingthe framework further. ix Contents Kurzfassung vii Abstract ix Contentsxi 1Introduction1 1.1 Background ................................... 2 1.2 Motivation................................... 4 1.3 Contribution ..................................5 1.4 Structure....................................5 2State of the Art 7 2.1 Frameworks andSystems forthe Visualization of Biomolecular Data... 7 2.2 Rendering of Point-based Data ........................11 2.3 Methods forHandling Large Point-based Data Sets .............14 2.4 Biomolecular Representation Modelsand EnhancementMethods..... 21 2.5 Summary and Conclusion ........................... 23 3Data Structure25 3.1 Overview of the Components for CPU DataHandling........... 26 3.2 The OctreeDataStructure ..........................27 3.3 Summary and Conclusion ........................... 37 4Rendering39 4.1 Managing and Rendering the Octree DataStructure ............39 4.2 SmoothlyBlendingBetween LODs ...................... 47 4.3 Molecular Surface Rendering ......................... 50 4.4 Visual Enhancementfor Molecular Rendering ................54 4.5 Summary and Conclusion ........................... 59 5Implementation 61 5.1 Libraries ..................................... 62 5.2 Implementation Choices............................ 63 xi 6Results 67 6.1TestData ....................................67 6.2Configuring and Pre-processing the Data Structure ............. 67 6.3Rendering....................................70 6.4Enhancement Methods............................. 80 6.5Conclusion and Comparison to Similar Solutions .............. 83 7Discussion 91 8Conclusion 95 List of Figures 97 List of Tables99 Bibliography101 CHAPTER 1 Introduction Theart andscience of visualization itselflong predates the field of visualcomputing. Withinliterature,severalvarying definitions of theterm visualization exist.Broadly speaking, visualization could be described as themeaningful transformation of data or information into graphical representations.More specifically,according to Senay and Ignatius[SI94], "Theprimary objectiveindata visualization is to gain insight into an information space by mapping dataontographicalprimitives." The necessary ingredients are therefore data thatyou want to explore or explain, suitable toolsto achievethe desired illustration or rendering, and of coursecertain skills andknowledge to do itsuccessfully.Traditional visualization techniquesgenerally rely on hand-drawn 2D illustrations.Possiblythe most well-known historicalexample of 2D visualizationis an 1869 graphicbyCharles JosephMinard showninFigure 1.1a. It depicts the marchof Napoleon’s army into Russia in 1812and 1813, and according to Tufte [Tuf83],"It may well be the best statistical graphiceverproduced.” The same frameworksand techniquesthatare used to communicate patternsorinteresting featuresinadata set, canoftenalsobeused to explore data. The term scientific visualization often referstoaspecific type of datavisualization, created in order to communicate or explore data obtained in ascientificfield.Senayand Ignatius [SI94]focus theirdefinitiononthe aspect of exploration, statingthat"Scientific data visualization supportsscientists andrelations, to prove or disprovehypotheses, anddiscovernew phenomena using graphical techniques."Anothersimilarly famous historicalvisualization, the mapofthe choleraoutbreakinLondon