Skip to content

gray_range_rectGrayRangeRectGrayRangeRectgray_range_rectgray_range_rect🔗

Short description🔗

gray_range_rectGrayRangeRectGrayRangeRectgray_range_rectgray_range_rect — Determine the gray value range within a rectangle.

Signature🔗

gray_range_rect( image Image, out image ImageResult, extent.y MaskHeight, extent.x MaskWidth )void GrayRangeRect( const HObject& Image, HObject* ImageResult, const HTuple& MaskHeight, const HTuple& MaskWidth )static void HOperatorSet.GrayRangeRect( HObject image, out HObject imageResult, HTuple maskHeight, HTuple maskWidth )def gray_range_rect( image: HObject, mask_height: int, mask_width: int ) -> HObject

Herror gray_range_rect( const Hobject Image, Hobject* ImageResult, const Hlong MaskHeight, const Hlong MaskWidth )

Herror T_gray_range_rect( const Hobject Image, Hobject* ImageResult, const Htuple MaskHeight, const Htuple MaskWidth )

HImage HImage::GrayRangeRect( Hlong MaskHeight, Hlong MaskWidth ) const

HImage HImage.GrayRangeRect( int maskHeight, int maskWidth )

Description🔗

gray_range_rectGrayRangeRect calculates the gray value range, i.e., the difference (max - min) of the maximum and minimum gray values, of the input image Imageimageimage within a rectangular mask of size (MaskHeightmaskHeightmask_height, MaskWidthmaskWidthmask_width) for each image point. The resulting image is returned in ImageResultimageResultimage_result. If the parameters MaskHeightmaskHeightmask_height or MaskWidthmaskWidthmask_width are even, they are changed to the next smaller odd value. At the border of the image the gray values are mirrored.

Attention🔗

Note that filter operators may return unexpected results if an image with a reduced domain is used as input. Please refer to the chapter Filters.

Execution information🔗

Execution information
  • Supports OpenCL compute devices.

  • 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🔗

Imageimageimage (input_object) (multichannel-)image(-array) → object (byte / cyclic / uint2 / int2 / int4 / real)HObject (byte / cyclic / uint2 / int2 / int4 / real)HImage (byte / cyclic / uint2 / int2 / int4 / real)HObject (byte / cyclic / uint2 / int2 / int4 / real)Hobject (byte / cyclic / uint2 / int2 / int4 / real)

Image for which the gray value range is to be calculated.

ImageResultimageResultimage_result (output_object) (multichannel-)image(-array) → object (byte / cyclic / uint2 / int2 / int4 / real)HObject (byte / cyclic / uint2 / int2 / int4 / real)HImage (byte / cyclic / uint2 / int2 / int4 / real)HObject (byte / cyclic / uint2 / int2 / int4 / real)Hobject * (byte / cyclic / uint2 / int2 / int4 / real)

Image containing the gray value range.

MaskHeightmaskHeightmask_height (input_control) extent.y → (integer)HTuple (Hlong)HTuple (int / long)intHtuple (Hlong)

Height of the filter mask.

Default: 1111
Suggested values: 3, 5, 7, 9, 11, 13, 153, 5, 7, 9, 11, 13, 15
Value range: 3 ≤ MaskHeight ≤ 511 (lin)
Minimum increment: 2
Recommended increment: 2
Restriction: odd(MaskHeight) && MaskHeight < height(Image) * 2

MaskWidthmaskWidthmask_width (input_control) extent.x → (integer)HTuple (Hlong)HTuple (int / long)intHtuple (Hlong)

Width of the filter mask.

Default: 1111
Suggested values: 3, 5, 7, 9, 11, 13, 153, 5, 7, 9, 11, 13, 15
Value range: 3 ≤ MaskWidth ≤ 511 (lin)
Minimum increment: 2
Recommended increment: 2
Restriction: odd(MaskWidth) && MaskWidth < width(Image) * 2

Result🔗

gray_range_rectGrayRangeRect returns 2 (H_MSG_TRUE) if all parameters are correct. If the input is empty the behavior can be set via set_system('no_object_result',<Result>). If necessary, an exception is raised.

Combinations with other operators🔗

Combinations

Alternatives

gray_dilation_rectGrayDilationRect, gray_erosion_rectGrayErosionRect, sub_imageSubImage

Module🔗

Foundation