Right shift of all pixels of the image.
The operator bit_rshift calculates a ``right shift'' of all pixels of the input image bit by bit. The semantics of the ``right shift'' operation corresponds to that of C (``>>'') for the respective types (signed char, unsigned char, short, unsigned short, int/long). Only the pixels within the definition range of the image are processed.
Several images can be processed in one call. An output image is generated for every input image.
|
Image (input_object) |
(multichannel-)image(-array) -> object : byte / direction / cyclic / int1 / int2 / uint2 / int4 |
| Input image(s). | |
|
ImageRShift (output_object) |
(multichannel-)image(-array) -> object : byte / direction / cyclic / int1 / int2 / uint2 / int4 |
| Result image(s) by shift operation. | |
|
Shift (input_control) |
integer -> integer |
| shift value | |
| Default value: 3 | |
| Suggested values: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 20, 24, 30, 31 | |
| Typical range of values: 0 <= Shift <= 31 | |
| Minimum increment: 1 | |
|
Recommended increment: 1 | |
| Restriction: (Shift >= 1) && (Shift <= 31) | |
bit_rshift(Int2Image,&ReducedInt2Image,8); convert_image_type(ReducedInt2Image,&ByteImage,"byte");
If the images are correct (type) and Shift has a valid value the operator bit_rshift returns the value 2 (H_MSG_TRUE). The behavior in case of empty input (no input images available) is set via the operator set_system(::'no_object_result',<Result>:) If necessary an exception handling is raised.
bit_rshift is reentrant and automatically parallelized (on tuple level, channel level, domain level).
Foundation