Visualisierung mit dem Open Visualization Data Explorer

Werbung
Visualisierung mit dem
Open Visualization Data Explorer
Volker Winkelmann, ZAIK/RRZK
OpenDX – Open Visualization Data
Explorer
Übersicht
●
leistungsfähige, flexible, erweiterbare Visualisierungsumgebung von IBM
in Anlehnung an Tools wie apE, AVS, Covise oder AMIRA
●
breite Palette von vorgefertigten Visualisierungsbausteinen:
Transformation von Daten, Downsizing, Arithmetik
3-D-Darstellung von Daten, z.B. Berechnung von Isoflächen, VolumeRendering
Stromlinien, Emission von Testteilchen, X/Y-Plots
3-D-Achsen, Achsenbeschriftung, Colorbars, Bildbeschriftung
Transformation von dargestellten Objekten, Manipulation von Lichtquellen,
Kameraeinstellungen, Layoutgestaltung, Animation
Debugging
●
einfache Bedienung, leicht erlernbar, wenige Graphikkenntnisse erforderlich
●
Anwendung kann auf mehreren Workstations parallel laufen
8.-10.11.2006
Treffen des Arbeitskreises Grafik u. Multimedia
2
Bedienung des Data Explorers
Programmierung
●
Graphisches Benutzerinterface: Visual Program Editor (VPE)
●
ersatzweise: einfache Scriptsprache zur Programmierung
●
Programmierschnittstelle zu C und FORTRAN
Anwendungen
●
Erstellung fertiger Visualisierungsanwendungen möglich, der Endanwender
kann nur noch Parameter ändern oder neue Datensätze "betrachten"
●
Erstellung vorgefertiger Visualisierungsanwendungen, die vom Endanwender
ergänzt oder abgeändert werden können
●
Erweiterung der Visualisierungspalette durch eigene Applikationen
8.-10.11.2006
Treffen des Arbeitskreises Grafik u. Multimedia
3
Der Visual Program Editor (VPE)
graphisches Benutzerinterface
●
verfügbar unter Solaris, IRIX, AIX, Linux (RedHat, Fedora,SUSE), FreeBSD,
Windows 2000, XP, setzt X Window System 11R5/6, und OpenGL voraus
●
Palette von Modulen, die durch Icons dargestellt werden
●
Entwurf eines Datenflußdiagramms bzw. Netzwerks, das den Verarbeitungsweg
der Daten für die Visualisierung beschreibt
●
Mausunterstützung, Verbindung der Ein- und Ausgänge der Module, spätere
Korrektur ist möglich
●
individuelle Anpassung der Modulparamter durch Modul-Menus
●
interaktive Anpassung während des Visualisierungsprozesses durch Control
Panels
●
On-Line Help Facility
8.-10.11.2006
Treffen des Arbeitskreises Grafik u. Multimedia
4
Der Visual Program Editor (VPE)
Beispiel für ein Netzwerk im Visual Program Editor
8.-10.11.2006
Treffen des Arbeitskreises Grafik u. Multimedia
5
Der Visual Program Editor (VPE)
Beispiel für die Konfiguration von Modulen
8.-10.11.2006
Treffen des Arbeitskreises Grafik u. Multimedia
6
Der Visual Program Editor (VPE)
Beispiel für Control Panels mit verschiedenen Interaktoren
8.-10.11.2006
Treffen des Arbeitskreises Grafik u. Multimedia
7
Data Explorer Scripting Language
Script-Sprache zum Entwurf von Visualisierungen
●
eigene Programmiersprache
●
durch Programmaufrufe Entwurf des Datenflusses bzw. Netzwerks, das den
Verarbeitungsweg der Daten für die Visualisierung beschreibt
●
individuelle Anpassung der Modulparamter nur innerhalb des Scripts
●
interaktive Anpassung nicht möglich
●
auch an ASCII-Terminals einsetzbar, Output in Form von PostScript-Files etc.
8.-10.11.2006
Treffen des Arbeitskreises Grafik u. Multimedia
8
Data Explorer Scripting Language
Beispiel zur Script-Sprache
// Einlesen der Elektronendichte
electrondensity=Import(“/vol/dx4/share/dx/samples/data/watermolecule.dx“);
// Kameraeinstellungen für die Betrachtung der Isofläche(n)
camera = AutoCamera(electrondensity,resolution=640,aspect=0.75,width=2.5);
// Das Makro berechnet eine Isofläche bzgl. eines angegebenen
// Schwellwertes, erzeugt eine Beschriftung des Bildes und gibt
// das Bild als Postscript File aus. Schliesslich wird das Bild
// noch komprimiert.
macro makeiso(isoval)
{
isosurface = Isosurface(electrondensity, isoval);
caption = Format(“isoval = %g“,isoval);
caption = Caption(caption);
imagename = Format(“iso%4.2f.ps“,isoval);
collected = Collect(caption,isosurface);
image = Render(collected,camera);
WriteImage(image,imagename,format=“ps“);
command = Format(“compress %s“,imagename);
System(command);
}
// Schwellwert 0.3
makeiso(0.3);
8.-10.11.2006
Treffen des Arbeitskreises Grafik u. Multimedia
9
Datenfluss im Data Explorer
Data Explorer ist Client/Server Anwendung
●
Client: Fenster des VPE, Images
●
Server: Ausführungskontrolle, startet alle rechenintensiven Module
●
die meisten Module sind parallelisiert
●
Module können auf verschiedene Workstations verteilt werden
●
Module bearbeiten nur ihren Input und liefern Output
●
Input- und Output-Daten werden von den Modulen gespeichert
●
Nur bei Änderung des Inputs oder eines Modulparameters wird der Output neu
berechnet
8.-10.11.2006
Treffen des Arbeitskreises Grafik u. Multimedia
10
Das Datenmodell des Data Explorers -1objektbasierter Ansatz für die Datenbeschreibung
●
Datensätze sind Objekte mit Angaben über Gittertyp, Datentyp, Dimension,
und natürlich den Daten
●
Gittertypen (grid types):
regular orthogonal grid, reformed regular or curvilinear grid,
irregular grid (triangular, tetrahedral), unstructured (no connections)
●
Gitter bestehen aus Stützstellen (positions) und der Definition nächsten
Nachbarn (connections)
●
Gitter können „beliebig“ dimensional sein
●
Daten:
Rang:
Kategorie:
Typ:
8.-10.11.2006
Skalare, Vektoren, Tensoren
reell oder komplex
Integers, Bytes, Floating-Point-Zahlen
Treffen des Arbeitskreises Grafik u. Multimedia
11
Das Datenmodell des Data Explorers -2Verschiedene Gittertypen
●
Regular orthogonal grid
●
deformed regular or curvilinear grid
●
irregular grid (triangular, tetrahedral)
●
unstructured (no connections)
8.-10.11.2006
Treffen des Arbeitskreises Grafik u. Multimedia
12
Das Datenmodell des Data Explorers -3Beipieldatensatz für ein Skalarfeld auf regulärem Gitter
Daten
Gitter
Connections
Feld
object 1 class array type float rank 0 items 15625 data 0
attribute ”dep” string ”positions”
#
object 2 class gridpositions counts 25 25 25
origin 0 0 0
delta 1 0 0
delta 0 1 0
delta 0 0 1
attribute ”dep” string ”positions”
#
object 3 class gridconnections counts 25 25 25
attribute ”element type” string ”cubes”
attribute ”ref” string ”positions”
#
object ”potential” class field
component ”data” value 1
component ”positions” value 2
component ”connections” value 3
attribute ”name” string ”potential”
#
end
0.0960492 0.0983035 0.100466 0.102511 0.104411 0.106141
0.10768
0.10901
0.110114 0.110983 0.111608 0.111985
. . . .
8.-10.11.2006
Treffen des Arbeitskreises Grafik u. Multimedia
13
Aufbereitung eigener Daten für OpenDX
General Array Importer
●
Beschreibung der Daten eher problemorientiert
●
Definition des Daten-Layouts und des Datenraumes (Gitter, Datenposition)
# dx header fuer Dipol Potential
file = /home/a0078/Kurse/dx/dipol.data
grid = 25 25 25
structure = scalar
format = ascii
type = float
field = potential
end
●
allgemein: Vorgehensweise gemäß Data Explorer User's Guide Kap. 3
●
Hilfsmittel: General Array Importer, QuickStart Guide Kap. 5.1 ff.
Data Prompter
●
interaktive Hilfe zur Beschreibung eigener Daten QuickStart Guide Kap. 5.4
8.-10.11.2006
Treffen des Arbeitskreises Grafik u. Multimedia
14
Visualisierungshilfsmittel -1Rendering:
●
Darstellung von Daten durch (virtuelle) Objekte als Image
●
Welche Objekte generiere ich aus meinen Daten?
Hilfsmittel des Data Explorers
●
allgemein:
Zuordnung von Farbe, Transparenz
beliebige Schnitt- und Projektionsebenen
Text, Achsen, Bounding Boxes
●
Skalarfelder:
Isolinien, Isoflächen
Glyphs, z. B. Kugeln, Punkte
3D-Volumina
Slices
Ausblenden von Teilvolumina
8.-10.11.2006
Treffen des Arbeitskreises Grafik u. Multimedia
15
Visualisierungshilfsmittel -2Hilfsmittel des Data Explorers
●
Vektorfelder:
Stromlinien (statische und dynamische Felder)
Glyphs, z. B. Pfeile, Nadeln
Ribbons, Tubes
●
Tensorfelder:
kaum Unterstützung, Forschungsobjekt
Kontrollstrukturen im Data Explorer
●
Macros
●
sequencer, interactors
●
file browser, selectors, switches
●
Constructors
8.-10.11.2006
Treffen des Arbeitskreises Grafik u. Multimedia
16
OpenDX auf eigenem Arbeitsplatz
Bezugsquelle
●
Homepage
http://www.opendx.org/
●
Fertige Versionen gibt es z.Zt. für AIX, HP-UX, IRIX, RedHat Linux, Solaris
●
Quellen erhältlich
●
Portierung für Windows von Visualization and Imagery Solutions, Inc.
unter Verwendung eines X11-Servers
(es existiert auch Windows-Version von unter Verwendung von Cygwin )
8.-10.11.2006
Treffen des Arbeitskreises Grafik u. Multimedia
17
Beispiele
Skalarer Datensatz (Potential zweier elektrischer Ladungen)
auf
25x25x25 Gitter
8.-10.11.2006
Treffen des Arbeitskreises Grafik u. Multimedia
18
Beispiel 1: Volumendarstellug
Verwendung von AutoColor
8.-10.11.2006
Treffen des Arbeitskreises Grafik u. Multimedia
19
Beispiel 2: Isoflächendarstellung
Verwendung von Isosurface
8.-10.11.2006
Treffen des Arbeitskreises Grafik u. Multimedia
20
Beispiel 3: Isoflächendarstellung (clipped)
Verwendung von Isosurface und ClipPlane
8.-10.11.2006
Treffen des Arbeitskreises Grafik u. Multimedia
21
Beispiel 4: Isoflächendarstellung (clipped)
mit Schnittebene
Verwendung von Isosurface, ClipPlane, Slab, und Sequencer
8.-10.11.2006
Treffen des Arbeitskreises Grafik u. Multimedia
22
Beispiel 5: Isoflächendarstellung (mapped)
Verwendung von Isosurface und Map
8.-10.11.2006
Treffen des Arbeitskreises Grafik u. Multimedia
23
Beispiel 6: Symboldarstellung (Glyphs)
Verwendung von AutoGlyph und Reduce
8.-10.11.2006
Treffen des Arbeitskreises Grafik u. Multimedia
24
Beispiel 7: Höhendarstellung
Verwendung von Rubbersheet
8.-10.11.2006
Treffen des Arbeitskreises Grafik u. Multimedia
25
Beispiel 8: beliebige Schnittfläche
Verwendung von MapToPlane und Probe
8.-10.11.2006
Treffen des Arbeitskreises Grafik u. Multimedia
26
Beispiel 9: Felder und Feldlinien
Verwendung von Streamline und AutoGlyph
8.-10.11.2006
Treffen des Arbeitskreises Grafik u. Multimedia
27
Ende
8.-10.11.2006
Treffen des Arbeitskreises Grafik u. Multimedia
28
Zugehörige Unterlagen
Herunterladen