ClassesClassesClassesClasses | | | | Operators

transpose_regiontranspose_regionTransposeRegiontranspose_regionTransposeRegionTransposeRegion (Operator)


transpose_regiontranspose_regionTransposeRegiontranspose_regionTransposeRegionTransposeRegion — Reflect a region about a point.


transpose_region(Region : Transposed : Row, Column : )

Herror transpose_region(const Hobject Region, Hobject* Transposed, const Hlong Row, const Hlong Column)

Herror T_transpose_region(const Hobject Region, Hobject* Transposed, const Htuple Row, const Htuple Column)

Herror transpose_region(Hobject Region, Hobject* Transposed, const HTuple& Row, const HTuple& Column)

HRegion HRegion::TransposeRegion(const HTuple& Row, const HTuple& Column) const

HRegionArray HRegionArray::TransposeRegion(const HTuple& Row, const HTuple& Column) const

void TransposeRegion(const HObject& Region, HObject* Transposed, const HTuple& Row, const HTuple& Column)

HRegion HRegion::TransposeRegion(Hlong Row, Hlong Column) const

void HOperatorSetX.TransposeRegion(
[in] IHUntypedObjectX* Region, [out] IHUntypedObjectX*Transposed, [in] VARIANT Row, [in] VARIANT Column)

IHRegionX* HRegionX.TransposeRegion(
[in] Hlong Row, [in] Hlong Column)

static void HOperatorSet.TransposeRegion(HObject region, out HObject transposed, HTuple row, HTuple column)

HRegion HRegion.TransposeRegion(int row, int column)


transpose_regiontranspose_regionTransposeRegiontranspose_regionTransposeRegionTransposeRegion reflects a region about a point. The fixed point is given by ColumnColumnColumnColumnColumncolumn and RowRowRowRowRowrow. The image P' of a point P is determined by the following requirement:

If P = S, then P' = S, i.e., the point S is the fixed point of the mapping. If P != S, S is the center point of a line segment connecting P and P'. Therefore, the following equations result:

    x' = 2 * Column - x
    y' = 2 * Row - y.

If RowRowRowRowRowrow and ColumnColumnColumnColumnColumncolumn are set to the origin, the in morphology often used transposition results. Hence transpose_regiontranspose_regionTransposeRegiontranspose_regionTransposeRegionTransposeRegion is often used to reflect (transpose) a structuring element.



RegionRegionRegionRegionRegionregion (input_object)  region(-array) objectHRegionHRegionHRegionHRegionXHobject

Region to be reflected.

TransposedTransposedTransposedTransposedTransposedtransposed (output_object)  region(-array) objectHRegionHRegionHRegionHRegionXHobject *

Transposed region.

RowRowRowRowRowrow (input_control)  point.y HTupleHTupleHTupleVARIANTHtuple (integer) (int / long) (Hlong) (Hlong) (Hlong) (Hlong)

Row coordinate of the reference point.

Default value: 0

Suggested values: 0, 64, 128, 256, 512

Typical range of values: 0 ≤ Row Row Row Row Row row ≤ 511 (lin)

Minimum increment: 1

Recommended increment: 1

ColumnColumnColumnColumnColumncolumn (input_control)  point.x HTupleHTupleHTupleVARIANTHtuple (integer) (int / long) (Hlong) (Hlong) (Hlong) (Hlong)

Column coordinate of the reference point.

Default value: 0

Suggested values: 0, 64, 128, 256, 512

Typical range of values: 0 ≤ Column Column Column Column Column column ≤ 511 (lin)

Minimum increment: 1

Recommended increment: 1


Let F be the area of the input region. Then the runtime complexity for one region is

      O(sqrt(F)) .


transpose_regiontranspose_regionTransposeRegiontranspose_regionTransposeRegionTransposeRegion returns 2 (H_MSG_TRUE) if all parameters are correct. The behavior in case of empty or no input region can be set via:

Otherwise, an exception is raised.

Possible Successors

reduce_domainreduce_domainReduceDomainreduce_domainReduceDomainReduceDomain, select_shapeselect_shapeSelectShapeselect_shapeSelectShapeSelectShape, area_centerarea_centerAreaCenterarea_centerAreaCenterAreaCenter, connectionconnectionConnectionconnectionConnectionConnection

See also

dilation1dilation1Dilation1dilation1Dilation1Dilation1, openingopeningOpeningopeningOpeningOpening, closingclosingClosingclosingClosingClosing



ClassesClassesClassesClasses | | | | Operators