Science

Visualisierungs-Software für Linux

Viele der in den folgenden Kapiteln beschriebenen Softwarepakete sind auf den CUSS Compute-Servern des KIZ via Kommando 'options' und 'option' und auf dem bwGRiD Cluster Ulm via Kommando 'module avail' und 'module load' verfügbar. Details zum Zugriff auf die Programme und deren Verfügbarkeit finden sich in unserer Software-Liste.

Universelle Programmpakete zur 2D-Darstellung beliebiger Daten

Das vermutlich beste freie Programm zum Plotten von 2D-Daten ist Grace. Es bietet sehr viele Plot-Varianten und man kann nahezu jeden einzelnen Strich beeinflussen. Auch besitzt es einen recht flexiblen Textsatz mit dem sich sehr ansehnliche Formeln setzen lassen. Im Vergleich mit Gnuplot ist Grace wesentlich einfacher zu bedienen und hat eine recht schöne Bedienoberfläche. Mit beiden Programme kann man aus einem Skript heraus automatisch zeichnen. Gnuplot besitzt rudimentäre 3D-Fähigkeiten, Grace kann nur 2D-Plots erzeugen.

Einfache 2D- und 3D-Darstellung statistischer Daten

Das Programm Qtiplot ist ein einfaches interaktives 2D-und 3D-Plottprogramm mit vielen statistischen Funktionen. Das Programm kann zwar 3D-Plots einer 2D-Variable erzeugen, kann jedoch keine ISO-Flächen oder Schnitte durch "echte" 3D-Daten legen. Qtiplot ist ein Klon des bekannten Windows-Plotprogramms Origin, erreicht jedoch nicht dessen Funktionsumfang.

Universelle Programmpakete zur 3D-Darstellung beliebiger Daten

Im Bereich der freien 3D-Visualisierungssysteme gibt es sehr viele verschiedene Programme, die je nach darzustellenden Daten mehr oder weniger geeignet sind. Die beiden universellsten System sind OpenDX und VTK. Bei OpenDX handelt es sich um ein sehr umfassendes Programmpaket, mit dem nahezu alles visualisierbar ist. Die Qualität der 3D Darstellungen ist meistens gut bis sehr gut. In manchem Fällen, z.B. bei der Darstellung von 3D-Gitterlinien oder bei der Interpolation von Kugel-Glyphen, wäre etwas mehr Spielraum wünschenswert. OpenDX hat einen visuellen Editor, in dem die Visualisierungsprogramme "verdrahtet" werden. Es braucht mehrere Tage Einarbeitung bis man damit vernünftig umgehen kann. Natürlich kann man die OpenDX Programme auch mit einem Texteditor bearbeiten. Aber auch das ist nicht einfach. Die "Alternative" VTK ist eigentlich nicht selbst ein Visualisierungsprogramm sondern "nur" eine objektorientierte Bibliothek, mit der sich Visualisierungsprogramme erstellen lassen. Dies ist jedoch relativ einfach und VTK ist ein sehr flexibles und mächtiges Werkzeug. Es gibt eine große Zahl von Python, tcl/tk und C++ Beispielprogrammen, die einfach als Basis für eigene Visualisierungsprogramme dienen können. Da man bei VTK alle Freiheiten der verwendeten Programmiersprache bezüglich der Manipulation der Daten hat, kann man mittels VTK eine beliebig hohe 3D Darstellungsqualität erreichen. Als Richtlinie kann man sagen: Für Visualisierungsaufgaben mittlerer bis hoher Schwierigkeit (Wochen bis Monate) ist OpenDX gut geeignet (wenn man mit der Programmierung zurecht kommt). Für Visualisierungsaufgaben höchster Komplexität (Monate bis Jahre) sollte man vermutlich zu VTK greifen. Man kann natürlich mit beiden Tools auch mal "schnell" in wenigen Stunden etwas "kleines" visualisieren. Beide Programme bieten aufgrund ihrer vielen (hunderte) Beispielprogramme einen recht schnellen Einstieg.

Im Vergleich zu den beiden "Großen" ist der Einsteig in das Programm ParaView sehr viel leichter. Das Programm hat eine übersichtliche, einfach bedienbare Oberfläche. Sie ermöglicht es, die 3D Daten in vielfältiger Weise darzustellen. Meist braucht man dafür nur wenige Sekunden. Auch bringt ParaView schon viele wichtige Importfilter (z.B. PDB, Gaussian-Cube) mit. Dies macht das Leben deutlich leichter. Existiert kein passender Import-Filter, muss man, wie bei den "großen" Programmen, die Daten mühsam konvertieren und so dem Programm zuführen. Da ParaView auf dem Python-Interface zu VTK basiert, kann man im Prinzip auf alle VTK-Funktionen zurückgreifen. Insbesondere ist es möglich, neue Datenquellen und Filter als Python-Plugin in ParaView "ein zu hängen".

Neben Paraview gibt es noch weiter VTK-basierte Visualisierungstools: Das Programm VisIt bietet (zur Zeit) deutlich mehr Funktionen und Importfilter als Paraview, ist dafür aber in seiner Bedienung weniger übersichtlich gestaltet. Je nach Bedarf an Filtern und Funktionen kann es sinnvoll sein, einen Blick auf VisIt zu werfen.

Ein weiteres Tool, welches auf VTK basiert, ist Mayavi2. Die alte Version Mayavi war ein sehr gutes Visualisierungswerkzeug, in jedem Fall mit Paraview vergleichbar. Die alte Version bereitet leider mittlerweile Probleme auf aktuellen Betriebssystemen und die neue Version Mayavi2 ist zur Zeit noch im Entwicklungsstadium.

Trotz ihrer Einfachheit sind ParaView und VisIt den nun folgenden chemiespezifischen Visualisierungs-Spezialisten unterlegen, wenn es um die schnelle Darstellung von Chemie-spezifischen Daten geht.

Spezialisierte Programme zur 3D-Darstellung chemischer Daten

Möchte man gezielt chemische Daten visualisieren, also z.B. Atompositionen, Elektronendichten oder Molekülorbitale, dann sind spezialisierte Programme viel besser geeignet. Dies liegt unter anderem daran, dass die Programme für viele Chemie-Programmpakete bereits Importfilter besitzen und man daher recht einfache die entsprechende Schnittstelle zu dem jeweiligen Chemieprogramm nutzen kann. Auch ist die Bedienoberfläche der Programme meist einfach gestaltet und auf die Bedürfnisse der Chemieprogramme zugeschnitten. Sehr hilfreich für die Konvertierung von Chemie-Dateiformaten ist das Programm OpenBabel.

In der folgenden Tabelle (Stand 2008) werden einige Eigenschaften der Visualisierungsprogramme einander gegenüber gestellt. Es muss jedoch darauf hingewiesen werden, dass die Tabelle nur mit hinreichender Vorsicht verwendet werden sollte, da die Entwicklung mancher Programme sehr schnell voran schreitet und auch nicht jedes der Programme bis ins letzte Detail getestet wurde. Die Tabelle erhebt keinen Anspruch auf Vollständigkeit oder Richtigkeit. Sollten Sie veraltete oder ungenaue Informationen entdecken, dann bin ich Ihnen für einen kurzen Hinweis dankbar.

Bitte beachten Sie auch, dass viele der Programme nicht am kiz verfügbar sind. Es wäre schlicht unmöglich, für eine so große Vielfalt an Programmen jeweils individuellen Support zu leisten. Allerdings ist es oft leicht möglich, die Programme einfach selbst herunter zu laden und im eigenen Home-Verzeichnis zu installieren.

Weit verbreitete, sehr umfangreiche Programme für Moleküle
Vis.-Prog. unterstützte Chemie-Prog. Bemerkungen zur Funktionalität
VMD sehr viele, nativ in VMD sehr umfangreich, auch periodische Systeme, Filme
Chimera sehr viele, nativ in Chimera sehr umfangreich
Jmol sehr viele, nativ in Jmol sehr umfangreich
Programme mit umfangreichen Editiermöglichkeiten für Moleküle
Avogadro sehr viele, via OpenBabel umfangreich, editieren/erstellen neuer Moleküle
Gabedit viele, nativ in Gabedit umfangreich, editieren/erstellen neuer Moleküle
Jamberoo viele, nativ in Jamberoo umfangreich, editieren/erstellen neuer Moleküle, Java-basiert
Etwas weniger weit verbreitete, weniger umfangreiche Programme für Moleküle
PyMOL einige, nativ in PyMOL
OpenRasMol einige, nativ in RasMol Oberfläche gewöhnungsbedürftig, schöner Vektor-PS Export
Molden einige, nativ in Molden Oberfläche sehr gewöhnungsbedürftig, wird nicht mehr weiter entwickelt
Molekel(CSCS) sehr viele, nativ in Molekel einige nette Funktionen, Bug im ISO-Surface Modul (Ver. 5.3)
OpenAstexViewer wenige, nativ in OpenAstexViewer
Auf ein oder wenige Programme spezialisierte Plot-Software für Moleküle
Vis.-Prog. unterstützte Chemie-Prog. Bemerkungen zur Funktionalität
MacMolPlt Gamess-US, MDL-MolFiles, PDB speziell auf Gamess-US zugeschnitten
ECCE NWchem, Gamess-US, Gaussian speziell auf NWchem zugeschnitten
p4vasp VASP speziell auf VASP zugeschnitten, wird nicht mehr weiterentwickelt
vaspview VASP speziell auf VASP zugeschnitten, wird nicht mehr weiterentwickelt
Umfangreiche Visualisierungssoftware für periodische Systeme
VESTA sehr viele, nativ in VESTA sehr umfangreiches Programm für periodische Systeme
XCrySDen Crystal, PWfs, WIEN2k sehr umfangreiches Programm für periodische Systeme
v2xsf,lm2xsf VASP, TB-LMTO-ASA Konverter für VASP/TB-LMTO-ASA Dateien zu XCrySDen
Mercury cif, mol, pdb, res, sd, xyz umfangreiches schönes Kristall-Programm, keine Dichten/ISO-Flächen
Kommerzielle Visualisierungssoftware für Moleküle und periodische Systeme
GaussView Gaussian umfangreiches Frontend für Gaussian, auch für periodische Systeme
GoVASP VASP umfangreiches Frontend für VASP, insbesondere für periodische Systeme
MAPS abinit, LAMMPS, NAMD, Turbomole umfangreiches Frontend für mehrere Programme, kommerziell !
MS Visualizer je nach gekauften Modulen sehr mächtiges Vis-/Editor-Werkzeug, nur für Windows, kommerziell !
DS Visualizer Pro je nach gekauften Modulen gutes Vis-/Editor-Werkzeug, kommerziell !
Maestro je nach gekauften Modulen gutes Vis-/Editor-Werkzeug, nur für Moleküle, kommerziell !

Das Programme GaussView ist im universitären Umfeld zu moderaten Kosten erhältlich.

Folgende Eigenschaften wurden nicht weiter erwähnt, da Sie in praktisch allen Programmen vorhanden sind: Fast alle Grafikprogramme sind in irgend einer Weise Batch/Skripting-fähig. Praktisch alle Programme können die 3D-Darstellung in mindestens ein Pixelgrafikformat exportieren. Da man zwischen den verschiedenen Pixelgrafikformaten leicht konvertieren kann, kommt es hier nicht auf die Zahl der Exportfilter an.

Weitere Chemie-spezifische Visualisierungssoftware: Garlic, Ghemical, gOpenMol, PWgui, BALLView, Dino3D, Protein Shader, Python Molecular Viewer, MIFit, Raster3d, Swiss-Pdb Viewer, PDB2MGif, Ymol und Viewmol.

Kommerzielle Mathematiksoftware, welche auch 2D/3D-Darstellung von Daten beherrscht

Die kommerziellen Mathematik-Programmpakete Maple, Mathematica und Matlab beherrschen auch praktisch jede Form der 2D- und 3D-Darstellung. Bei allen drei Programmen muss man sich in vielen Fällen eigene Importfilter schreiben, um die Daten in das jeweilige Programm laden zu können (genau so wie bei OpenDX, VTK und ParaView). Allerdings liegt die Qualität der 3D-Darstellung von Maple und Mathematica in ihrer Grundfunktionalität deutlich unter der von OpenDX, VKT, ParaView und Matlab. Auch sind Maple und Mathematica nur für eher kleinere Datensätze geeignet. Mit "klein" sind hier einige 10000-100000 Rohdaten-Punkte (im Gegensatz zu Millionen von Punkten) gemeint. Denn bei einem 3D- oder 4D-Gitter kommen eine Million Punkte (100x100x100) schnell zusammen. Davon abgesehen sind die drei Ma*-Programmen natürlich auch noch für viele andere Dinge geeignet, nicht nur für Visualisierungsaufgaben.