Operator Reference

gray_dilation_shapegray_dilation_shapeGrayDilationShapeGrayDilationShapegray_dilation_shape (Operator)

gray_dilation_shapegray_dilation_shapeGrayDilationShapeGrayDilationShapegray_dilation_shape — Determine the maximum gray value within a selected mask.

Signature

gray_dilation_shape(Image : ImageMax : MaskHeight, MaskWidth, MaskShape : )

Herror gray_dilation_shape(const Hobject Image, Hobject* ImageMax, double MaskHeight, double MaskWidth, const char* MaskShape)

Herror T_gray_dilation_shape(const Hobject Image, Hobject* ImageMax, const Htuple MaskHeight, const Htuple MaskWidth, const Htuple MaskShape)

void GrayDilationShape(const HObject& Image, HObject* ImageMax, const HTuple& MaskHeight, const HTuple& MaskWidth, const HTuple& MaskShape)

HImage HImage::GrayDilationShape(const HTuple& MaskHeight, const HTuple& MaskWidth, const HString& MaskShape) const

HImage HImage::GrayDilationShape(double MaskHeight, double MaskWidth, const HString& MaskShape) const

HImage HImage::GrayDilationShape(double MaskHeight, double MaskWidth, const char* MaskShape) const

HImage HImage::GrayDilationShape(double MaskHeight, double MaskWidth, const wchar_t* MaskShape) const   ( Windows only)

static void HOperatorSet.GrayDilationShape(HObject image, out HObject imageMax, HTuple maskHeight, HTuple maskWidth, HTuple maskShape)

HImage HImage.GrayDilationShape(HTuple maskHeight, HTuple maskWidth, string maskShape)

HImage HImage.GrayDilationShape(double maskHeight, double maskWidth, string maskShape)

def gray_dilation_shape(image: HObject, mask_height: Union[int, float], mask_width: Union[int, float], mask_shape: str) -> HObject

Description

gray_dilation_shapegray_dilation_shapeGrayDilationShapeGrayDilationShapegray_dilation_shape calculates the maximum gray value of the input image ImageImageImageimageimage within a mask of shape MaskShapeMaskShapeMaskShapemaskShapemask_shape, vertical size MaskHeightMaskHeightMaskHeightmaskHeightmask_height and horizontal size MaskWidthMaskWidthMaskWidthmaskWidthmask_width for each image point. The resulting image is returned in ImageMaxImageMaxImageMaximageMaximage_max.

If the parameters MaskHeightMaskHeightMaskHeightmaskHeightmask_height or MaskWidthMaskWidthMaskWidthmaskWidthmask_width are of the type integer and are even, they are changed to the next larger odd value. In contrast, if at least one of the two parameters is of the type float, the input image ImageImageImageimageimage is transformed with both the next larger and the next smaller odd mask size, and the output image ImageMaxImageMaxImageMaximageMaximage_max is interpolated from the two intermediate images. Therefore, note that gray_dilation_shapegray_dilation_shapeGrayDilationShapeGrayDilationShapegray_dilation_shape returns different results for mask sizes of, e.g., 4 and 4.0!

In case of the values 'rhombus' and 'octagon' for the MaskShapeMaskShapeMaskShapemaskShapemask_shape control parameter, MaskHeightMaskHeightMaskHeightmaskHeightmask_height and MaskWidthMaskWidthMaskWidthmaskWidthmask_width must be equal. The parameter value 'octagon' for MaskShapeMaskShapeMaskShapemaskShapemask_shape denotes an equilateral octagonal mask which is a suitable approximation for a circular structure. At the border of the image the gray values are mirrored.

Attention

Note that gray_dilation_shapegray_dilation_shapeGrayDilationShapeGrayDilationShapegray_dilation_shape requires considerably more time for mask sizes of type float than for mask sizes of type integer. This is especially true for rectangular masks with different width and height!

gray_dilation_shapegray_dilation_shapeGrayDilationShapeGrayDilationShapegray_dilation_shape can be executed on OpenCL devices. In case of mask sizes of type float the result can vary slightly from the CPU as the interpolation is calculated in single precision on the OpenCL device.

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

  • 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

ImageImageImageimageimage (input_object)  (multichannel-)image(-array) objectHImageHObjectHObjectHobject (byte* / uint2*) *allowed for compute devices

Image for which the maximum gray values are to be calculated.

ImageMaxImageMaxImageMaximageMaximage_max (output_object)  (multichannel-)image(-array) objectHImageHObjectHObjectHobject * (byte / uint2)

Image containing the maximum gray values.

MaskHeightMaskHeightMaskHeightmaskHeightmask_height (input_control)  extent.y HTupleUnion[int, float]HTupleHtuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong)

Height of the filter mask.

Default: 11

Suggested values: 3, 5, 7, 9, 11, 13, 15

Value range: 1.0 ≤ MaskHeight MaskHeight MaskHeight maskHeight mask_height

MaskWidthMaskWidthMaskWidthmaskWidthmask_width (input_control)  extent.x HTupleUnion[int, float]HTupleHtuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong)

Width of the filter mask.

Default: 11

Suggested values: 3, 5, 7, 9, 11, 13, 15

Value range: 1.0 ≤ MaskWidth MaskWidth MaskWidth maskWidth mask_width

MaskShapeMaskShapeMaskShapemaskShapemask_shape (input_control)  string HTuplestrHTupleHtuple (string) (string) (HString) (char*)

Shape of the mask.

Default: 'octagon' "octagon" "octagon" "octagon" "octagon"

List of values: 'octagon'"octagon""octagon""octagon""octagon", 'rectangle'"rectangle""rectangle""rectangle""rectangle", 'rhombus'"rhombus""rhombus""rhombus""rhombus"

Result

gray_dilation_shapegray_dilation_shapeGrayDilationShapeGrayDilationShapegray_dilation_shape returns 2 ( H_MSG_TRUE) if all parameters are correct.

Alternatives

gray_dilationgray_dilationGrayDilationGrayDilationgray_dilation, gray_dilation_rectgray_dilation_rectGrayDilationRectGrayDilationRectgray_dilation_rect

See also

gray_opening_shapegray_opening_shapeGrayOpeningShapeGrayOpeningShapegray_opening_shape, gray_closing_shapegray_closing_shapeGrayClosingShapeGrayClosingShapegray_closing_shape, gray_skeletongray_skeletonGraySkeletonGraySkeletongray_skeleton

Module

Foundation