gray_dilation_shapegray_dilation_shapeGrayDilationShapeGrayDilationShapegray_dilation_shape (Operator)
Name
gray_dilation_shapegray_dilation_shapeGrayDilationShapeGrayDilationShapegray_dilation_shape
— Determine the maximum gray value within a selected mask.
Signature
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)
Description
gray_dilation_shapegray_dilation_shapeGrayDilationShapeGrayDilationShapeGrayDilationShapegray_dilation_shape
calculates the maximum gray value of the input
image ImageImageImageImageimageimage
within a mask of shape MaskShapeMaskShapeMaskShapeMaskShapemaskShapemask_shape
,
vertical size MaskHeightMaskHeightMaskHeightMaskHeightmaskHeightmask_height
and horizontal size MaskWidthMaskWidthMaskWidthMaskWidthmaskWidthmask_width
for each image point.
The resulting image is returned in ImageMaxImageMaxImageMaxImageMaximageMaximage_max
.
If the parameters MaskHeightMaskHeightMaskHeightMaskHeightmaskHeightmask_height
or MaskWidthMaskWidthMaskWidthMaskWidthmaskWidthmask_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 ImageImageImageImageimageimage
is transformed with both the next larger and
the next smaller odd mask size, and the output image ImageMaxImageMaxImageMaxImageMaximageMaximage_max
is
interpolated from the two intermediate images. Therefore, note that
gray_dilation_shapegray_dilation_shapeGrayDilationShapeGrayDilationShapeGrayDilationShapegray_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 MaskShapeMaskShapeMaskShapeMaskShapemaskShapemask_shape
control parameter,
MaskHeightMaskHeightMaskHeightMaskHeightmaskHeightmask_height
and MaskWidthMaskWidthMaskWidthMaskWidthmaskWidthmask_width
must be equal. The parameter
value 'octagon' for MaskShapeMaskShapeMaskShapeMaskShapemaskShapemask_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_shapeGrayDilationShapeGrayDilationShapeGrayDilationShapegray_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_shapeGrayDilationShapeGrayDilationShapeGrayDilationShapegray_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
ImageImageImageImageimageimage
(input_object) (multichannel-)image(-array) →
objectHImageHObjectHImageHobject (byte* / uint2*) *allowed for compute devices
Image for which the maximum gray values are to
be calculated.
ImageMaxImageMaxImageMaxImageMaximageMaximage_max
(output_object) (multichannel-)image(-array) →
objectHImageHObjectHImageHobject * (byte / uint2)
Image containing the maximum gray values.
MaskHeightMaskHeightMaskHeightMaskHeightmaskHeightmask_height
(input_control) extent.y →
HTupleUnion[int, float]HTupleHtuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong)
Height of the filter mask.
Default value: 11
Suggested values: 3, 5, 7, 9, 11, 13, 15
Typical range of values: 1.0
≤
MaskHeight
MaskHeight
MaskHeight
MaskHeight
maskHeight
mask_height
MaskWidthMaskWidthMaskWidthMaskWidthmaskWidthmask_width
(input_control) extent.x →
HTupleUnion[int, float]HTupleHtuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong)
Width of the filter mask.
Default value: 11
Suggested values: 3, 5, 7, 9, 11, 13, 15
Typical range of values: 1.0
≤
MaskWidth
MaskWidth
MaskWidth
MaskWidth
maskWidth
mask_width
MaskShapeMaskShapeMaskShapeMaskShapemaskShapemask_shape
(input_control) string →
HTuplestrHTupleHtuple (string) (string) (HString) (char*)
Shape of the mask.
Default value:
'octagon'
"octagon"
"octagon"
"octagon"
"octagon"
"octagon"
List of values: 'octagon'"octagon""octagon""octagon""octagon""octagon", 'rectangle'"rectangle""rectangle""rectangle""rectangle""rectangle", 'rhombus'"rhombus""rhombus""rhombus""rhombus""rhombus"
Result
gray_dilation_shapegray_dilation_shapeGrayDilationShapeGrayDilationShapeGrayDilationShapegray_dilation_shape
returns 2 (H_MSG_TRUE) if all
parameters are correct.
Alternatives
gray_dilationgray_dilationGrayDilationGrayDilationGrayDilationgray_dilation
,
gray_dilation_rectgray_dilation_rectGrayDilationRectGrayDilationRectGrayDilationRectgray_dilation_rect
See also
gray_opening_shapegray_opening_shapeGrayOpeningShapeGrayOpeningShapeGrayOpeningShapegray_opening_shape
,
gray_closing_shapegray_closing_shapeGrayClosingShapeGrayClosingShapeGrayClosingShapegray_closing_shape
,
gray_skeletongray_skeletonGraySkeletonGraySkeletonGraySkeletongray_skeleton
Module
Foundation