transpose_region ( Region : Transposed : Row, Column : )

Reflect a region about a point.

transpose_region 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_region 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
Typical 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
Typical 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_region returns 2 (H_MSG_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.


Parallelization Information

transpose_region is reentrant and automatically parallelized (on tuple level).


Possible Successors

reduce_domain, select_shape, area_center, connection


See also

dilation1, opening, closing


Module

Foundation



Copyright © 1996-2008 MVTec Software GmbH