transpose ( Region : Transposed : Row, Column : )

Reflect a region about a point.

transpose reflects a region about a point. The fixed point is given by Column and Row. 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 Row and Column are set to the origin, the in morphology often used transposition results. Hence transpose is often used to reflect (transpose) a structuring element.


Parameters

Region (input_object)
region(-array) -> object
Region to be reflected.

Transposed (output_object)
region(-array) -> object
Transposed region.

Row (input_control)
point.y -> integer
Row coordinate of the reference point.
Default value: 0
Suggested values: 0, 64, 128, 256, 512
Range of values: 0 <= Row <= 511 (lin)
Minimum increment: 1
Recommended increment: 1

Column (input_control)
point.x -> integer
Column coordinate of the reference point.
Default value: 0
Suggested values: 0, 64, 128, 256, 512
Range of values: 0 <= Column <= 511 (lin)
Minimum increment: 1
Recommended increment: 1


Complexity

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

      O(sqrt(F)) .


Result

transpose returns TRUE if all parameters are correct. The behavior in case of empty or no input region can be set via:

  a) no region:    set_system(::'no_object_result',<RegionResult>:)
  b) empty region: set_system(::'empty_region_result',<RegionResult>:)
Otherwise, an exception is raised.


Possible Successors

reduce_domain, select_shape, area_center, connection


See also

dilation1, opening, closing



Copyright © 1996-1997 MVTec Software GmbH