ClassesClasses | | Operators

bit_lshiftbit_lshiftBitLshiftBitLshift (Operator)

Name

bit_lshiftbit_lshiftBitLshiftBitLshift — 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)

Description

The operator bit_lshiftbit_lshiftBitLshiftBitLshiftBitLshift 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

Parameters

ImageImageImageImageimage (input_object)  (multichannel-)image(-array) objectHImageHImageHobject (byte / direction / cyclic / int1 / int2 / uint2 / int4)

Input image(s).

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

Result image(s) by shift operation.

ShiftShiftShiftShiftshift (input_control)  integer HTupleHTupleHtuple (integer) (int / long) (Hlong) (Hlong)

Shift value.

Default value: 3

Suggested values: 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 Shift Shift Shift shift ≤ 31

Minimum increment: 1

Recommended increment: 1

Restriction: Shift >= 1 && Shift <= 31

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_lshiftBitLshiftBitLshiftBitLshift 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>)SetSystem("no_object_result",<Result>) If necessary an exception is raised.

Alternatives

scale_imagescale_imageScaleImageScaleImageScaleImage

See also

bit_rshiftbit_rshiftBitRshiftBitRshiftBitRshift

Module

Foundation


ClassesClasses | | Operators