Name
polar_trans_region_invpolar_trans_region_invPolarTransRegionInvpolar_trans_region_invPolarTransRegionInvPolarTransRegionInv — Rücktransformieren einer Region in Polarkoordinaten.
polar_trans_region_inv(PolarRegion : XYTransRegion : Row, Column, AngleStart, AngleEnd, RadiusStart, RadiusEnd, WidthIn, HeightIn, Width, Height, Interpolation : )
Herror polar_trans_region_inv(const Hobject PolarRegion, Hobject* XYTransRegion, double Row, double Column, double AngleStart, double AngleEnd, double RadiusStart, double RadiusEnd, const Hlong WidthIn, const Hlong HeightIn, const Hlong Width, const Hlong Height, const char* Interpolation)
Herror T_polar_trans_region_inv(const Hobject PolarRegion, Hobject* XYTransRegion, const Htuple Row, const Htuple Column, const Htuple AngleStart, const Htuple AngleEnd, const Htuple RadiusStart, const Htuple RadiusEnd, const Htuple WidthIn, const Htuple HeightIn, const Htuple Width, const Htuple Height, const Htuple Interpolation)
Herror polar_trans_region_inv(Hobject PolarRegion, Hobject* XYTransRegion, const HTuple& Row, const HTuple& Column, const HTuple& AngleStart, const HTuple& AngleEnd, const HTuple& RadiusStart, const HTuple& RadiusEnd, const HTuple& WidthIn, const HTuple& HeightIn, const HTuple& Width, const HTuple& Height, const HTuple& Interpolation)
HRegion HRegion::PolarTransRegionInv(const HTuple& Row, const HTuple& Column, const HTuple& AngleStart, const HTuple& AngleEnd, const HTuple& RadiusStart, const HTuple& RadiusEnd, const HTuple& WidthIn, const HTuple& HeightIn, const HTuple& Width, const HTuple& Height, const HTuple& Interpolation) const
HRegionArray HRegionArray::PolarTransRegionInv(const HTuple& Row, const HTuple& Column, const HTuple& AngleStart, const HTuple& AngleEnd, const HTuple& RadiusStart, const HTuple& RadiusEnd, const HTuple& WidthIn, const HTuple& HeightIn, const HTuple& Width, const HTuple& Height, const HTuple& Interpolation) const
void PolarTransRegionInv(const HObject& PolarRegion, HObject* XYTransRegion, const HTuple& Row, const HTuple& Column, const HTuple& AngleStart, const HTuple& AngleEnd, const HTuple& RadiusStart, const HTuple& RadiusEnd, const HTuple& WidthIn, const HTuple& HeightIn, const HTuple& Width, const HTuple& Height, const HTuple& Interpolation)
HRegion HRegion::PolarTransRegionInv(const HTuple& Row, const HTuple& Column, double AngleStart, double AngleEnd, const HTuple& RadiusStart, const HTuple& RadiusEnd, Hlong WidthIn, Hlong HeightIn, Hlong Width, Hlong Height, const HString& Interpolation) const
HRegion HRegion::PolarTransRegionInv(double Row, double Column, double AngleStart, double AngleEnd, double RadiusStart, double RadiusEnd, Hlong WidthIn, Hlong HeightIn, Hlong Width, Hlong Height, const HString& Interpolation) const
HRegion HRegion::PolarTransRegionInv(double Row, double Column, double AngleStart, double AngleEnd, double RadiusStart, double RadiusEnd, Hlong WidthIn, Hlong HeightIn, Hlong Width, Hlong Height, const char* Interpolation) const
void HOperatorSetX.PolarTransRegionInv(
[in] IHUntypedObjectX* PolarRegion, [out] IHUntypedObjectX** XYTransRegion, [in] VARIANT Row, [in] VARIANT Column, [in] VARIANT AngleStart, [in] VARIANT AngleEnd, [in] VARIANT RadiusStart, [in] VARIANT RadiusEnd, [in] VARIANT WidthIn, [in] VARIANT HeightIn, [in] VARIANT Width, [in] VARIANT Height, [in] VARIANT Interpolation)
IHRegionX* HRegionX.PolarTransRegionInv(
[in] VARIANT Row, [in] VARIANT Column, [in] double AngleStart, [in] double AngleEnd, [in] VARIANT RadiusStart, [in] VARIANT RadiusEnd, [in] Hlong WidthIn, [in] Hlong HeightIn, [in] Hlong Width, [in] Hlong Height, [in] BSTR Interpolation)
static void HOperatorSet.PolarTransRegionInv(HObject polarRegion, out HObject XYTransRegion, HTuple row, HTuple column, HTuple angleStart, HTuple angleEnd, HTuple radiusStart, HTuple radiusEnd, HTuple widthIn, HTuple heightIn, HTuple width, HTuple height, HTuple interpolation)
HRegion HRegion.PolarTransRegionInv(HTuple row, HTuple column, double angleStart, double angleEnd, HTuple radiusStart, HTuple radiusEnd, int widthIn, int heightIn, int width, int height, string interpolation)
HRegion HRegion.PolarTransRegionInv(double row, double column, double angleStart, double angleEnd, double radiusStart, double radiusEnd, int widthIn, int heightIn, int width, int height, string interpolation)
polar_trans_region_invpolar_trans_region_invPolarTransRegionInvpolar_trans_region_invPolarTransRegionInvPolarTransRegionInv transformiert die
Polarkoordinatendarstellung einer Region, gespeichert in
PolarRegionPolarRegionPolarRegionPolarRegionPolarRegionpolarRegion, zurück auf einen Kreisring in kartesischen
Koordinaten, der durch die Radien RadiusStartRadiusStartRadiusStartRadiusStartRadiusStartradiusStart und
RadiusEndRadiusEndRadiusEndRadiusEndRadiusEndradiusEnd sowie durch die Winkel AngleStartAngleStartAngleStartAngleStartAngleStartangleStart und
AngleEndAngleEndAngleEndAngleEndAngleEndangleEnd beschrieben ist und dessen Mittelpunkt in
(RowRowRowRowRowrow, ColumnColumnColumnColumnColumncolumn) 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
PolarRegionPolarRegionPolarRegionPolarRegionPolarRegionpolarRegion enthält, in WidthInWidthInWidthInWidthInWidthInwidthIn und
HeightInHeightInHeightInHeightInHeightInheightIn übergeben werden. WidthInWidthInWidthInWidthInWidthInwidthIn-1 ist die
Spaltenkoordinate, die AngleEndAngleEndAngleEndAngleEndAngleEndangleEnd entspricht, und
HeightInHeightInHeightInHeightInHeightInheightIn-1 ist die Zeilenkoordinate, die
RadiusEndRadiusEndRadiusEndRadiusEndRadiusEndradiusEnd entspricht. AngleStartAngleStartAngleStartAngleStartAngleStartangleStart
bzw. RadiusStartRadiusStartRadiusStartRadiusStartRadiusStartradiusStart entspricht der Spalten-
bzw. Zeilenkoordinate 0. Außerdem müssen die Dimensionen
des virtuellen Ausgabebildes, welches die Region
XYTransRegionXYTransRegionXYTransRegionXYTransRegionXYTransRegionXYTransRegion enthält, in WidthWidthWidthWidthWidthwidth und
HeightHeightHeightHeightHeightheight übergeben werden.
Die Winkel und Radien sind inklusive, die Zeile mit der Koordinate
0 der Eingaberegion wird also auf einen Kreis im Abstand
RadiusStartRadiusStartRadiusStartRadiusStartRadiusStartradiusStart vom angegebenen Mittelpunkt abgebildet, die
Zeile mit der Koordinate HeightInHeightInHeightInHeightInHeightInheightIn-1 auf einen Kreis im
Abstand RadiusEndRadiusEndRadiusEndRadiusEndRadiusEndradiusEnd. Das Gleiche gilt für
AngleStartAngleStartAngleStartAngleStartAngleStartangleStart, AngleEndAngleEndAngleEndAngleEndAngleEndangleEnd und
WidthInWidthInWidthInWidthInWidthInwidthIn. 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 InterpolationInterpolationInterpolationInterpolationInterpolationinterpolation kann dabei zwischen den
Interpolationsverfahren 'bilinear'"bilinear""bilinear""bilinear""bilinear""bilinear" und
'nearest_neighbor'"nearest_neighbor""nearest_neighbor""nearest_neighbor""nearest_neighbor""nearest_neighbor" gewählt werden. Die Wahl
InterpolationInterpolationInterpolationInterpolationInterpolationinterpolation = 'bilinear'"bilinear""bilinear""bilinear""bilinear""bilinear" kann insbesondere bei
Vergrößerungen zu glatteren Regionenrändern führen. Allerdings
steigt dadurch die Laufzeit signifikant an.
polar_trans_region_invpolar_trans_region_invPolarTransRegionInvpolar_trans_region_invPolarTransRegionInvPolarTransRegionInv ist die exakte Umkehrfunktion zu
polar_trans_regionpolar_trans_regionPolarTransRegionpolar_trans_regionPolarTransRegionPolarTransRegion.
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 PolarRegionPolarRegionPolarRegionPolarRegionPolarRegionpolarRegion übergeben, werden
deren Transformationen individuell berechnet und als Tupel in
XYTransRegionXYTransRegionXYTransRegionXYTransRegionXYTransRegionXYTransRegion abgespeichert. Dabei entsprechen die Indizes
von Ein- und Ausgaberegionen nur dann einander, wenn die
Systemvariable 'store_empty_regions'"store_empty_regions""store_empty_regions""store_empty_regions""store_empty_regions""store_empty_regions" auf 'true'"true""true""true""true""true"
gesetzt wird (siehe auch 'set_system'"set_system""set_system""set_system""set_system""set_system"). Sonst werden leere
Regionen nicht zurückgegeben und deshalb entspricht die Länge des
Ausgabetupels XYTransRegionXYTransRegionXYTransRegionXYTransRegionXYTransRegionXYTransRegion im Allgemeinen nicht der Länge
des Eingabetupels PolarRegionPolarRegionPolarRegionPolarRegionPolarRegionpolarRegion.
Werden die Dimensionen des virtuellen Ausgabebildes WidthWidthWidthWidthWidthwidth
und HeightHeightHeightHeightHeightheight größer als die Dimensionen des aktuellen Bildes
gewählt, sollte die Systemvariable 'clip_region'"clip_region""clip_region""clip_region""clip_region""clip_region" auf
'false'"false""false""false""false""false" gesetzt werden (siehe auch
set_systemset_systemSetSystemset_systemSetSystemSetSystem). Andernfalls kann eine Ausgaberegion, die nicht
innerhalb der Dimensionen des aktuellen Bildes liegt, zu einer
Fehlermeldung führen.
- Multithreading-Typ: reentrant (läuft parallel zu nicht-exklusiven Operatoren).
- Multithreading-Bereich: global (kann von jedem Thread aufgerufen werden).
- Automatisch parallelisiert auf Tupelebene.
- Automatisch parallelisiert auf interner Datenebene.
RowRowRowRowRowrow (input_control) number → HTupleHTupleHTupleVARIANTHtuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong) (double / Hlong) (double / Hlong)
Zeilenkoordinate des Kreismittelpunktes.
Defaultwert: 256
Wertevorschläge: 0, 16, 32, 64, 128, 240, 256, 480, 512
Typischer Wertebereich: 0
≤
Row
Row
Row
Row
Row
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
Column
Column
Column
Column
column
≤
32767
Restriktion: Column >= -131068 && Column <= 131068
Breite des virtuellen Eingabebildes.
Defaultwert: 512
Wertevorschläge: 256, 320, 512, 640, 800, 1024
Typischer Wertebereich: 2
≤
WidthIn
WidthIn
WidthIn
WidthIn
WidthIn
widthIn
≤
32767
Höhe des virtuellen Eingabebildes.
Defaultwert: 512
Wertevorschläge: 240, 256, 480, 512, 600, 1024
Typischer Wertebereich: 2
≤
HeightIn
HeightIn
HeightIn
HeightIn
HeightIn
heightIn
≤
32767
Breite des virtuellen Zielbildes.
Defaultwert: 512
Wertevorschläge: 256, 320, 512, 640, 800, 1024
Typischer Wertebereich: 1
≤
Width
Width
Width
Width
Width
width
≤
32767
Höhe des virtuellen Zielbildes.
Defaultwert: 512
Wertevorschläge: 240, 256, 480, 512, 600, 1024
Typischer Wertebereich: 1
≤
Height
Height
Height
Height
Height
height
≤
32767
Interpolationsverfahren für die Transformation.
Defaultwert:
'nearest_neighbor'
"nearest_neighbor"
"nearest_neighbor"
"nearest_neighbor"
"nearest_neighbor"
"nearest_neighbor"
Werteliste: 'bilinear'"bilinear""bilinear""bilinear""bilinear""bilinear", 'nearest_neighbor'"nearest_neighbor""nearest_neighbor""nearest_neighbor""nearest_neighbor""nearest_neighbor"
polar_trans_image_extpolar_trans_image_extPolarTransImageExtpolar_trans_image_extPolarTransImageExtPolarTransImageExt,
polar_trans_image_invpolar_trans_image_invPolarTransImageInvpolar_trans_image_invPolarTransImageInvPolarTransImageInv,
polar_trans_regionpolar_trans_regionPolarTransRegionpolar_trans_regionPolarTransRegionPolarTransRegion,
polar_trans_contour_xldpolar_trans_contour_xldPolarTransContourXldpolar_trans_contour_xldPolarTransContourXldPolarTransContourXld,
polar_trans_contour_xld_invpolar_trans_contour_xld_invPolarTransContourXldInvpolar_trans_contour_xld_invPolarTransContourXldInvPolarTransContourXldInv
Foundation