bit_slicebit_sliceBitSliceBitSlicebit_slice (Operator)
Name
bit_slicebit_sliceBitSliceBitSlicebit_slice
— Extract a bit from the pixels.
Signature
def bit_slice(image: HObject, bit: int) -> HObject
Description
The operator bit_slicebit_sliceBitSliceBitSliceBitSlicebit_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.
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
ImageImageImageImageimageimage
(input_object) (multichannel-)image(-array) →
objectHImageHObjectHImageHobject (byte / direction / cyclic / int1 / int2 / uint2 / int4)
Input image(s).
ImageSliceImageSliceImageSliceImageSliceimageSliceimage_slice
(output_object) (multichannel-)image(-array) →
objectHImageHObjectHImageHobject * (byte / direction / cyclic / int1 / int2 / uint2 / int4)
Result image(s) by extraction.
BitBitBitBitbitbit
(input_control) integer →
HTupleintHTupleHtuple (integer) (int / long) (Hlong) (Hlong)
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
Bit
Bit
Bit
bit
bit
≤
32
Minimum increment: 1
Recommended increment: 1
Restriction: Bit >= 1 && Bit <= 32
Example (HDevelop)
read_image(Image,'fabrik')
for I:= 1 to 8 by 1
bit_slice (Image, ImageSlice, I)
threshold (ImageSlice, Region, 1, 255)
dev_display (Region)
endfor
Example (C)
read_image(&ByteImage,"fabrik");
for (bit=1; bit<=8; i++)
{
bit_slice(ByteImage,&Slice,bit);
threshold(Slice,&Region,1,255);
disp_region(Region,WindowHandle);
clear(bit_slice); clear(Slice); clear(Region);
}
Example (HDevelop)
read_image(Image,'fabrik')
for I:= 1 to 8 by 1
bit_slice (Image, ImageSlice, I)
threshold (ImageSlice, Region, 1, 255)
dev_display (Region)
endfor
Example (HDevelop)
read_image(Image,'fabrik')
for I:= 1 to 8 by 1
bit_slice (Image, ImageSlice, I)
threshold (ImageSlice, Region, 1, 255)
dev_display (Region)
endfor
Example (HDevelop)
read_image(Image,'fabrik')
for I:= 1 to 8 by 1
bit_slice (Image, ImageSlice, I)
threshold (ImageSlice, Region, 1, 255)
dev_display (Region)
endfor
Result
If the images are correct (type) and
BitBitBitBitbitbit
has a valid value, the operator bit_slicebit_sliceBitSliceBitSliceBitSlicebit_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>:)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
Alternatives
bit_maskbit_maskBitMaskBitMaskBitMaskbit_mask
See also
bit_andbit_andBitAndBitAndBitAndbit_and
,
bit_lshiftbit_lshiftBitLshiftBitLshiftBitLshiftbit_lshift
Module
Foundation