Operator Reference

bit_lshiftbit_lshiftBitLshiftBitLshiftbit_lshift (Operator)

bit_lshiftbit_lshiftBitLshiftBitLshiftbit_lshift — Left shift of all pixels of the image.

Signature

bit_lshift(Image : ImageLShift : Shift : )

Herror bit_lshift(const Hobject Image, Hobject* ImageLShift, const Hlong Shift)

Herror T_bit_lshift(const Hobject Image, Hobject* ImageLShift, const Htuple Shift)

void BitLshift(const HObject& Image, HObject* ImageLShift, const HTuple& Shift)

HImage HImage::BitLshift(Hlong Shift) const

static void HOperatorSet.BitLshift(HObject image, out HObject imageLShift, HTuple shift)

HImage HImage.BitLshift(int shift)

def bit_lshift(image: HObject, shift: int) -> HObject

Description

The operator bit_lshiftbit_lshiftBitLshiftBitLshiftbit_lshift calculates a “left shift” of all pixels of the input image bit by bit. The semantics of the “left shift” operation corresponds to that of C (“<<“) for the respective types (signed char, unsigned char, short, unsigned short, int/long). If an overflow occurs the result is limited to the maximum value of the respective pixel type. 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.

Execution Information

  • Multithreading type: reentrant (runs in parallel with non-exclusive operators).
  • Multithreading scope: global (may be called from any thread).
  • Automatically parallelized on tuple level.
  • Automatically parallelized on channel level.
  • Automatically parallelized on domain level.

Parameters

ImageImageImageimageimage (input_object)  (multichannel-)image(-array) objectHImageHObjectHObjectHobject (byte / direction / cyclic / int1 / int2 / uint2 / int4)

Input image(s).

ImageLShiftImageLShiftImageLShiftimageLShiftimage_lshift (output_object)  (multichannel-)image(-array) objectHImageHObjectHObjectHobject * (byte / direction / cyclic / int1 / int2 / uint2 / int4)

Result image(s) by shift operation.

ShiftShiftShiftshiftshift (input_control)  integer HTupleintHTupleHtuple (integer) (int / long) (Hlong) (Hlong)

Shift value.

Default: 3

Suggested values: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 20, 24, 30, 31

Minimum increment: 1

Recommended increment: 1

Example (C)

read_image(&ByteImage,"fabrik");
convert_image_type(ByteImage,&Int2Image,"int2");
bit_lshift(Int2Image,&FullInt2Image,8);

Result

If the images are correct (type) and if ShiftShiftShiftshiftshift has a valid value the operator bit_lshiftbit_lshiftBitLshiftBitLshiftbit_lshift 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>:)set_system("no_object_result",<Result>)SetSystem("no_object_result",<Result>)SetSystem("no_object_result",<Result>)set_system("no_object_result",<Result>) If necessary an exception is raised.

Alternatives

scale_imagescale_imageScaleImageScaleImagescale_image

See also

bit_rshiftbit_rshiftBitRshiftBitRshiftbit_rshift

Module

Foundation