Abschlussvortrag zur Diplomarbeit von Frank Bergmann · 9/29/2004 Frank Bergmann...

Post on 18-Aug-2019

215 views 0 download

Transcript of Abschlussvortrag zur Diplomarbeit von Frank Bergmann · 9/29/2004 Frank Bergmann...

Johann Wolfgang Goethe UniversitätFrankfurt am MainFachbereich Biologie und Informatik (15)Lehrstuhl für Graphische Datenverarbeitung

Abschlussvortrag zur Diplomarbeit Abschlussvortrag zur Diplomarbeit von Frank Bergmannvon Frank Bergmann

Konfiguration, Simulation und Visualisierung Konfiguration, Simulation und Visualisierung von einfachen, dreidimensionalen von einfachen, dreidimensionalen

ReaktionsdiffusionssystemenReaktionsdiffusionssystemen

9/29/20049/29/2004Frank Bergmann Frank Bergmann

frank_bergmann@kgi.edufrank_bergmann@kgi.edu 2 / 342 / 34

ÜberblickÜberblick

EinleitungEinleitung•• MotivationMotivation•• Ziel der ArbeitZiel der Arbeit

GrundlagenGrundlagenKonzeptKonzeptRealisierungRealisierungZusammenfassungZusammenfassungAusblickAusblickDemonstrationDemonstration

9/29/20049/29/2004Frank Bergmann Frank Bergmann

frank_bergmann@kgi.edufrank_bergmann@kgi.edu 3 / 343 / 34

EinleitungEinleitungIn biologischen Systemen diffundieren und In biologischen Systemen diffundieren und interagieren Moleküle innerhalb eines interagieren Moleküle innerhalb eines abgeschlossenen Reaktionsvolumensabgeschlossenen ReaktionsvolumensAus solchen Systemen sind im Laufe der Zeit so Aus solchen Systemen sind im Laufe der Zeit so komplexe Strukturen wie lebende Zellen komplexe Strukturen wie lebende Zellen entstandenentstandenMotivation:Motivation:•• Simulation / Visualisierung von Simulation / Visualisierung von ReaktionsdiffusionsReaktionsdiffusions--

systemensystemen verspricht Erkenntnisse bei der Untersuchung verspricht Erkenntnisse bei der Untersuchung von räumlichen Effekten in von räumlichen Effekten in metabolischenmetabolischen ProzessenProzessen

•• Damit kann ein besseres Verstehen und Verfolgen der Damit kann ein besseres Verstehen und Verfolgen der Entstehung von dreidimensionalen Mustern erreicht Entstehung von dreidimensionalen Mustern erreicht werdenwerden

9/29/20049/29/2004Frank Bergmann Frank Bergmann

frank_bergmann@kgi.edufrank_bergmann@kgi.edu 4 / 344 / 34

Ziel dieser ArbeitZiel dieser ArbeitZiel der Arbeit ist die Spezifikation und Ziel der Arbeit ist die Spezifikation und prototypische Implementierung:prototypische Implementierung:•• Konfigurationstools:Konfigurationstools:

zur Definition der Verteilung unterschiedlicher zur Definition der Verteilung unterschiedlicher Molekülkonzentrationen, Membranen und Kanäle im Molekülkonzentrationen, Membranen und Kanäle im ReaktionsvolumenReaktionsvolumen

•• 3D 3D –– Simulationsalgorithmus (PDE Simulationsalgorithmus (PDE SolverSolver):):zur Simulation einfacher dreidimensionaler zur Simulation einfacher dreidimensionaler ReaktionsdiffusionssystemeReaktionsdiffusionssysteme

•• 3D Visualisierungskomponente:3D Visualisierungskomponente:Zur Darstellung der SimulationsergebnisseZur Darstellung der SimulationsergebnisseMit Untersuchung ob eine 3DMit Untersuchung ob eine 3D--Visualisierung während Visualisierung während der Laufzeit der Simulation durchgeführt werden der Laufzeit der Simulation durchgeführt werden kann. kann.

9/29/20049/29/2004Frank Bergmann Frank Bergmann

frank_bergmann@kgi.edufrank_bergmann@kgi.edu 5 / 345 / 34

ÜberblickÜberblickEinleitungEinleitungGrundlagenGrundlagen•• ReaktionsdiffusionssystemeReaktionsdiffusionssysteme•• VolumenvisualisierungVolumenvisualisierung•• Systems Biology Workbench (SBW)Systems Biology Workbench (SBW)

KonzeptKonzeptRealisierungRealisierungZusammenfassungZusammenfassungAusblickAusblickDemonstrationDemonstration

9/29/20049/29/2004Frank Bergmann Frank Bergmann

frank_bergmann@kgi.edufrank_bergmann@kgi.edu 6 / 346 / 34

ReaktionReaktion--DiffusionDiffusionIn Ansammlungen von Elementen In Ansammlungen von Elementen bewegen sich die einzelnen Elemente in bewegen sich die einzelnen Elemente in zufälliger Weise (Brownsche Bewegung).zufälliger Weise (Brownsche Bewegung).Durch diese zufälligen Bewegungen Durch diese zufälligen Bewegungen breiten sich die Elemente aus.breiten sich die Elemente aus.Resultiert diese Bewegung der einzelnen Resultiert diese Bewegung der einzelnen Elemente in einer gerichteten Bewegung Elemente in einer gerichteten Bewegung der Gruppe spricht man von der Gruppe spricht man von DiffusionDiffusion. . Falls diese einzelnen Elemente Falls diese einzelnen Elemente miteinander interagieren spricht man nicht miteinander interagieren spricht man nicht mehr von mehr von DiffusionDiffusion, sondern , sondern ReaktionReaktion--DiffusionDiffusion..

9/29/20049/29/2004Frank Bergmann Frank Bergmann

frank_bergmann@kgi.edufrank_bergmann@kgi.edu 7 / 347 / 34

VolumenvisualisierungVolumenvisualisierung

Die Visualisierung von Daten, welche die Die Visualisierung von Daten, welche die dreidimensionale Struktur der Daten dreidimensionale Struktur der Daten erhält, nennt man Volumenvisualisierungerhält, nennt man VolumenvisualisierungÜblicherweise werden Algorithmen zur Üblicherweise werden Algorithmen zur Volumenvisualisierung in drei Kategorien Volumenvisualisierung in drei Kategorien unterteiltunterteilt•• DirectDirect VolumeVolume RenderingRendering (DVR)(DVR)•• InteractiveInteractive MethodsMethods•• SurfaceSurface--FittingFitting AlgorithmsAlgorithms

9/29/20049/29/2004Frank Bergmann Frank Bergmann

frank_bergmann@kgi.edufrank_bergmann@kgi.edu 8 / 348 / 34

Systems Biology Workbench Systems Biology Workbench (SBW)(SBW)

Software Framework das PlattformSoftware Framework das Plattform-- und und Sprachübergreifende Kommunikation Sprachübergreifende Kommunikation zwischen Anwendungen ermöglichtzwischen Anwendungen ermöglicht

Durch Durch BindingBinding--LibrariesLibraries ermöglicht SBW ermöglicht SBW den einfachen Zugriff auf Anwendungen den einfachen Zugriff auf Anwendungen unterschiedlichster Art. Im Moment unterschiedlichster Art. Im Moment stehen Simulationsstehen Simulations--, Modellierungs, Modellierungs-- und und Optimierungsmodule zur Verfügung.Optimierungsmodule zur Verfügung.

SBW BrokerSBW BrokerSBW ModuleSBW Module

C++ BindingLibrary

C++ BindingLibrary

SBW ModuleSBW Module

JavaB

indingLibrary

JavaB

indingLibrarySBW BrokerSBW BrokerSBW ModuleSBW Module

C++ BindingLibrary

C++ BindingLibrarySBW ModuleSBW Module

C++ BindingLibrary

C++ BindingLibrary

SBW ModuleSBW Module

JavaB

indingLibrary

JavaB

indingLibrary SBW ModuleSBW Module

JavaB

indingLibrary

JavaB

indingLibrary

9/29/20049/29/2004Frank Bergmann Frank Bergmann

frank_bergmann@kgi.edufrank_bergmann@kgi.edu 9 / 349 / 34

ÜberblickÜberblickEinleitungEinleitungGrundlagenGrundlagenKonzeptKonzept•• KonfigurierungKonfigurierung•• SimulationSimulation•• VisualisierungVisualisierung

RealisierungRealisierungZusammenfassungZusammenfassungAusblickAusblickDemonstrationDemonstration

9/29/20049/29/2004Frank Bergmann Frank Bergmann

frank_bergmann@kgi.edufrank_bergmann@kgi.edu 10 / 3410 / 34

KonzeptKonzeptDreiteilung des Projekts in Konfiguration, Dreiteilung des Projekts in Konfiguration, Simulation und VisualisierungSimulation und Visualisierung

Aufgaben der KonfigurationAufgaben der Konfiguration•• Festlegen des ReaktionsvolumensFestlegen des Reaktionsvolumens•• Auswählen des SimulationsmodusAuswählen des Simulationsmodus•• Einfügen der ElementeEinfügen der Elemente•• Abspeichern der Konfiguration in einem Abspeichern der Konfiguration in einem

StandardformatStandardformat

ConfigurationUnit

ConfigurationUnit

SimulationUnit

SimulationUnit

VisualizationUnit

VisualizationUnit

ConfigurationUnit

ConfigurationUnit

SimulationUnit

SimulationUnit

VisualizationUnit

VisualizationUnit

9/29/20049/29/2004Frank Bergmann Frank Bergmann

frank_bergmann@kgi.edufrank_bergmann@kgi.edu 11 / 3411 / 34

Konzept Konzept –– KonfigurationKonfigurationElementeElemente•• ReaktionsvolumenReaktionsvolumen•• Molekülkonzentrationen der Molekülkonzentrationen der SpeciesSpecies X und X und SpeciesSpecies YY•• MembranenMembranen•• KanäleKanäle

DateiformateDateiformate•• cellMLcellML

Standardisiertes Dateiformat zum Austausch von zellulären und Standardisiertes Dateiformat zum Austausch von zellulären und subzellulären Prozessen subzellulären Prozessen Hauptaugenmerk liegt auf der mathematischen Beschreibung Hauptaugenmerk liegt auf der mathematischen Beschreibung der Modelleder ModelleModell definiert als Netzwerk von wieder verwendbaren Modell definiert als Netzwerk von wieder verwendbaren Komponenten (bestehend aus Variablen und Gleichungen) Komponenten (bestehend aus Variablen und Gleichungen)

•• SBMLSBMLStandardisiertes Dateiformat zum Austausch von biologischen ModeStandardisiertes Dateiformat zum Austausch von biologischen ModellenllenNatives Dateiformat für SBW ModuleNatives Dateiformat für SBW ModuleFokus auf PragmatismusFokus auf Pragmatismus

9/29/20049/29/2004Frank Bergmann Frank Bergmann

frank_bergmann@kgi.edufrank_bergmann@kgi.edu 12 / 3412 / 34

Konzept Konzept –– SimulationSimulationAufgaben der SimulationAufgaben der Simulation•• Einlesen der KonfigurationEinlesen der Konfiguration•• Initialisieren des ReaktionsvolumensInitialisieren des Reaktionsvolumens•• Initialisieren des ReactionPluginsInitialisieren des ReactionPlugins•• Solange nicht abgebrochen wirdSolange nicht abgebrochen wird

Einen Schritt SimulierenEinen Schritt SimulierenAbspeichern / Weitergeben der SimulationsdatenAbspeichern / Weitergeben der Simulationsdaten

Plugin System zur Bereitstellung von Plugin System zur Bereitstellung von unterschiedlichen Simulationsmodiunterschiedlichen Simulationsmodi•• Reine DiffusionReine Diffusion•• Brusselator ReaktionsdiffusionssystemBrusselator Reaktionsdiffusionssystem•• SBW/JarnacSBW/Jarnac

9/29/20049/29/2004Frank Bergmann Frank Bergmann

frank_bergmann@kgi.edufrank_bergmann@kgi.edu 13 / 3413 / 34

Konzept Konzept –– Simulation Simulation –– Plugins Plugins 1 / 31 / 3

Reine DiffusionReine Diffusion•• Nur der Diffusionsteil der ReaktionsNur der Diffusionsteil der Reaktions--

DiffusionsDiffusions--Gleichung wird ausgewertetGleichung wird ausgewertet•• Dies geschieht durch „Nullsetzen“ der Dies geschieht durch „Nullsetzen“ der

Reaktionsgleichungen in der Reaktionsgleichungen in der allgemeinen Gleichung:allgemeinen Gleichung:

3

3

x

y

x rD xty rD yt

∂= ∇

∂∂

= ∇∂

3

3

( , )

( , )

x x

y y

x F x y D xty F x y D yt

∂= + ∇

∂∂

= + ∇∂

9/29/20049/29/2004Frank Bergmann Frank Bergmann

frank_bergmann@kgi.edufrank_bergmann@kgi.edu 14 / 3414 / 34

Konzept Konzept –– Simulation Simulation –– Plugins Plugins 2 / 32 / 3

Brusselator ReaktionsdiffusionssystemBrusselator Reaktionsdiffusionssystem•• Reaktionsdiffusionssystem (nach Reaktionsdiffusionssystem (nach NicolisNicolis et. al 1977) et. al 1977)

bestehend aus zwei Chemikalien welche in vier bestehend aus zwei Chemikalien welche in vier Reaktionen miteinander interagieren:Reaktionen miteinander interagieren:

A A XXB+X B+X Y + DY + D2X+Y 2X+Y 3X3XX X EE

•• Daraus ergeben sich die folgenden Gleichungen für die Daraus ergeben sich die folgenden Gleichungen für die KonzentrationsveränderungenKonzentrationsveränderungen::

( ) 2

2

1 and

rate of change X A B X X Y

rate of change Y BX X Y

= − + +

= −

9/29/20049/29/2004Frank Bergmann Frank Bergmann

frank_bergmann@kgi.edufrank_bergmann@kgi.edu 15 / 3415 / 34

Konzept Konzept –– Simulation Simulation –– PluginsPlugins3 / 33 / 3

SBW/JarnacSBW/Jarnac•• Die Idee hierbei ist eine mittels des Konfigurationstools Die Idee hierbei ist eine mittels des Konfigurationstools

generierte Konfiguration in JDesigner nachzubearbeiten generierte Konfiguration in JDesigner nachzubearbeiten und später durch Jarnac berechnen zu lassenund später durch Jarnac berechnen zu lassen

ConfigurationUnit

ConfigurationUnit

JDesignerJDesigner

SimulationUnit

SimulationUnit

VisualizationUnit

VisualizationUnit

JarnacJarnacR

eactionP

luginR

eactionP

luginSBW

BrokerSBW

Broker

Create an initialConfiguration with the “configuration unit”

Load configuration intoJDesigner and visuallyadd reactions

Simulate altered config.This will invoke Jarnacvia SBW

Visualize the simulationresults with the “visualization unit”

ConfigurationUnit

ConfigurationUnit

JDesignerJDesigner

SimulationUnit

SimulationUnit

VisualizationUnit

VisualizationUnit

JarnacJarnacR

eactionP

luginR

eactionP

luginSBW

BrokerSBW

Broker

Create an initialConfiguration with the “configuration unit”

Load configuration intoJDesigner and visuallyadd reactions

Simulate altered config.This will invoke Jarnacvia SBW

Visualize the simulationresults with the “visualization unit”

9/29/20049/29/2004Frank Bergmann Frank Bergmann

frank_bergmann@kgi.edufrank_bergmann@kgi.edu 16 / 3416 / 34

Konzept Konzept –– Visualisierung 1 / 2Visualisierung 1 / 2Zum Testen, ob eine 3D Visualisierung während der Zum Testen, ob eine 3D Visualisierung während der Durchführung der Simulation möglich/sinnvoll ist, sind zwei Durchführung der Simulation möglich/sinnvoll ist, sind zwei Ausführungsmodi vorgesehen:Ausführungsmodi vorgesehen:•• Online: Visualisierung während der SimulationOnline: Visualisierung während der Simulation•• Offline: Visualisierung von abgespeicherten SimulationsdatenOffline: Visualisierung von abgespeicherten Simulationsdaten

Aufgaben der VisualisierungAufgaben der Visualisierung•• Laden der Konfiguration / Laden der SimulationsdatenLaden der Konfiguration / Laden der Simulationsdaten•• Berechnen und Anzeigen einer ersten Iteration / Anzeigen der Berechnen und Anzeigen einer ersten Iteration / Anzeigen der

ersten abgespeicherten Iterationersten abgespeicherten Iteration•• Abgeben der Kontrolle an den Benutzer:Abgeben der Kontrolle an den Benutzer:

Navigation durch die generierte SzeneNavigation durch die generierte SzeneAutomatisches Abspielen weiterer IterationenAutomatisches Abspielen weiterer IterationenVerändern des Schwellenwertes für den die Szene erstellt wurdeVerändern des Schwellenwertes für den die Szene erstellt wurdeAuswählen einer anderen VisualisierungAuswählen einer anderen Visualisierung„„ClippenClippen“ des Reaktionsvolumen entlang der drei Hauptachsen“ des Reaktionsvolumen entlang der drei Hauptachsen

9/29/20049/29/2004Frank Bergmann Frank Bergmann

frank_bergmann@kgi.edufrank_bergmann@kgi.edu 17 / 3417 / 34

Konzept Konzept –– Visualisierung 2 / 2Visualisierung 2 / 2

Plugin System für verschiedene Plugin System für verschiedene Visualisierung der Simulationsdaten:Visualisierung der Simulationsdaten:•• Umsetzung von Standardalgorithmen Umsetzung von Standardalgorithmen

der Volumenvisualisierungder VolumenvisualisierungMarching Marching CubeCubeMarching TetrahedraMarching TetrahedraTexturePluginTexturePluginOpaqueOpaque CubesCubes

9/29/20049/29/2004Frank Bergmann Frank Bergmann

frank_bergmann@kgi.edufrank_bergmann@kgi.edu 18 / 3418 / 34

ÜberblickÜberblickEinleitungEinleitungGrundlagenGrundlagenKonzeptKonzeptRealisierungRealisierung•• Design des SystemsDesign des Systems•• KonfigurationKonfiguration•• SimulationSimulation•• VisualisierungVisualisierungZusammenfassungZusammenfassungAusblickAusblickDemonstrationDemonstration

9/29/20049/29/2004Frank Bergmann Frank Bergmann

frank_bergmann@kgi.edufrank_bergmann@kgi.edu 19 / 3419 / 34

RealisierungRealisierung

Umsetzung auf der Basis von C++ Umsetzung auf der Basis von C++ erweitert um erweitert um QtQt und OpenSceneGraphund OpenSceneGraphDesign des SystemsDesign des Systems

Configuration UnitConfiguration Unit

Simulation UnitSimulation Unit

DataHandlerDataHandler

Visualization UnitVisualization Unit

Configuration

Configuration

PluginManager

PluginManager

Reaction

Plugins

Reaction

Plugins

VisualizationPlugins

VisualizationP

lugins

Configuration UnitConfiguration Unit

Simulation UnitSimulation Unit

DataHandlerDataHandler

Visualization UnitVisualization Unit

Configuration

Configuration

PluginManager

PluginManager

Reaction

Plugins

Reaction

Plugins

VisualizationPlugins

VisualizationP

lugins

9/29/20049/29/2004Frank Bergmann Frank Bergmann

frank_bergmann@kgi.edufrank_bergmann@kgi.edu 20 / 3420 / 34

Realisierung Realisierung –– Konfiguration 1 / 2Konfiguration 1 / 2

ÜberblickÜberblick•• Spezialisierte Werkzeuge Spezialisierte Werkzeuge

zum Einfügen der zum Einfügen der verschiedenen Elementeverschiedenen Elemente

•• KonfigurationsKonfigurations--Datenstruktur basierend Datenstruktur basierend auf einer auf einer HashmapHashmap von von ElementenElementen

•• SerialisationSerialisation der der Konfiguration als SBML Konfiguration als SBML levellevel 2, erweitert um 2, erweitert um AnnotationsAnnotations welche welche Positionsinformationen Positionsinformationen enthalten, die noch nicht in enthalten, die noch nicht in der SBML Spezifikation der SBML Spezifikation enthalten sind

Configuration UnitConfiguration Unit

InsertToolsInsertTools

SpeciesInsertToolSpeciesInsertTool

MembraneInsertToolMembraneInsertTool

ChannelInsertToolChannelInsertTool

Configuration

Configuration

SBMLSBML

ConfigurationViewer

ConfigurationViewer

Configuration UnitConfiguration Unit

InsertToolsInsertTools

SpeciesInsertToolSpeciesInsertTool

MembraneInsertToolMembraneInsertTool

ChannelInsertToolChannelInsertTool

Configuration

Configuration

SBMLSBML

ConfigurationViewer

ConfigurationViewer

enthalten sind

9/29/20049/29/2004Frank Bergmann Frank Bergmann

frank_bergmann@kgi.edufrank_bergmann@kgi.edu 21 / 3421 / 34

Realisierung Realisierung –– Konfiguration 2 / 2Konfiguration 2 / 2

ProgrammProgramm•• Beachtung von Beachtung von

gängigen Standardsgängigen StandardsDockwindowsDockwindowsTool & Menu BarsTool & Menu BarsStatusleisteStatusleisteDrag & Drop Drag & Drop Unterstützung zum Unterstützung zum Öffnen neuer Öffnen neuer DokumenteDokumenteRecentRecent--FilesFilesApspeichernApspeichern von von Position & Größe des Position & Größe des ProgrammfenstersProgrammfensters

9/29/20049/29/2004Frank Bergmann Frank Bergmann

frank_bergmann@kgi.edufrank_bergmann@kgi.edu 22 / 3422 / 34

Realisierung Realisierung –– SimulationSimulationRealisierung als Realisierung als plattformunabhängiges plattformunabhängiges Kommandozeilenprogramm Kommandozeilenprogramm für größtmögliche für größtmögliche Einsetzbarkeit auf Einsetzbarkeit auf verschiedenen Systemenverschiedenen SystemenVerschiedene Verschiedene Operationsmodi:Operationsmodi:•• Initialisierung von Initialisierung von

KonfigurationsdateiKonfigurationsdatei•• Initialisierung von Initialisierung von

vorherigem Simulationslaufvorherigem Simulationslauf•• Abänderung einer laufenden Abänderung einer laufenden

Simulation durch Angabe Simulation durch Angabe einer neuen einer neuen Konfigurationsdatei

Simulation UnitSimulation Unit

Configuration

Configuration

PluginManagerPluginManager

Simulation CoreSimulation Core

DataHandlerDataHandler

ReactionPluginsReactionPlugins

VisualizationUnit

VisualizationUnit

Simulation UnitSimulation Unit

Configuration

Configuration

PluginManagerPluginManager

Simulation CoreSimulation Core

DataHandlerDataHandler

ReactionPluginsReactionPlugins

VisualizationUnit

VisualizationUnit

Konfigurationsdatei

9/29/20049/29/2004Frank Bergmann Frank Bergmann

frank_bergmann@kgi.edufrank_bergmann@kgi.edu 23 / 3423 / 34

Realisation Realisation -- Visualisierung 1 / 3Visualisierung 1 / 3OnlineOnline-- und und OfflineOffline--ModusModusunterscheiden sich unterscheiden sich hauptsächlich in der hauptsächlich in der Ansteuerung des Ansteuerung des DataHandlersDataHandlers. Entweder . Entweder wird dieser durch den wird dieser durch den Simulator gefüllt, oder es Simulator gefüllt, oder es werden Simulationsdaten werden Simulationsdaten früherer Simulationen in ihn früherer Simulationen in ihn geladen.geladen.Die Programmoberfläche Die Programmoberfläche wurde möglichst einheitlich wurde möglichst einheitlich zur „zur „configurationconfiguration unitunit“ “ gehalten. Mit der gleichen gehalten. Mit der gleichen Unterstützung der gängigen Unterstützung der gängigen Windows Features. Windows Features.

Visualization UnitVisualization Unit

Configuration

Configuration

DataH

andlerD

ataHandler

PluginM

anagerP

luginManager

VisualizationP

luginsV

isualizationPlugins

VisualizationV

iewer

VisualizationV

iewer

Simulation UnitSimulation Unit

Visualization UnitVisualization Unit

Configuration

Configuration

DataH

andlerD

ataHandler

PluginM

anagerP

luginManager

VisualizationP

luginsV

isualizationPlugins

VisualizationV

iewer

VisualizationV

iewer

Simulation UnitSimulation Unit

9/29/20049/29/2004Frank Bergmann Frank Bergmann

frank_bergmann@kgi.edufrank_bergmann@kgi.edu 24 / 3424 / 34

Realisation Realisation -- Visualisierung 2 / 3Visualisierung 2 / 3

SimpleCubePlugin PointCloudPlugin

MarchingCubePlugin MarchingTetrahedronPlugin

ComboPlugin

TexturePlugin

SimpleCubePlugin PointCloudPlugin

MarchingCubePlugin MarchingTetrahedronPlugin

ComboPluginComboPlugin

TexturePluginTexturePlugin

9/29/20049/29/2004Frank Bergmann Frank Bergmann

frank_bergmann@kgi.edufrank_bergmann@kgi.edu 25 / 3425 / 34

Realisation Realisation -- Visualisierung 3 / 3Visualisierung 3 / 3

9/29/20049/29/2004Frank Bergmann Frank Bergmann

frank_bergmann@kgi.edufrank_bergmann@kgi.edu 26 / 3426 / 34

Probleme & LimitationenProbleme & Limitationen3D Simulation & Visualisierung3D Simulation & Visualisierung•• Große Anzahl von ElementenGroße Anzahl von Elementen

viele Berechnungenviele Berechnungenviel Speicherplatz benviel Speicherplatz benöötigttigtSomit ist selbst auf aktuellen Computern höchstens die SimulatioSomit ist selbst auf aktuellen Computern höchstens die Simulation und n und Visualisierung von Visualisierung von ReaktionvolumenReaktionvolumen bis zu 200x200x200 sinnvoll möglich. bis zu 200x200x200 sinnvoll möglich.

QtQt--MultithreadingMultithreading•• Die Idee war die Generierung der Szene durch die einzelnen PlugiDie Idee war die Generierung der Szene durch die einzelnen Plugins in einen ns in einen

separaten separaten ThreadThread auszulagern. auszulagern. •• Durch die Verwendung des Durch die Verwendung des QProgressDialogsQProgressDialogs hätte dann die Generierung der hätte dann die Generierung der

Szene einfach abgebrochen werden können, falls sie zu viel Zeit Szene einfach abgebrochen werden können, falls sie zu viel Zeit und Ressourcen und Ressourcen verbraucht hätte. Dieser Dialog hätte nur erscheinen sollen, nacverbraucht hätte. Dieser Dialog hätte nur erscheinen sollen, nach dem eine h dem eine einstellbare Zeitspanne überschritten wurde. einstellbare Zeitspanne überschritten wurde.

SBWSBW--PerformancePerformance•• Durch die interne Durch die interne MessageMessage Struktur von SBW musste für jede Berechnung eine Struktur von SBW musste für jede Berechnung eine

Nachricht vom Simulator über den Broker an Jarnac gesendet werdeNachricht vom Simulator über den Broker an Jarnac gesendet werden. n. •• Das führte im Endeffekt zu immens hohen Laufzeiten, selbst für kDas führte im Endeffekt zu immens hohen Laufzeiten, selbst für kleine leine

Reaktionsvolumen. Reaktionsvolumen.

9/29/20049/29/2004Frank Bergmann Frank Bergmann

frank_bergmann@kgi.edufrank_bergmann@kgi.edu 27 / 3427 / 34

ÜberblickÜberblick

EinleitungEinleitungGrundlagenGrundlagenKonzeptKonzeptRealisierungRealisierungZusammenfassungZusammenfassungAusblickAusblickDemonstrationDemonstration

9/29/20049/29/2004Frank Bergmann Frank Bergmann

frank_bergmann@kgi.edufrank_bergmann@kgi.edu 28 / 3428 / 34

ZusammenfassungZusammenfassungDas Ziel der Konfiguration, Simulation und Visualisierung Das Ziel der Konfiguration, Simulation und Visualisierung einfacher, dreidimensionaler Reaktionsdiffusionssysteme einfacher, dreidimensionaler Reaktionsdiffusionssysteme konnte erreicht werden. konnte erreicht werden. Zwar mussten etliche vereinfachende Annahmen getroffen Zwar mussten etliche vereinfachende Annahmen getroffen werden, diese erlaubten aber eine hilfreiche Visualisierung werden, diese erlaubten aber eine hilfreiche Visualisierung von Reaktionsdiffusionsprozessen. von Reaktionsdiffusionsprozessen. Durch die Dreiteilung des Problems sind drei Programme Durch die Dreiteilung des Problems sind drei Programme entstanden, die auch durch Programme dritter erweitert entstanden, die auch durch Programme dritter erweitert oder ersetzt werden können. Dies ist unter anderem auch oder ersetzt werden können. Dies ist unter anderem auch durch das Verwenden des standardisierten Dateiformates durch das Verwenden des standardisierten Dateiformates SBML erreicht worden. SBML erreicht worden. Schließlich ist das entwickelte Programmpaket leicht Schließlich ist das entwickelte Programmpaket leicht erweiterbar, durch das implementierte PluginSystem für erweiterbar, durch das implementierte PluginSystem für Reaktionsgleichungen und Visualisierungen. Reaktionsgleichungen und Visualisierungen.

9/29/20049/29/2004Frank Bergmann Frank Bergmann

frank_bergmann@kgi.edufrank_bergmann@kgi.edu 29 / 3429 / 34

ÜberblickÜberblick

EinleitungEinleitungGrundlagenGrundlagenKonzeptKonzeptRealisierungRealisierungZusammenfassungZusammenfassungAusblickAusblickDemonstrationDemonstration

9/29/20049/29/2004Frank Bergmann Frank Bergmann

frank_bergmann@kgi.edufrank_bergmann@kgi.edu 30 / 3430 / 34

AusblickAusblickOptimierung des SimulationskernsOptimierung des SimulationskernsÄndern von SimulationsannahmenÄndern von Simulationsannahmen•• Einheitliche Diffusionsrate im ganzen Einheitliche Diffusionsrate im ganzen

ReaktionsvolumenReaktionsvolumen•• Unbegrenztes Vorkommen von SubstratenUnbegrenztes Vorkommen von Substraten•• Membranen Membranen

im Moment nicht durchlässigim Moment nicht durchlässigÄndern von Reaktionen an MembranenÄndern von Reaktionen an MembranenBewegen der MembranenBewegen der Membranen

Integration bestehender Integration bestehender Volumenvisualisierungsbibliotheken: vtk / Volumenvisualisierungsbibliotheken: vtk / OpenDXOpenDX

9/29/20049/29/2004Frank Bergmann Frank Bergmann

frank_bergmann@kgi.edufrank_bergmann@kgi.edu 31 / 3431 / 34

ÜberblickÜberblick

EinleitungEinleitungGrundlagenGrundlagenKonzeptKonzeptRealisierungRealisierungZusammenfassungZusammenfassungAusblickAusblickDemonstrationDemonstration•• Konfiguration und Visualisierung von DiffusionKonfiguration und Visualisierung von Diffusion•• Visualisierung einer Visualisierung einer BrusselatorBrusselator--SimulationSimulation

9/29/20049/29/2004Frank Bergmann Frank Bergmann

frank_bergmann@kgi.edufrank_bergmann@kgi.edu 32 / 3432 / 34

DemonstrationDemonstration

Diffusion (live)Diffusion (live)•• Erstellung einesErstellung eines

ReaktionsvolumensReaktionsvolumens•• Einfügen einiger MoleküleEinfügen einiger Moleküle•• Simulation von DiffusionSimulation von Diffusion

Brusselator (von Datei)Brusselator (von Datei)•• Demonstrieren der 3DDemonstrieren der 3D

VisualizationPluginsVisualizationPlugins

9/29/20049/29/2004Frank Bergmann Frank Bergmann

frank_bergmann@kgi.edufrank_bergmann@kgi.edu 33 / 3433 / 34

DanksagungDanksagungKGI: KGI: •• Prof. Herbert M. SauroProf. Herbert M. Sauro•• VijayVijay ChikarmaneChikarmane, , AlpanAlpan RavalRaval, Cameron , Cameron

Wellock, Anastasia Wellock, Anastasia DeckardDeckard, Sri Rama Krishna , Sri Rama Krishna Paladugu, Paladugu, AbhishekAbhishek AgrawalAgrawal

AGC: AGC: •• Prof. Dr.Prof. Dr.--Ing. Detlef Krömker Ing. Detlef Krömker •• Dipl.Dipl.--Wirtsch.Wirtsch.--Inform. Daniel F. AbawiInform. Daniel F. Abawi•• Dipl.Dipl.--Biol. Jens BarthelmesBiol. Jens BarthelmesFreunde: Freunde: •• Matthias Pfeiffer, Martin Klossek, Christoph Matthias Pfeiffer, Martin Klossek, Christoph

KarwothKarwoth

9/29/20049/29/2004Frank Bergmann Frank Bergmann

frank_bergmann@kgi.edufrank_bergmann@kgi.edu 34 / 3434 / 34

Vielen Dank für Ihre Vielen Dank für Ihre AufmerksamkeitAufmerksamkeit

Mehr Informationen zu dieser Arbeit, Mehr Informationen zu dieser Arbeit, sowie die PDF Version der Diplomarbeit sowie die PDF Version der Diplomarbeit und eine Programmversion finden Sie und eine Programmversion finden Sie unter:unter:

http://public.kgi.edu/~fbergman/thesis/rehttp://public.kgi.edu/~fbergman/thesis/results.htmlsults.html

Für Fragen und Anmerken bin ich zu Für Fragen und Anmerken bin ich zu Erreichen unter:Erreichen unter:

frank_bergmann@kgi.edufrank_bergmann@kgi.edu