bit_slice ( Image : ImageSlice : Bit : )

Extract a bit from the pixels.

The operator bit_slice extracts a bit level from the input image. The semantics of the ``and'' 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.


Parameters

Image (input_object)
(multichannel-)image(-array) -> object : byte / direction / cyclic / int1 / int2 / uint2 / int4
Input image(s).

ImageSlice (output_object)
(multichannel-)image(-array) -> object : byte / direction / cyclic / int1 / int2 / uint2 / int4
Result image(s) by extraction.

Bit (input_control)
integer -> integer
Bit to be selected.
Default value: 8
Suggested values: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 20, 24, 30, 32
Typical range of values: 1 <= Bit <= 32
Minimum increment: 1
Recommended increment: 1
Restriction: (Bit >= 1) && (Bit <= 32)


Example (Syntax: C)
read_image(&ByteImage,"fabrik");
for (bit=1; bit<=8; i++)
{
  bit_slice(ByteImage,&Slice,bit);
  threshold(Slice,&Region,0,255);
  disp_region(Region,WindowHandle);
  clear(bit_slice); clear(Slice); clear(Region);
}

Result

If the images are correct (type) and Bit has a valid value, the operator bit_slice 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.


Parallelization Information

bit_slice is reentrant and automatically parallelized (on tuple level, channel level, domain level).


Possible Successors

threshold, bit_or


Alternatives

bit_mask


See also

bit_and, bit_lshift


Module

Foundation



Copyright © 1996-2008 MVTec Software GmbH