| Operatoren |
polar_trans_region_inv — Rücktransformieren einer Region in Polarkoordinaten.
polar_trans_region_inv(PolarRegion : XYTransRegion : Row, Column, AngleStart, AngleEnd, RadiusStart, RadiusEnd, WidthIn, HeightIn, Width, Height, Interpolation : )
polar_trans_region_inv transformiert die Polarkoordinatendarstellung einer Region, gespeichert in PolarRegion, zurück auf einen Kreisring in kartesischen Koordinaten, der durch die Radien RadiusStart und RadiusEnd sowie durch die Winkel AngleStart und AngleEnd beschrieben ist und dessen Mittelpunkt in (Row, Column) liegt. Alle diese Werte können frei aus den reellen Zahlen gewählt werden. Zusätzlich müssen die Dimensionen des virtuellen Eingabebildes, welches die Region PolarRegion enthält, in WidthIn und HeightIn übergeben werden. WidthIn-1 ist die Spaltenkoordinate, die AngleEnd entspricht, und HeightIn-1 ist die Zeilenkoordinate, die RadiusEnd entspricht. AngleStart bzw. RadiusStart entspricht der Spalten- bzw. Zeilenkoordinate 0. Außerdem müssen die Dimensionen des virtuellen Ausgabebildes, welches die Region XYTransRegion enthält, in Width und Height übergeben werden.
Die Winkel und Radien sind inklusive, die Zeile mit der Koordinate 0 der Eingaberegion wird also auf einen Kreis im Abstand RadiusStart vom angegebenen Mittelpunkt abgebildet, die Zeile mit der Koordinate HeightIn-1 auf einen Kreis im Abstand RadiusEnd. Das Gleiche gilt für AngleStart, AngleEnd und WidthIn. Entspricht die Breite der Eingaberegion einem Winkelintervall, dessen Länge größer als 2pi ist, wird die Eingaberegion so beschnitten, dass die Länge dieses Intervalls 2pi ist.
Über den Parameter Interpolation kann dabei zwischen den Interpolationsverfahren 'bilinear' und 'nearest_neighbor' gewählt werden. Die Wahl Interpolation = 'bilinear' kann insbesondere bei Vergrößerungen zu glatteren Regionenrändern führen. Allerdings steigt dadurch die Laufzeit signifikant an.
polar_trans_region_inv ist die exakte Umkehrfunktion zu polar_trans_region.
Die Aufrufsequenz:
polar_trans_region(Region, PolarRegion, Row, Column, rad(360), 0, 0,
Radius, Width, Height, 'nearest_neighbor')
polar_trans_region_inv(PolarRegion, XYTransRegion, Row, Column, rad(360), 0,
0, Radius, Width, Height, Width, Height,
'nearest_neighbor')
liefert in der Ausgaberegion XYTransRegion die Region
Region eingeschränkt auf den Kreis um
(Row,Column) mit Radius Radius zurück.
Werden mehrere Regionen in PolarRegion übergeben, werden deren Transformationen individuell berechnet und als Tupel in XYTransRegion abgespeichert. Dabei entsprechen die Indizes von Ein- und Ausgaberegionen nur dann einander, wenn die Systemvariable 'store_empty_regions' auf 'true' gesetzt wird (siehe auch 'set_system'). Sonst werden leere Regionen nicht zurückgegeben und deshalb entspricht die Länge des Ausgabetupels XYTransRegion im Allgemeinen nicht der Länge des Eingabetupels PolarRegion.
Werden die Dimensionen des virtuellen Ausgabebildes Width und Height größer als die Dimensionen des aktuellen Bildes gewählt, sollte die Systemvariable 'clip_region' auf 'false' gesetzt werden (siehe auch set_system). Andernfalls kann eine Ausgaberegion, die nicht innerhalb der Dimensionen des aktuellen Bildes liegt, zu einer Fehlermeldung führen.
Eingaberegion.
Ergebnisregion.
Zeilenkoordinate des Kreismittelpunktes.
Defaultwert: 256
Wertevorschläge: 0, 16, 32, 64, 128, 240, 256, 480, 512
Typischer Wertebereich: 0 ≤ Row ≤ 32767
Restriktion: Row >= -131068 && Row <= 131068
Spaltenkoordinate des Kreismittelpunktes.
Defaultwert: 256
Wertevorschläge: 0, 16, 32, 64, 128, 256, 320, 512, 640
Typischer Wertebereich: 0 ≤ Column ≤ 32767
Restriktion: Column >= -131068 && Column <= 131068
Winkel, auf den die Spaltenkoordinate 0 von PolarRegion abgebildet wird.
Defaultwert: 0.0
Wertevorschläge: 0.0, 0.78539816, 1.57079632, 3.141592654, 6.2831853
Typischer Wertebereich: -6.2831853 ≤ AngleStart ≤ 6.2831853
Winkel, auf den die Spaltenkoordinate WidthIn -1 in PolarRegion abgebildet wird.
Defaultwert: 6.2831853
Wertevorschläge: 0.0, 0.78539816, 1.57079632, 3.141592654, 6.2831853
Typischer Wertebereich: -6.2831853 ≤ AngleEnd ≤ 6.2831853
Kreisradius, auf den die Zeilenkoordinate 0 in PolarRegion abgebildet wird.
Defaultwert: 0
Wertevorschläge: 0, 16, 32, 64, 100, 128, 256, 512
Typischer Wertebereich: 0 ≤ RadiusStart ≤ 32767
Kreisradius, auf den die Zeilenkoordinate HeightIn-1 in PolarRegion abgebildet wird.
Defaultwert: 100
Wertevorschläge: 0, 16, 32, 64, 100, 128, 256, 512
Typischer Wertebereich: 0 ≤ RadiusEnd ≤ 32767
Breite des virtuellen Eingabebildes.
Defaultwert: 512
Wertevorschläge: 256, 320, 512, 640, 800, 1024
Typischer Wertebereich: 2 ≤ WidthIn ≤ 32767
Höhe des virtuellen Eingabebildes.
Defaultwert: 512
Wertevorschläge: 240, 256, 480, 512, 600, 1024
Typischer Wertebereich: 2 ≤ HeightIn ≤ 32767
Breite des virtuellen Zielbildes.
Defaultwert: 512
Wertevorschläge: 256, 320, 512, 640, 800, 1024
Typischer Wertebereich: 1 ≤ Width ≤ 32767
Höhe des virtuellen Zielbildes.
Defaultwert: 512
Wertevorschläge: 240, 256, 480, 512, 600, 1024
Typischer Wertebereich: 1 ≤ Height ≤ 32767
Interpolationsverfahren für die Transformation.
Defaultwert: 'nearest_neighbor'
Werteliste: 'bilinear', 'nearest_neighbor'
polar_trans_image_ext, polar_trans_image_inv, polar_trans_region, polar_trans_contour_xld, polar_trans_contour_xld_inv
Foundation
| Operatoren |