bit_maskbit_maskBitMaskBitMaskbit_mask (Operator)


bit_maskbit_maskBitMaskBitMaskbit_mask — Logical “AND” of each pixel using a bit mask.


bit_mask(Image : ImageMask : BitMask : )

Herror bit_mask(const Hobject Image, Hobject* ImageMask, const Hlong BitMask)

Herror T_bit_mask(const Hobject Image, Hobject* ImageMask, const Htuple BitMask)

void BitMask(const HObject& Image, HObject* ImageMask, const HTuple& BitMask)

HImage HImage::BitMask(Hlong BitMask) const

static void HOperatorSet.BitMask(HObject image, out HObject imageMask, HTuple bitMask)

HImage HImage.BitMask(int bitMask)

def bit_mask(image: HObject, bit_mask: int) -> HObject


The operator bit_maskbit_maskBitMaskBitMaskBitMaskbit_mask carries out an “and” operation of each pixel with a fixed mask. The semantics of the “and” operation corresponds to that of C for the respective types (signed char, unsigned char, unsigned short, 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.

Execution Information


ImageImageImageImageimageimage (input_object)  (multichannel-)image(-array) objectHImageHObjectHImageHobject (byte / direction / cyclic / int1 / int2 / uint2 / int4)

Input image(s).

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

Result image(s) by combination with mask.

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

Bit field

Default value: 128

Suggested values: 1, 2, 4, 8, 16, 32, 64, 128, 256, 512, 1024, 2048, 4096


If the images are correct (type) the operator bit_maskbit_maskBitMaskBitMaskBitMaskbit_mask 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>)set_system("no_object_result",<Result>) If necessary an exception is raised.

Possible Successors

thresholdthresholdThresholdThresholdThresholdthreshold, bit_orbit_orBitOrBitOrBitOrbit_or



See also

bit_andbit_andBitAndBitAndBitAndbit_and, bit_lshiftbit_lshiftBitLshiftBitLshiftBitLshiftbit_lshift