Skip to content

gray_closing_shapeGrayClosingShapeGrayClosingShapegray_closing_shapegray_closing_shapeπŸ”—

Short descriptionπŸ”—

gray_closing_shapeGrayClosingShapeGrayClosingShapegray_closing_shapegray_closing_shape β€” Perform a gray value closing with a selected mask.

SignatureπŸ”—

gray_closing_shape( image Image, out image ImageClosing, extent.y MaskHeight, extent.x MaskWidth, string MaskShape )void GrayClosingShape( const HObject& Image, HObject* ImageClosing, const HTuple& MaskHeight, const HTuple& MaskWidth, const HTuple& MaskShape )static void HOperatorSet.GrayClosingShape( HObject image, out HObject imageClosing, HTuple maskHeight, HTuple maskWidth, HTuple maskShape )def gray_closing_shape( image: HObject, mask_height: Union[int, float], mask_width: Union[int, float], mask_shape: str ) -> HObject

Herror gray_closing_shape( const Hobject Image, Hobject* ImageClosing, double MaskHeight, double MaskWidth, const char* MaskShape )

Herror T_gray_closing_shape( const Hobject Image, Hobject* ImageClosing, const Htuple MaskHeight, const Htuple MaskWidth, const Htuple MaskShape )

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

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

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

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

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

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

DescriptionπŸ”—

gray_closing_shapeGrayClosingShape applies a gray value closing to the input image Imageimageimage with the structuring element of shape MaskShapemaskShapemask_shape. The mask’s offset values are 0 and its horizontal and vertical size is defined by MaskHeightmaskHeightmask_height and MaskWidthmaskWidthmask_width. The resulting image is returned in ImageClosingimageClosingimage_closing.

If the parameters MaskHeightmaskHeightmask_height or MaskWidthmaskWidthmask_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 Imageimageimage is transformed with both the next larger and the next smaller odd mask size, and the output image ImageClosingimageClosingimage_closing is interpolated from the two intermediate images. Therefore, note that gray_closing_shapeGrayClosingShape returns different results for mask sizes of, e.g., 44 and 4.04.0!

In case of the values β€˜rhombus’ and β€˜octagon’ for the MaskShapemaskShapemask_shape control parameter, MaskHeightmaskHeightmask_height and MaskWidthmaskWidthmask_width must be equal. The parameter value β€˜octagon’ for MaskShapemaskShapemask_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.

The gray value closing of an image \(i\) with a structuring element \(s\) is defined as

\[\begin{eqnarray*} i \bullet s = (i \oplus s) \ominus s \enspace , \end{eqnarray*}\]

i.e., a dilation of the image with \(s\) followed by an erosion with \(s\) (see gray_dilation_shapeGrayDilationShape and gray_erosion_shapeGrayErosionShape).

AttentionπŸ”—

Note that gray_closing_shapeGrayClosingShape 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_closing_shapeGrayClosingShape 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πŸ”—

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* / uint2*)HObject (byte* / uint2*)HImage (byte* / uint2*)HObject (byte* / uint2*)Hobject (byte* / uint2*) *allowed for compute devices

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

ImageClosingimageClosingimage_closing (output_object) (multichannel-)image(-array) β†’ object (byte / uint2)HObject (byte / uint2)HImage (byte / uint2)HObject (byte / uint2)Hobject * (byte / uint2)

Image containing the minimum gray values.

MaskHeightmaskHeightmask_height (input_control) extent.y β†’ (real / integer)HTuple (double / Hlong)HTuple (double / int / long)Union[int, float]Htuple (double / 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: 1.0 ≀ MaskHeight ≀ 511.0

MaskWidthmaskWidthmask_width (input_control) extent.x β†’ (real / integer)HTuple (double / Hlong)HTuple (double / int / long)Union[int, float]Htuple (double / 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: 1.0 ≀ MaskWidth ≀ 511.0

MaskShapemaskShapemask_shape (input_control) string β†’ (string)HTuple (HString)HTuple (string)strHtuple (char*)

Shape of the mask.

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

ResultπŸ”—

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

Combinations with other operatorsπŸ”—

Combinations

Alternatives

gray_closingGrayClosing

See also

gray_dilation_shapeGrayDilationShape, gray_erosion_shapeGrayErosionShape, closingClosing

ModuleπŸ”—

Foundation