| Operatoren |
set_paint — Festlegen des Modus für die Darstellung von Grauwerten.
set_paint( : : WindowHandle, Mode : )
set_paint setzt den Modus des Ausgabefensters für die Darstellung von Grauwerten (ein- oder mehrkanalig), der von disp_obj, disp_image und disp_color verwendet werden.
Im Folgenden werden die verschiedenen Arten, in denen Grauwertdaten ausgegeben werden können, dargestellt. Vorab sei bemerkt, dass der Modus 'default' in 99% der Anwendungen die richtige Wahl ist (und deshalb auch als Voreinstellung verwendet wird).
Graubilder können auch als Gebirge aufgefasst werden. Hierzu steht eine 3D-Darstellung mit '3d_plot' zur Verfügung. Diese Darstellung erlaubt auch interaktives Betrachten des Höhenmodells, was durch den Operator update_window_pose unterstützt wird.
Dreikanalige Bilder werden als RGB-Daten interpretiert.
Vektorfeldbilder werden als Vektorfelder ausgegeben ('vector_field').
Alle verfügbaren Modi können mit dem Operator query_paint abgefragt werden.
Bei den Modi, die mehr als einen Wert benötigen, sind folgende Techniken möglich:
Es wird nur der Name des Modus angegeben. Hier werden die Voreinstellungen oder die zuletzt gesetzten Werte verwendet. Beispiel: set_paint(WindowHandle,'3d_plot')
Es werden alle Werte übergeben. Hierdurch ist es möglich alle Eigenschaften der Ausgabe festzulegen. Beispiel: set_paint(WindowHandle,['3d_plot','shaded', 8,0.939,-0.052,0.296,-0.165,0.401,0.072,-0.047,-0.073])
Nur die ersten n Werte werden angeben. Hierbei werden die nicht angegebenen Werte nicht verändert. Beispiel: set_paint(WindowHandle,['3d_plot','texture'])
Einige der Werte werden durch einen Stern ersetzt ('*'). Dies bedeutet, dass dieser Wert nicht verändert werden soll. Beispiel: set_paint(WindowHandle,['3d_plot','*',8])
Ist der Modus 'default' gewählt, dann muss für die Ausgabe von 2- und 3-kanaligen Bildern kein Aufruf von set_paint erfolgen. Es wird dann automatisch ein geeignetes Verfahren aufgerufen.
Die Ausgabe der Grauwerte wird auch von anderen Operatoren (und deren Parametern) beeinflusst. Dies sind insbesondere set_part, set_part_style und set_lut. Bei einigen Ausgabemodi von set_paint werden die Grauwerte grafisch dargestellt (z.B. 'histogram','contourline','3d_plot_lines', etc.). Dies hat zur Folge, dass auch Parameter, die mit set_color, set_rgb,set_hsi, set_shape, set_line_width und set_insert bestimmt wurden, Einfluss auf die Darstellung haben. Dies kann z.B. bei set_shape('convex') und set_paint(WindowHandle,'histogram') zu unerwarteten Ergebnissen führen. Es wird nämlich die konvexe Hülle des Histogramms ausgegeben. Sollten also unerwartete Ergebnisse erscheinen, so sind die Werte der Darstellungsparameter für Regionen zu überprüfen.
Modi:
Einkanalige Bilder
optimale Grauwertdarstellung bei gegebener Hardware (Voreinstellung)
Die Grauwerte des Bildes werden als 3D-Höhenmodell interpretiert und mit Hilfe von OpenGL angezeigt. Der erste Parameter legt fest, auf welche Weise das Höhenmodell angezeigt werden soll. Folgende Modi stehen zur Verfügung:
Das Höhenmodell wird als geschlossene Fläche dargestellt und texturiert. Die Textur wird als zweiter Kanal (für eine Grauwerttextur) oder als zweiter bis vierter Kanal (für eine Farbtextur) übergeben.
Das Höhenmodell wird als geschlossene Fläche dargestellt und mit der aktuellen LUT koloriert.
Das Höhenmodell wird als Gitter dargestellt, wobei verdeckte Linien nicht dargestellt werden. Das Gitter wird mit der aktuellen LUT koloriert.
Ähnlich zum Modus 'contourlines' werden Höhenlinien extrahiert und dreidimensional dargestellt. Die Höhenlinien werden mit der aktuellen LUT koloriert.
Der zweite Parameter ist die Schrittweite, mit der das Bild sowohl in Zeilen- als auch in Spaltenrichtung abgetastet wird. Je kleiner dieser Parameter gewählt wird, desto feiner ist das resultierende Höhenmodell. In gleichem Maße nimmt die Berechnungszeit für die Anzeige zu. Im Falle von 'contour_lines' entspricht dieser Parameter der Anzahl der Intervalle in die der Höhenbereich aufgeteilt wird.
Die Parameter drei bis sechs bilden ein Einheitsquaternion, welches die Orientierung des Höhenmodells beschreibt (für mehr Informationen über Quaternionen, siehe axis_angle_to_quat).
Der siebte Parameter ist der Zoomfaktor. Ein kleinerer Wert führt zu stärkerem Zooming.
Die letzten drei Parameter sind die Zeilen, Spalten bzw. Höhenposition des aktuellen Zentrums. Diese Werte müssen auf den Bereich [-0.5,0.5] skaliert sein.
Der dritte bzw. der siebte Parameter im Tupel kann auf 'auto' gesetzt werden, damit der Zoomfaktor und das Zentrum automatisch bestimmt werden, so dass der resultierende Plot das Fenster möglichst gut ausfüllt. Es ist wichtig, dass der Bildausschnitt des Fensters mittels set_part korrekt gesetzt wurde, bevor set_paint aufgerufen wird. Wird der dritte Wert des Tupels auf 'auto' gesetzt, so wird die vorherige (bzw. die vorgegebene) Orientierung verwendet. Wird der siebte Parameter auf 'auto' gesetzt, wird die angegebene Orientierung verwendet. Es ist nicht möglich, nach 'auto' noch Parameter im Tupel anzugeben. Außerdem funktioniert 'auto' nur dann richtig, wenn 'scale_plot' mittels set_window_param auf 'true' gesetzt wurde. (Beispiel: {bf ['3d_plot','shaded',4,'auto']})
Abhängig von der Leistungsfähigkeit der Grafikkarte ist es möglich, das Höhenmodell interaktiv anzuzeigen. Der Operator update_window_pose bietet einen intuitiven Weg, um obige Parameter zum Beispiel mit Hilfe der Maus zu verändern.
Mit den Operatorn set_rgb, set_color und set_colored können die Farben für die Zeilen-, Spalten- und Höhenachse (in dieser Reihenfolge) beeinflusst werden.
Zusätzliche Parameter die den 3D-Plot beeinflussen, können mit set_window_param gesetzt werden.
Falls Sie '3d_plot' auf einem unixartigen System nutzen wollen, muss sichergestellt sein, dass Sie ausreichende Rechte für ihre Grafikkarte besitzen.
Defaultwerte:
['3d_plot','shaded',8,0.939,-0.052,0.296,-0.165,0.401,0.072,-0.047, -0.073]
Zweikanalige Bilder
Darstellung des ersten Kanals.
Dreikanalige Bilder
Ausgabe als RGB-Bild mit 'median_cut'.
Vektorfeldbilder
Ausgabe von Vektorfeldern. Es ist möglich Vektorfelder mit relativen oder absoluten Koordinaten anzuzeigen. Dieses Verhalten wird mit dem optionalen Parameter Mode kontrolliert. Mögliche Werte sind 'auto' (der semantische Typ des Vektorfeldes bestimmt das Verhalten), 'absolute' und 'relative'. Standard ist 'auto'. Bei diesem Modus wird für jeden Vektor ein Kreis mit Durchmesser CircleSize an der Position des Pixels sowie eine Strecke mit dem Vektor gezeichnet. Die Schrittweite (Parameterwert: Step) gibt den Abstand zwischen den gezeichneten Vektoren an. Zu kurze Vektoren können mit dem dritten Parameterwert (MinLength) unterdrückt werden. Der vierte Parameterwert (ScaleLength) skaliert die Länge der Vektoren. Es ist zu beachten, dass das Setzen von 'vector_field' lediglich die Parameter Step, MinLength, ScaleLength ändert, jedoch nicht den tatsächlichen Anzeigemodus. Vektorfeldbilder werden immer als Vektorfelder ausgegeben, unabhängig davon, welcher Modus mit set_paint eingestellt worden ist.
Ausgabe jedes 16. Vektors der eine Länge von mindestens 2 Punkten hat. Jeder Vektor wird für die Darstellung um den Faktor 3 verlängert.
Fenster-Handle.
Name des Grauwertmodus, eventuell mit Parameter.
Defaultwert: 'default'
Werteliste: '3d_plot', 'default', 'vector_field'
set_paint liefert den Wert 2 (H_MSG_TRUE), falls der Parameter korrekt und das Fenster gültig ist. Ansonsten wird eine Fehlerbehandlung durchgeführt.
get_paint, query_paint, disp_image, set_shape, set_rgb, set_color, set_gray, set_window_param, update_window_pose
Foundation
| Operatoren |