KlassenKlassenKlassenKlassen | | | | Operatoren

polar_trans_region_invpolar_trans_region_invPolarTransRegionInvpolar_trans_region_invPolarTransRegionInvPolarTransRegionInv (Operator)

Name

polar_trans_region_invpolar_trans_region_invPolarTransRegionInvpolar_trans_region_invPolarTransRegionInvPolarTransRegionInv — Rücktransformieren einer Region in Polarkoordinaten.

Signatur

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)

Beschreibung

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.

Achtung

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.

Parallelisierung

Parameter

PolarRegionPolarRegionPolarRegionPolarRegionPolarRegionpolarRegion (input_object)  region(-array) objectHRegionHRegionHRegionHRegionXHobject

Eingaberegion.

XYTransRegionXYTransRegionXYTransRegionXYTransRegionXYTransRegionXYTransRegion (output_object)  region(-array) objectHRegionHRegionHRegionHRegionXHobject *

Ergebnisregion.

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

ColumnColumnColumnColumnColumncolumn (input_control)  number HTupleHTupleHTupleVARIANTHtuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong) (double / Hlong) (double / Hlong)

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

AngleStartAngleStartAngleStartAngleStartAngleStartangleStart (input_control)  number HTupleHTupleHTupleVARIANTHtuple (real) (double) (double) (double) (double) (double)

Winkel, auf den die Spaltenkoordinate 0 von PolarRegionPolarRegionPolarRegionPolarRegionPolarRegionpolarRegion abgebildet wird.

Defaultwert: 0.0

Wertevorschläge: 0.0, 0.78539816, 1.57079632, 3.141592654, 6.2831853

Typischer Wertebereich: -6.2831853 ≤ AngleStart AngleStart AngleStart AngleStart AngleStart angleStart ≤ 6.2831853

AngleEndAngleEndAngleEndAngleEndAngleEndangleEnd (input_control)  number HTupleHTupleHTupleVARIANTHtuple (real) (double) (double) (double) (double) (double)

Winkel, auf den die Spaltenkoordinate WidthInWidthInWidthInWidthInWidthInwidthIn -1 in PolarRegionPolarRegionPolarRegionPolarRegionPolarRegionpolarRegion abgebildet wird.

Defaultwert: 6.2831853

Wertevorschläge: 0.0, 0.78539816, 1.57079632, 3.141592654, 6.2831853

Typischer Wertebereich: -6.2831853 ≤ AngleEnd AngleEnd AngleEnd AngleEnd AngleEnd angleEnd ≤ 6.2831853

RadiusStartRadiusStartRadiusStartRadiusStartRadiusStartradiusStart (input_control)  number HTupleHTupleHTupleVARIANTHtuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong) (double / Hlong) (double / Hlong)

Kreisradius, auf den die Zeilenkoordinate 0 in PolarRegionPolarRegionPolarRegionPolarRegionPolarRegionpolarRegion abgebildet wird.

Defaultwert: 0

Wertevorschläge: 0, 16, 32, 64, 100, 128, 256, 512

Typischer Wertebereich: 0 ≤ RadiusStart RadiusStart RadiusStart RadiusStart RadiusStart radiusStart ≤ 32767

RadiusEndRadiusEndRadiusEndRadiusEndRadiusEndradiusEnd (input_control)  number HTupleHTupleHTupleVARIANTHtuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong) (double / Hlong) (double / Hlong)

Kreisradius, auf den die Zeilenkoordinate HeightInHeightInHeightInHeightInHeightInheightIn-1 in PolarRegionPolarRegionPolarRegionPolarRegionPolarRegionpolarRegion abgebildet wird.

Defaultwert: 100

Wertevorschläge: 0, 16, 32, 64, 100, 128, 256, 512

Typischer Wertebereich: 0 ≤ RadiusEnd RadiusEnd RadiusEnd RadiusEnd RadiusEnd radiusEnd ≤ 32767

WidthInWidthInWidthInWidthInWidthInwidthIn (input_control)  number HTupleHTupleHTupleVARIANTHtuple (integer) (int / long) (Hlong) (Hlong) (Hlong) (Hlong)

Breite des virtuellen Eingabebildes.

Defaultwert: 512

Wertevorschläge: 256, 320, 512, 640, 800, 1024

Typischer Wertebereich: 2 ≤ WidthIn WidthIn WidthIn WidthIn WidthIn widthIn ≤ 32767

HeightInHeightInHeightInHeightInHeightInheightIn (input_control)  number HTupleHTupleHTupleVARIANTHtuple (integer) (int / long) (Hlong) (Hlong) (Hlong) (Hlong)

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

WidthWidthWidthWidthWidthwidth (input_control)  number HTupleHTupleHTupleVARIANTHtuple (integer) (int / long) (Hlong) (Hlong) (Hlong) (Hlong)

Breite des virtuellen Zielbildes.

Defaultwert: 512

Wertevorschläge: 256, 320, 512, 640, 800, 1024

Typischer Wertebereich: 1 ≤ Width Width Width Width Width width ≤ 32767

HeightHeightHeightHeightHeightheight (input_control)  number HTupleHTupleHTupleVARIANTHtuple (integer) (int / long) (Hlong) (Hlong) (Hlong) (Hlong)

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

InterpolationInterpolationInterpolationInterpolationInterpolationinterpolation (input_control)  string HTupleHTupleHTupleVARIANTHtuple (string) (string) (HString) (char*) (BSTR) (char*)

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"

Siehe auch

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

Modul

Foundation


KlassenKlassenKlassenKlassen | | | | Operatoren