bit_slicebit_sliceBitSliceBitSlice (Operator)
Name
bit_slicebit_sliceBitSliceBitSlice
— Extract a bit from the pixels.
Signature
Description
The operator bit_slicebit_sliceBitSliceBitSliceBitSlice
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
ImageImageImageImageimage
(input_object) (multichannel-)image(-array) →
objectHImageHImageHobject (byte / direction / cyclic / int1 / int2 / uint2 / int4)
Input image(s).
ImageSliceImageSliceImageSliceImageSliceimageSlice
(output_object) (multichannel-)image(-array) →
objectHImageHImageHobject * (byte / direction / cyclic / int1 / int2 / uint2 / int4)
Result image(s) by extraction.
BitBitBitBitbit
(input_control) integer →
HTupleHTupleHtuple (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
≤
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
BitBitBitBitbit
has a valid value, the operator bit_slicebit_sliceBitSliceBitSliceBitSlice
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.
Possible Successors
thresholdthresholdThresholdThresholdThreshold
,
bit_orbit_orBitOrBitOrBitOr
Alternatives
bit_maskbit_maskBitMaskBitMaskBitMask
See also
bit_andbit_andBitAndBitAndBitAnd
,
bit_lshiftbit_lshiftBitLshiftBitLshiftBitLshift
Module
Foundation