.TH "MPSImageDilate" 3 "Mon Jul 9 2018" "Version MetalPerformanceShaders-119.3" "MetalPerformanceShaders.framework" \" -*- nroff -*-
.ad l
.nh
.SH NAME
MPSImageDilate
.SH SYNOPSIS
.br
.PP
.PP
\fC#import <MPSImageMorphology\&.h>\fP
.PP
Inherits \fBMPSUnaryImageKernel\fP\&.
.PP
Inherited by \fBMPSImageErode\fP\&.
.SS "Instance Methods"

.in +1c
.ti -1c
.RI "(nonnull instancetype) \- \fBinitWithDevice:kernelWidth:kernelHeight:values:\fP"
.br
.ti -1c
.RI "(nonnull instancetype) \- \fBinitWithDevice:\fP"
.br
.ti -1c
.RI "(nullable instancetype) \- \fBinitWithCoder:device:\fP"
.br
.in -1c
.SS "Properties"

.in +1c
.ti -1c
.RI "NSUInteger \fBkernelHeight\fP"
.br
.ti -1c
.RI "NSUInteger \fBkernelWidth\fP"
.br
.in -1c
.SS "Additional Inherited Members"
.SH "Detailed Description"
.PP 
The \fBMPSImageDilate\fP finds the maximum pixel value in a rectangular region centered around each pixel in the source image\&. It is like the \fBMPSImageAreaMax\fP, except that the intensity at each position is calculated relative to a different value before determining which is the maximum pixel value, allowing for shaped, non-rectangular morphological probes\&. 
.PP
.nf
for each pixel in the filter window:
    value =  pixel[filterY][filterX] - filter[filterY*filter_width+filterX]
    if( value > bestValue ){
         result = value
         bestValue = value;
    }

.fi
.PP
 \fBA\fP filter that contains all zeros and is identical to a \fBMPSImageAreaMax\fP filter\&. The center filter element is assumed to be 0 to avoid causing a general darkening of the image\&.
.PP
The edgeMode property is assumed to always be MPSImageEdgeModeClamp for this filter\&. 
.SH "Method Documentation"
.PP 
.SS "\- (nullable instancetype) \fBinitWithCoder:\fP (NSCoder *__nonnull) aDecoder(nonnull id< MTLDevice >) device"
\fBNSSecureCoding\fP compatability  While the standard NSSecureCoding/NSCoding method -initWithCoder: should work, since the file can't know which device your data is allocated on, we have to guess and may guess incorrectly\&. To avoid that problem, use initWithCoder:device instead\&. 
.PP
\fBParameters:\fP
.RS 4
\fIaDecoder\fP The NSCoder subclass with your serialized \fBMPSKernel\fP 
.br
\fIdevice\fP The MTLDevice on which to make the \fBMPSKernel\fP 
.RE
.PP
\fBReturns:\fP
.RS 4
\fBA\fP new \fBMPSKernel\fP object, or nil if failure\&. 
.RE
.PP

.PP
Reimplemented from \fBMPSUnaryImageKernel\fP\&.
.SS "\- (nonnull instancetype) initWithDevice: (nonnull id< MTLDevice >) device"
Standard init with default properties per filter type 
.PP
\fBParameters:\fP
.RS 4
\fIdevice\fP The device that the filter will be used on\&. May not be NULL\&. 
.RE
.PP
\fBReturns:\fP
.RS 4
a pointer to the newly initialized object\&. This will fail, returning nil if the device is not supported\&. Devices must be MTLFeatureSet_iOS_GPUFamily2_v1 or later\&. 
.RE
.PP

.PP
Reimplemented from \fBMPSUnaryImageKernel\fP\&.
.SS "\- (nonnull instancetype) \fBinitWithDevice:\fP (nonnull id< MTLDevice >) device(NSUInteger) kernelWidth(NSUInteger) kernelHeight(const float *__nonnull) values"
Init a object with kernel height, width and weight values\&.  Each dilate shape probe defines a 3D surface of values\&. These are arranged in order left to right, then top to bottom in a 1D array\&. (values[kernelWidth*y+x] = probe[y][x]) Values should be generally be in the range [0,1] with the center pixel tending towards 0 and edges towards 1\&. However, any numerical value is allowed\&. Calculations are subject to the usual floating-point rounding error\&.
.PP
\fBParameters:\fP
.RS 4
\fIdevice\fP The device the filter will run on 
.br
\fIkernelWidth\fP The width of the kernel\&. Must be an odd number\&. 
.br
\fIkernelHeight\fP The height of the kernel\&. Must be an odd number\&. 
.br
\fIvalues\fP The set of values to use as the dilate probe\&. The values are copied into the filter\&. To avoid image ligthening or darkening, the center value should be 0\&.0f\&. 
.RE
.PP

.SH "Property Documentation"
.PP 
.SS "\- kernelHeight\fC [read]\fP, \fC [nonatomic]\fP, \fC [assign]\fP"
The height of the filter window\&. Must be an odd number\&. 
.SS "\- kernelWidth\fC [read]\fP, \fC [nonatomic]\fP, \fC [assign]\fP"
The width of the filter window\&. Must be an odd number\&. 

.SH "Author"
.PP 
Generated automatically by Doxygen for MetalPerformanceShaders\&.framework from the source code\&.
