Name
set_paintT_set_paintSetPaintset_paintSetPaintSetPaint — Festlegen des Modus für die Darstellung von Grauwerten.
set_paintset_paintSetPaintset_paintSetPaintSetPaint setzt den Modus des Ausgabefensters für die
Darstellung von Grauwerten (ein- oder mehrkanalig), der von
disp_objdisp_objDispObjdisp_objDispObjDispObj, disp_imagedisp_imageDispImagedisp_imageDispImageDispImage und disp_colordisp_colorDispColordisp_colorDispColorDispColor
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).
Die Darstellung von Grauwerten wird von den Eigenschaften der
Hardware bestimmt. So erfolgt auf einem Bildschirm mit einer
Bildebene bis sieben Bildebenen nur eine Binärkodierung der
Grauwertdaten. Stehen acht oder mehr Bildebenen zur Verfügung, so
wird eine gute Auflösung erzielt. Für binäre Darstellung stehen
Techniken mit Dither-Matrix (schnell aber schlechte Auflösung),
minimalem Fehler (gut aber langsam) und Schwellenwertbildung zur
Verfügung. Bei der Schwellenwertoperation kann der Schwellenwert
als 2. Parameterwert übergeben werden (insgesamt wird also ein
Tupel aus der Zeichenreihe 'threshold' und dem Schwellenwert,
z.B. 100 verwendet: ['threshold',100]).
Bei acht Bildebenen werden ca. 200 Graustufen für die Darstellung
verwendet. Es ist hier aber auch möglich, binäre Darstellungen zu
verwenden.
Eine weitere Art der Grauwertdarstellung ist das Histogramm
('histogram'). Die zusätzlichen Parameterwerte Row
(2. Parameterwert) und Column (3. Parameterwert) geben die Zeile
bzw. Spalte des Mittelpunktes des Histogramms (für die
Positionierung) an. Der Skalierungsfaktor Scale (4. Parameterwert)
gibt die Größe des Histogramms an. Dabei bedeutet 1, dass 256
Werte unterschieden werden; bei 2 werden 128 Werte unterschieden,
bei 3 werden 64 Werte unterschieden, usw. Die Übergabe der 4 Werte
erfolgt mit dem einen Parameter ModeModeModeModeModemode, indem die Werte als
ein Tupel verwendet werden; z.B.: ['histogram',256,256,1]. Wird
nur der erste Wert übergeben ('histogram'), dann wird für die
Positionierung die Voreinstellung, bzw. der letzte gesetzte Wert
verwendet. Für die Berechnung des Histogramms siehe auch
gray_histogray_histoGrayHistogray_histoGrayHistoGrayHisto. Für die Darstellung von Histogrammen gelten
die gleichen Parameter wie für Operatoren der Art
disp_regiondisp_regionDispRegiondisp_regionDispRegionDispRegion etc. Dies sind z.B.: set_colorset_colorSetColorset_colorSetColorSetColor,
set_drawset_drawSetDrawset_drawSetDrawSetDraw, etc.
Weiterhin ist die Darstellung der relativen Häufigkeit der Anzahl
der Zusammenhangskomponenten (der Schwellenwertoperation) möglich
('component_histogram'). Für die Berechnung des
Komponentenhistogramms siehe shape_histo_allshape_histo_allShapeHistoAllshape_histo_allShapeHistoAllShapeHistoAll. Die Art der
Positionierung und der Darstellung entspricht dem Modus 'histogram'.
Bei der Verwendung von 'mean' werden die Regionen der Objekte mit
dem mittleren Grauwert gezeichnet.
Die Parameterwerte 'row' und 'column' ermöglichen es, Zeilen
bzw. Spalten eines Grauwertbildes darzustellen. Die Position
(Zeilen- Spaltenindex) wird mit dem 2. Parameterwert angegeben. Mit
dem 3. Parameterwert wird der Skalierungsfaktor angegeben. Dieser
wird in Prozentwerten festgelegt. Dabei entspricht 100 der
Auflösung von einem Pixel pro Graustufe. 50 entspricht z.B. 0.5
Pixel pro Graustufe.
Graubilder können auch als Gebirge aufgefasst werden. Hierzu steht
ein Höhenplot ('contourline') und eine pseudo-3D-Darstellung
('3d_plot_lines' und '3d_plot_hidden_lines') zur Verfügung. Falls Ihre
Grafikkarte OpenGL unterstützt, kann auch '3d_plot' für eine Darstellung
höherer Qualität ausgewählt werden. Diese Darstellung erlaubt auch
interaktives Betrachten des Höhenmodells, was durch den Operator
update_window_poseupdate_window_poseUpdateWindowPoseupdate_window_poseUpdateWindowPoseUpdateWindowPose unterstützt wird.
Dreikanalige Bilder werden als RGB-Daten interpretiert. Es stehen
hierfür drei verschiedene Darstellungsmodi zur Verfügung, wobei
zwei optional mit dem Floyd-Steinberg-Verfahren optimiert werden
können.
Vektorfeldbilder werden als Vektorfelder ausgegeben
('vector_field').
Alle verfügbaren Modi können mit dem Operator query_paintquery_paintQueryPaintquery_paintQueryPaintQueryPaint
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,'contourline')set_paint(WindowHandle,"contourline")SetPaint(WindowHandle,"contourline")set_paint(WindowHandle,"contourline")SetPaint(WindowHandle,"contourline")SetPaint(WindowHandle,"contourline")
-
Es werden alle Werte übergeben. Hierdurch ist es möglich alle
Eigenschaften der Ausgabe festzulegen.
Beispiel: set_paint(WindowHandle,['contourline',10,1])set_paint(WindowHandle,["contourline",10,1])SetPaint(WindowHandle,["contourline",10,1])set_paint(WindowHandle,["contourline",10,1])SetPaint(WindowHandle,["contourline",10,1])SetPaint(WindowHandle,["contourline",10,1])
-
Nur die ersten n Werte werden angeben. Hierbei werden
die nicht angegebenen Werte nicht verändert.
Beispiel: set_paint(WindowHandle,['contourline',10])set_paint(WindowHandle,["contourline",10])SetPaint(WindowHandle,["contourline",10])set_paint(WindowHandle,["contourline",10])SetPaint(WindowHandle,["contourline",10])SetPaint(WindowHandle,["contourline",10])
-
Einige der Werte werden durch einen Stern ersetzt ('*'). Dies
bedeutet, dass dieser Wert nicht verändert werden soll.
Beispiel: set_paint(WindowHandle,['contourline','*',1])set_paint(WindowHandle,["contourline","*",1])SetPaint(WindowHandle,["contourline","*",1])set_paint(WindowHandle,["contourline","*",1])SetPaint(WindowHandle,["contourline","*",1])SetPaint(WindowHandle,["contourline","*",1])
Ist der Modus 'default' gewählt, dann muss für die Ausgabe von 2-
und 3-kanaligen Bildern kein Aufruf von set_paintset_paintSetPaintset_paintSetPaintSetPaint
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_partset_partSetPartset_partSetPartSetPart, set_part_styleset_part_styleSetPartStyleset_part_styleSetPartStyleSetPartStyle, set_lutset_lutSetLutset_lutSetLutSetLut und
set_lut_styleset_lut_styleSetLutStyleset_lut_styleSetLutStyleSetLutStyle. Bei einigen Ausgabemodi von
set_paintset_paintSetPaintset_paintSetPaintSetPaint werden die Grauwerte grafisch dargestellt
(z.B. 'histogram','contourline','3d_plot_lines', etc.). Dies hat zur
Folge, dass auch Parameter, die mit set_colorset_colorSetColorset_colorSetColorSetColor,
set_rgbset_rgbSetRgbset_rgbSetRgbSetRgb,set_hsiset_hsiSetHsiset_hsiSetHsiSetHsi, set_pixelset_pixelSetPixelset_pixelSetPixelSetPixel,
set_shapeset_shapeSetShapeset_shapeSetShapeSetShape, set_line_widthset_line_widthSetLineWidthset_line_widthSetLineWidthSetLineWidth und set_insertset_insertSetInsertset_insertSetInsertSetInsert
bestimmt wurden, Einfluss auf die Darstellung haben. Dies kann
z.B. bei set_shape('convex')set_shape("convex")SetShape("convex")set_shape("convex")SetShape("convex")SetShape("convex") und
set_paint(WindowHandle,'histogram')set_paint(WindowHandle,"histogram")SetPaint(WindowHandle,"histogram")set_paint(WindowHandle,"histogram")SetPaint(WindowHandle,"histogram")SetPaint(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
- 'default'"default""default""default""default""default"
optimale Grauwertdarstellung bei gegebener Hardware
('gray' oder 'floyd_steinberg') (Voreinstellung)
- 'gray'"gray""gray""gray""gray""gray"
Graubild
- 'mean'"mean""mean""mean""mean""mean"
Mittlerer Grauwert
- 'dither4_1'"dither4_1""dither4_1""dither4_1""dither4_1""dither4_1"
Binärbild, Dithermatrix 4x4
- 'dither4_2'"dither4_2""dither4_2""dither4_2""dither4_2""dither4_2"
Binärbild, Dithermatrix 4x4
- 'dither4_3'"dither4_3""dither4_3""dither4_3""dither4_3""dither4_3"
Binärbild, Dithermatrix 4x4
- 'dither8_1'"dither8_1""dither8_1""dither8_1""dither8_1""dither8_1"
Binärbild, Dithermatrix 8x8
- 'floyd_steinberg'"floyd_steinberg""floyd_steinberg""floyd_steinberg""floyd_steinberg""floyd_steinberg"
-
Binärbild, beste Grauwertsimulation
- ['threshold',Threshold]["threshold",Threshold]["threshold",Threshold]["threshold",Threshold]["threshold",Threshold]["threshold",Threshold]
-
- 'threshold'"threshold""threshold""threshold""threshold""threshold"
Binärbild, Schwellenwert: Voreinstellung (128)
- ['threshold',200]["threshold",200]["threshold",200]["threshold",200]["threshold",200]["threshold",200]
Binärbild, Schwellenwert: beliebig (hier 200)
- ['histogram',Line,Column,Scale]["histogram",Line,Column,Scale]["histogram",Line,Column,Scale]["histogram",Line,Column,Scale]["histogram",Line,Column,Scale]["histogram",Line,Column,Scale]
-
- 'histogram'"histogram""histogram""histogram""histogram""histogram"
-
Darstellung der Grauwerte als Histogramm
Voreinstellung der Position: max. Größe, in
der Mitte des Fensters.
- ['histogram',256,256,2]["histogram",256,256,2]["histogram",256,256,2]["histogram",256,256,2]["histogram",256,256,2]["histogram",256,256,2]
-
Darstellung der Grauwerte als Histogramm
Positionierung: Mittelpunkt bei Bildformat 512 (256,256)
Größe: 2 (d.i. Hälfte der Größe)
- ['component_histogram',Line,Column,Scale]["component_histogram",Line,Column,Scale]["component_histogram",Line,Column,Scale]["component_histogram",Line,Column,Scale]["component_histogram",Line,Column,Scale]["component_histogram",Line,Column,Scale]
-
- 'component_histogram'"component_histogram""component_histogram""component_histogram""component_histogram""component_histogram"
-
Darstellung aller Zusammenhangskomponenten als
Histogramm
Positionierung: Voreinstellung
- ['component_histogram',256,256,1]["component_histogram",256,256,1]["component_histogram",256,256,1]["component_histogram",256,256,1]["component_histogram",256,256,1]["component_histogram",256,256,1]
-
Darstellung aller Zusammenhangskomponenten als
Histogramm
Positionierung: Mittelpunkt bei Bildformat 512 (256,256)
Größe: 1 (maximale Größe)
- ['row',Line,Scale]["row",Line,Scale]["row",Line,Scale]["row",Line,Scale]["row",Line,Scale]["row",Line,Scale]
-
- 'row'"row""row""row""row""row"
-
Darstellung des Grauwertprofils entlang einer Bildzeile.
Zeile: Bildmitte (Voreinstellung)
Skalierung: 50%
- ['row',100,20]["row",100,20]["row",100,20]["row",100,20]["row",100,20]["row",100,20]
Darstellung des Grauwertprofils der Zeile 100, wobei
die Skalierung der Grauwert 0.2 (20%) beträgt.
- ['column',Column,Scale]["column",Column,Scale]["column",Column,Scale]["column",Column,Scale]["column",Column,Scale]["column",Column,Scale]
-
- 'column'"column""column""column""column""column"
-
Darstellung des Grauwertprofils entlang einer Bildspalte.
Zeile: Bildmitte (Voreinstellung)
Skalierung: 50%
- ['column',100,20]["column",100,20]["column",100,20]["column",100,20]["column",100,20]["column",100,20]
Darstellung des Grauwertprofils der Spalte 100,
wobei die Skalierung der Grauwert 0.2 (20%) beträgt.
- ['contourline',Step,Colored]["contourline",Step,Colored]["contourline",Step,Colored]["contourline",Step,Colored]["contourline",Step,Colored]["contourline",Step,Colored]
-
- 'contourline'"contourline""contourline""contourline""contourline""contourline"
-
Die Grauwerte werden in Form eines Höhenplots
dargestellt:
Die Höhenunterschiede können mit dem Parameter
Step festgelegt werden. Voreingestellt ist eine
Schrittweite von 30 Graustufen, das ergibt also
maximal 8 Höhenstufen (bei 256 Graustufen).
Es kann noch festgelegt werden, ob die Linien
in der voreingestellten Farbe (z.B. set_colorset_colorSetColorset_colorSetColorSetColor)
oder in ihrem Grauwert gezeichnet werden sollen.
Dies geschieht durch den Paramater Colored
(0 = einfarbig / 1 = Graustufen).
Als Voreinstellung wird die Farbe für Regionenausgabe
verwendet.
- ['contourline',15,1]["contourline",15,1]["contourline",15,1]["contourline",15,1]["contourline",15,1]["contourline",15,1]
Höhenplot mit der Schrittweite von 15 und
der Darstellung durch Grauwerte.
- ['3d_plot_lines', Step, Colored, EyeHeight, EyeDistance,
ScaleGray, LinePos, ColumnPos]["3d_plot_lines", Step, Colored, EyeHeight, EyeDistance,
ScaleGray, LinePos, ColumnPos]["3d_plot_lines", Step, Colored, EyeHeight, EyeDistance,
ScaleGray, LinePos, ColumnPos]["3d_plot_lines", Step, Colored, EyeHeight, EyeDistance,
ScaleGray, LinePos, ColumnPos]["3d_plot_lines", Step, Colored, EyeHeight, EyeDistance,
ScaleGray, LinePos, ColumnPos]["3d_plot_lines", Step, Colored, EyeHeight, EyeDistance,
ScaleGray, LinePos, ColumnPos]
-
- '3d_plot_lines'"3d_plot_lines""3d_plot_lines""3d_plot_lines""3d_plot_lines""3d_plot_lines"
Die Grauwerte werden als 3-dimensionales Gebirge
interpretiert. Gezeichnet werden Linien entlang
der X- und Y-Achse des Bildes mit dem Abstand
Step (2. Parameterwert). Der 3. Wert (Colored)
legt fest, ob in der Voreingestellten Farbe, oder
in dem jeweiligen Grauwert gezeichnet werden soll.
Die Projektion des 3-D Bildes kann durch die Parameter
EyeHeight und EyeDistance beeinflusst werden.
Der Wertebereich dieser Parameter beträgt 1..255.
Mit ScaleGray werden Grauwerte bei dunklen
Bildern überhöht (100 = keine Veränderung).
Da bei extremen Werte von EyeHeight und EyeDistance
das Bild etwas verschoben wird, kann mit LinePos
und ColumnPos die Graphik entsprechend verschoben werden.
Der Wertebereich dieser Parameter ist -127..127.
- ['3d_plot_lines', 5, 1, 110, 160, 150, 70, -10]["3d_plot_lines", 5, 1, 110, 160, 150, 70, -10]["3d_plot_lines", 5, 1, 110, 160, 150, 70, -10]["3d_plot_lines", 5, 1, 110, 160, 150, 70, -10]["3d_plot_lines", 5, 1, 110, 160, 150, 70, -10]["3d_plot_lines", 5, 1, 110, 160, 150, 70, -10]
-
Linienabstand: 5 Punkte
Farbig: ja (1)
Augenhöhe: 110
Augenentfernung: 160
Grauwertskalierung: 1.5 (150)
Verschiebung Zeile: 70 Punkte nach unten
Verschiebung Spalte: 10 Punkte nach rechts
- ['3d_plot_hidden_lines', Step, Colored,
EyeHeight, EyeDistance, ScaleGray, LinePos, ColumnPos]["3d_plot_hidden_lines", Step, Colored,
EyeHeight, EyeDistance, ScaleGray, LinePos, ColumnPos]["3d_plot_hidden_lines", Step, Colored,
EyeHeight, EyeDistance, ScaleGray, LinePos, ColumnPos]["3d_plot_hidden_lines", Step, Colored,
EyeHeight, EyeDistance, ScaleGray, LinePos, ColumnPos]["3d_plot_hidden_lines", Step, Colored,
EyeHeight, EyeDistance, ScaleGray, LinePos, ColumnPos]["3d_plot_hidden_lines", Step, Colored,
EyeHeight, EyeDistance, ScaleGray, LinePos, ColumnPos]
-
- '3d_plot_hidden_lines'"3d_plot_hidden_lines""3d_plot_hidden_lines""3d_plot_hidden_lines""3d_plot_hidden_lines""3d_plot_hidden_lines"
wie '3d_plot_lines' aber mit Verdeckung.
- ['3d_plot',Mode,Step,qa,qb,qc,qd,ZoomFac,CenterRow,CenterCol,
CenterHeight]["3d_plot",Mode,Step,qa,qb,qc,qd,ZoomFac,CenterRow,CenterCol,
CenterHeight]["3d_plot",Mode,Step,qa,qb,qc,qd,ZoomFac,CenterRow,CenterCol,
CenterHeight]["3d_plot",Mode,Step,qa,qb,qc,qd,ZoomFac,CenterRow,CenterCol,
CenterHeight]["3d_plot",Mode,Step,qa,qb,qc,qd,ZoomFac,CenterRow,CenterCol,
CenterHeight]["3d_plot",Mode,Step,qa,qb,qc,qd,ZoomFac,CenterRow,CenterCol,
CenterHeight]
-
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:
- 'texture'"texture""texture""texture""texture""texture"
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.
- 'shaded'"shaded""shaded""shaded""shaded""shaded"
Das Höhenmodell wird als geschlossene Fläche dargestellt
und mit der aktuellen LUT koloriert.
- 'hidden_lines'"hidden_lines""hidden_lines""hidden_lines""hidden_lines""hidden_lines"
Das Höhenmodell wird als Gitter dargestellt, wobei
verdeckte Linien nicht dargestellt werden. Das Gitter
wird mit der aktuellen LUT koloriert.
- 'contour_lines'"contour_lines""contour_lines""contour_lines""contour_lines""contour_lines"
Ähnlich zum Modus 'contourlines'"contourlines""contourlines""contourlines""contourlines""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_quataxis_angle_to_quatAxisAngleToQuataxis_angle_to_quatAxisAngleToQuatAxisAngleToQuat).
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'"auto""auto""auto""auto""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_partset_partSetPartset_partSetPartSetPart korrekt gesetzt wurde, bevor set_paintset_paintSetPaintset_paintSetPaintSetPaint aufgerufen
wird. Wird der dritte Wert des Tupels auf 'auto'"auto""auto""auto""auto""auto" gesetzt, so wird
die vorherige (bzw. die vorgegebene) Orientierung verwendet. Wird der
siebte Parameter auf 'auto'"auto""auto""auto""auto""auto" gesetzt, wird die angegebene
Orientierung verwendet. Es ist nicht möglich, nach 'auto'"auto""auto""auto""auto""auto" noch
Parameter im Tupel anzugeben. Außerdem funktioniert 'auto'"auto""auto""auto""auto""auto" nur dann
richtig, wenn 'scale_plot'"scale_plot""scale_plot""scale_plot""scale_plot""scale_plot" mittels set_window_paramset_window_paramSetWindowParamset_window_paramSetWindowParamSetWindowParam auf
'true'"true""true""true""true""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_poseupdate_window_poseUpdateWindowPoseupdate_window_poseUpdateWindowPoseUpdateWindowPose
bietet einen intuitiven Weg, um obige Parameter zum Beispiel mit Hilfe der
Maus zu verändern.
Mit den Operatorn set_rgbset_rgbSetRgbset_rgbSetRgbSetRgb, set_colorset_colorSetColorset_colorSetColorSetColor und set_coloredset_coloredSetColoredset_coloredSetColoredSetColored
können die Farben für die Zeilen-, Spalten- und Höhenachse (in dieser
Reihenfolge) beeinflusst werden.
Zusätzliche Parameter die den 3D-Plot beinflussen, können mit
set_window_paramset_window_paramSetWindowParamset_window_paramSetWindowParamSetWindowParam gesetzt werden.
Falls Sie '3d_plot'"3d_plot""3d_plot""3d_plot""3d_plot""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]["3d_plot","shaded",8,0.939,-0.052,0.296,-0.165,0.401,0.072,-0.047,
-0.073]["3d_plot","shaded",8,0.939,-0.052,0.296,-0.165,0.401,0.072,-0.047,
-0.073]["3d_plot","shaded",8,0.939,-0.052,0.296,-0.165,0.401,0.072,-0.047,
-0.073]["3d_plot","shaded",8,0.939,-0.052,0.296,-0.165,0.401,0.072,-0.047,
-0.073]["3d_plot","shaded",8,0.939,-0.052,0.296,-0.165,0.401,0.072,-0.047,
-0.073]
-
Zweikanalige Bilder
- 'default'"default""default""default""default""default"
Darstellung des ersten Kanals.
-
Dreikanalige Bilder
- 'default'"default""default""default""default""default"
Ausgabe als RGB-Bild mit 'median_cut'.
- 'television'"television""television""television""television""television"
-
Farbadditionsalgorithmus für RGB-Bilder (d.h. 3
RGB-Komponenten bei disp_imagedisp_imageDispImagedisp_imageDispImageDispImage nötig)
Schnelles Verfahren, beim dem alle Farbbilder die
gleiche Farbtabelle verwenden.
Nachteil:
Verringerung der Auflösung und nur bei guten
(hellen) Bildschirmen einsetzbar.
- 'grid_scan'"grid_scan""grid_scan""grid_scan""grid_scan""grid_scan"
-
Grid-Scan-Algorithmus für RGB-Bilder (d.h. 3
RGB- Komponenten bei disp_imagedisp_imageDispImagedisp_imageDispImageDispImage nötig)
Mittelschnelles Verfahren, das eine für das
Farbbild optimierte Tabelle erzeugt.
Nachteile: Keine fließenden Farbübergänge und
verschiedene Farbtabellen für jedes Bild.
- 'grid_scan_floyd_steinberg'"grid_scan_floyd_steinberg""grid_scan_floyd_steinberg""grid_scan_floyd_steinberg""grid_scan_floyd_steinberg""grid_scan_floyd_steinberg"
grid_scan mit Floyd-Steinberg-Algorithmus für
fließende Farbübergänge.
- 'median_cut'"median_cut""median_cut""median_cut""median_cut""median_cut"
-
Median-Cut-Algorithmus für RGB-Bilder (d.h. 3
RGB- Komponenten bei disp_imagedisp_imageDispImagedisp_imageDispImageDispImage nötig)
Verfahren ähnlich wie 'grid_scan'.
Nachteile: Keine fließenden Farbübergänge und
verschiedene Farbtabellen für jedes Bild.
- 'median_cut_floyd_steinberg'"median_cut_floyd_steinberg""median_cut_floyd_steinberg""median_cut_floyd_steinberg""median_cut_floyd_steinberg""median_cut_floyd_steinberg"
'median_cut' mit Floyd-Steinberg-Algorithmus für
fließende Farbübergänge.
-
Vektorfeldbilder
- ['vector_field', Mode, Step, MinLength, ScaleLength, CircleSize]["vector_field", Mode, Step, MinLength, ScaleLength, CircleSize]["vector_field", Mode, Step, MinLength, ScaleLength, CircleSize]["vector_field", Mode, Step, MinLength, ScaleLength, CircleSize]["vector_field", Mode, Step, MinLength, ScaleLength, CircleSize]["vector_field", Mode, Step, MinLength, ScaleLength, CircleSize]
-
- 'vector_field'"vector_field""vector_field""vector_field""vector_field""vector_field"
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_paintset_paintSetPaintset_paintSetPaintSetPaint eingestellt worden ist.
- ['vector_field','relative',16,2,3,5]["vector_field","relative",16,2,3,5]["vector_field","relative",16,2,3,5]["vector_field","relative",16,2,3,5]["vector_field","relative",16,2,3,5]["vector_field","relative",16,2,3,5]
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.
-
Es ist zu beachten, dass bei der Darstellung von Echtfarbenbildern
('television', 'grid_scan', etc.) die Farbtabellen verändert werden.
-
Falls ein falscher Ausgabemodus gesetzt wird, erfolgt die
Fehlermeldung teilweise erst bei dem Aufruf von disp_imagedisp_imageDispImagedisp_imageDispImageDispImage.
-
Die Ausgabe der Grauwerte wird teilweise auch von
Darstellungsparametern
für Regionen beeinflusst. Dies kann zu unerwarteten Ergebnissen führen.
- Multithreading-Typ: reentrant (läuft parallel zu nicht-exklusiven Operatoren).
- Multithreading-Bereich: global (kann von jedem Thread aufgerufen werden).
- Wird ohne Parallelisierung verarbeitet.
ModeModeModeModeModemode (input_control) string-array → HTupleHTupleHTupleVARIANTHtuple (string / integer / real) (string / int / long / double) (HString / Hlong / double) (char* / Hlong / double) (BSTR / Hlong / double) (char* / Hlong / double)
Name des Grauwertmodus, eventuell mit Parameter.
Defaultwert:
'default'
"default"
"default"
"default"
"default"
"default"
Werteliste: '3d_plot'"3d_plot""3d_plot""3d_plot""3d_plot""3d_plot", '3d_plot_hidden_lines'"3d_plot_hidden_lines""3d_plot_hidden_lines""3d_plot_hidden_lines""3d_plot_hidden_lines""3d_plot_hidden_lines", '3d_plot_lines'"3d_plot_lines""3d_plot_lines""3d_plot_lines""3d_plot_lines""3d_plot_lines", '3d_plot_point'"3d_plot_point""3d_plot_point""3d_plot_point""3d_plot_point""3d_plot_point", 'column'"column""column""column""column""column", 'contourline'"contourline""contourline""contourline""contourline""contourline", 'default'"default""default""default""default""default", 'histogram'"histogram""histogram""histogram""histogram""histogram", 'row'"row""row""row""row""row", 'vector_field'"vector_field""vector_field""vector_field""vector_field""vector_field"
read_image(Image,'fabrik')
open_window(0,0,-1,-1,'root','visible','',WindowHandle)
query_paint(WindowHandle,Modi)
fwrite_string(FileHandle,['available gray value modes: ',Modi])
fnew_line(FileHandle)
disp_image(Image,WindowHandle)
get_mbutton(WindowHandle,_,_,_)
set_color(WindowHandle,'red')
set_draw(WindowHandle,'margin')
set_paint(WindowHandle,'histogram')
disp_image(Image,WindowHandle)
set_color(WindowHandle,'blue')
set_paint(WindowHandle,['histogram',100,100,3])
disp_image(Image,WindowHandle)
set_color(WindowHandle,'yellow')
set_paint(WindowHandle,['row',100])
disp_image(Image,WindowHandle)
get_mbutton(WindowHandle,_,_,_)
clear_window(WindowHandle)
set_paint(WindowHandle,['contourline',10,1])
disp_image(Image,WindowHandle)
set_lut(WindowHandle,'color')
get_mbutton(WindowHandle,_,_,_)
clear_window(WindowHandle)
set_part(WindowHandle,100,100,300,300)
set_paint(WindowHandle,'3d_plot')
disp_image(Image,WindowHandle)
Htuple Modi,TmpTuple1,TmpTuple2,TmpTuple3, WindowHandleTuple ;
create_tuple(&TmpTuple1,1) ;
create_tuple(&TmpTuple2,2) ;
create_tuple(&TmpTuple3,3) ;
create_tuple(&WindowHandleTuple,1) ;
read_image(&Image,"fabrik") ;
open_window(0,0,-1,-1,"root","visible","",&WindowHandle) ;
T_query_paint(WindowHandleTuple,Modi) ;
T_fwrite_string(FileHandle,Modi) ;
fnew_line(FileHandle) ;
disp_image(Image,WindowHandle) ;
get_mbutton(WindowHandle,NULL,NULL,NULL) ;
set_s(TmpTuple1,"red",0) ;
set_i(WindowHandleTuple,WindowHandle,0);
T_set_color(WindowHandleTuple,TmpTuple1) ;
set_draw(WindowHandle,"margin") ;
set_s(TmpTuple1,"histogram",0) ;
T_set_paint(WindowHandleTuple,TmpTuple1) ;
disp_image(Image,WindowHandle) ;
set_s(TmpTuple1,"blue",0) ;
T_set_color(WindowHandleTuple,TmpTuple1) ;
set_s(TmpTuple3,"histogram",0) ;
set_s(TmpTuple3,100,1) ;
set_s(TmpTuple3,100,2) ;
T_set_paint(WindowHandleTuple,TmpTuple3) ;
disp_image(Image,WindowHandle) ;
set_s(TmpTuple1,"yellow",0) ;
T_set_color(WindowHandleTuple,TmpTuple1) ;
set_s(TmpTuple2,"line",0) ;
set_s(TmpTuple2,100,1) ;
T_set_paint(WindowHandleTuple,TmpTuple3) ;
disp_image(Image,WindowHandle) ;
get_mbutton(WindowHandle,NULL,NULL,NULL) ;
clear_window(WindowHandle) ;
set_s(TmpTuple3,"contourline",0) ;
set_s(TmpTuple3,10,1) ;
set_s(TmpTuple3,1,2) ;
T_set_paint(WindowHandleTuple,TmpTuple3) ;
disp_image(Image,WindowHandle) ;
set_lut(WindowHandle,"color") ;
get_mbutton(WindowHandle,NULL,NULL,NULL) ;
clear_window(WindowHandle) ;
set_part(WindowHandle,100,100,300,300) ;
set_s(TmpTuple1,"3d_plot",0) ;
T_set_paint(WindowHandleTuple,TmpTuple1) ;
disp_image(Image,WindowHandle) ;
read_image(Image,'fabrik')
open_window(0,0,-1,-1,'root','visible','',WindowHandle)
query_paint(WindowHandle,Modi)
fwrite_string(FileHandle,['available gray value modes: ',Modi])
fnew_line(FileHandle)
disp_image(Image,WindowHandle)
get_mbutton(WindowHandle,_,_,_)
set_color(WindowHandle,'red')
set_draw(WindowHandle,'margin')
set_paint(WindowHandle,'histogram')
disp_image(Image,WindowHandle)
set_color(WindowHandle,'blue')
set_paint(WindowHandle,['histogram',100,100,3])
disp_image(Image,WindowHandle)
set_color(WindowHandle,'yellow')
set_paint(WindowHandle,['row',100])
disp_image(Image,WindowHandle)
get_mbutton(WindowHandle,_,_,_)
clear_window(WindowHandle)
set_paint(WindowHandle,['contourline',10,1])
disp_image(Image,WindowHandle)
set_lut(WindowHandle,'color')
get_mbutton(WindowHandle,_,_,_)
clear_window(WindowHandle)
set_part(WindowHandle,100,100,300,300)
set_paint(WindowHandle,'3d_plot')
disp_image(Image,WindowHandle)
read_image(Image,'fabrik')
open_window(0,0,-1,-1,'root','visible','',WindowHandle)
query_paint(WindowHandle,Modi)
fwrite_string(FileHandle,['available gray value modes: ',Modi])
fnew_line(FileHandle)
disp_image(Image,WindowHandle)
get_mbutton(WindowHandle,_,_,_)
set_color(WindowHandle,'red')
set_draw(WindowHandle,'margin')
set_paint(WindowHandle,'histogram')
disp_image(Image,WindowHandle)
set_color(WindowHandle,'blue')
set_paint(WindowHandle,['histogram',100,100,3])
disp_image(Image,WindowHandle)
set_color(WindowHandle,'yellow')
set_paint(WindowHandle,['row',100])
disp_image(Image,WindowHandle)
get_mbutton(WindowHandle,_,_,_)
clear_window(WindowHandle)
set_paint(WindowHandle,['contourline',10,1])
disp_image(Image,WindowHandle)
set_lut(WindowHandle,'color')
get_mbutton(WindowHandle,_,_,_)
clear_window(WindowHandle)
set_part(WindowHandle,100,100,300,300)
set_paint(WindowHandle,'3d_plot')
disp_image(Image,WindowHandle)
read_image(Image,'fabrik')
open_window(0,0,-1,-1,'root','visible','',WindowHandle)
query_paint(WindowHandle,Modi)
fwrite_string(FileHandle,['available gray value modes: ',Modi])
fnew_line(FileHandle)
disp_image(Image,WindowHandle)
get_mbutton(WindowHandle,_,_,_)
set_color(WindowHandle,'red')
set_draw(WindowHandle,'margin')
set_paint(WindowHandle,'histogram')
disp_image(Image,WindowHandle)
set_color(WindowHandle,'blue')
set_paint(WindowHandle,['histogram',100,100,3])
disp_image(Image,WindowHandle)
set_color(WindowHandle,'yellow')
set_paint(WindowHandle,['row',100])
disp_image(Image,WindowHandle)
get_mbutton(WindowHandle,_,_,_)
clear_window(WindowHandle)
set_paint(WindowHandle,['contourline',10,1])
disp_image(Image,WindowHandle)
set_lut(WindowHandle,'color')
get_mbutton(WindowHandle,_,_,_)
clear_window(WindowHandle)
set_part(WindowHandle,100,100,300,300)
set_paint(WindowHandle,'3d_plot')
disp_image(Image,WindowHandle)
read_image(Image,'fabrik')
open_window(0,0,-1,-1,'root','visible','',WindowHandle)
query_paint(WindowHandle,Modi)
fwrite_string(FileHandle,['available gray value modes: ',Modi])
fnew_line(FileHandle)
disp_image(Image,WindowHandle)
get_mbutton(WindowHandle,_,_,_)
set_color(WindowHandle,'red')
set_draw(WindowHandle,'margin')
set_paint(WindowHandle,'histogram')
disp_image(Image,WindowHandle)
set_color(WindowHandle,'blue')
set_paint(WindowHandle,['histogram',100,100,3])
disp_image(Image,WindowHandle)
set_color(WindowHandle,'yellow')
set_paint(WindowHandle,['row',100])
disp_image(Image,WindowHandle)
get_mbutton(WindowHandle,_,_,_)
clear_window(WindowHandle)
set_paint(WindowHandle,['contourline',10,1])
disp_image(Image,WindowHandle)
set_lut(WindowHandle,'color')
get_mbutton(WindowHandle,_,_,_)
clear_window(WindowHandle)
set_part(WindowHandle,100,100,300,300)
set_paint(WindowHandle,'3d_plot')
disp_image(Image,WindowHandle)
set_paintset_paintSetPaintset_paintSetPaintSetPaint liefert den Wert 2 (H_MSG_TRUE), falls der Parameter korrekt und
das Fenster gültig ist.
Ansonsten wird eine Fehlerbehandlung durchgeführt.
query_paintquery_paintQueryPaintquery_paintQueryPaintQueryPaint,
get_paintget_paintGetPaintget_paintGetPaintGetPaint
disp_imagedisp_imageDispImagedisp_imageDispImageDispImage
get_paintget_paintGetPaintget_paintGetPaintGetPaint,
query_paintquery_paintQueryPaintquery_paintQueryPaintQueryPaint,
disp_imagedisp_imageDispImagedisp_imageDispImageDispImage,
set_shapeset_shapeSetShapeset_shapeSetShapeSetShape,
set_rgbset_rgbSetRgbset_rgbSetRgbSetRgb,
set_colorset_colorSetColorset_colorSetColorSetColor,
set_grayset_graySetGrayset_graySetGraySetGray,
set_window_paramset_window_paramSetWindowParamset_window_paramSetWindowParamSetWindowParam,
update_window_poseupdate_window_poseUpdateWindowPoseupdate_window_poseUpdateWindowPoseUpdateWindowPose
Foundation