.TH "MPSImageSobel" 3 "Mon Jul 9 2018" "Version MetalPerformanceShaders-119.3" "MetalPerformanceShaders.framework" \" -*- nroff -*- .ad l .nh .SH NAME MPSImageSobel .SH SYNOPSIS .br .PP .PP \fC#import \fP .PP Inherits \fBMPSUnaryImageKernel\fP\&. .SS "Instance Methods" .in +1c .ti -1c .RI "(nonnull instancetype) \- \fBinitWithDevice:\fP" .br .ti -1c .RI "(nonnull instancetype) \- \fBinitWithDevice:linearGrayColorTransform:\fP" .br .ti -1c .RI "(nullable instancetype) \- \fBinitWithCoder:device:\fP" .br .in -1c .SS "Properties" .in +1c .ti -1c .RI "const float * \fBcolorTransform\fP" .br .in -1c .SS "Additional Inherited Members" .SH "Detailed Description" .PP The \fBMPSImageSobel\fP implements the Sobel filter\&. When the color model (e\&.g\&. RGB, two-channel, grayscale, etc\&.) of source and destination textures match, the filter is applied to each channel separately\&. If the destination is monochrome (single channel) but source multichannel, the pixel values are converted to grayscale before applying Sobel operator using the linear gray color transform vector (v)\&. .PP .nf Luminance = v[0] * pixel.x + v[1] * pixel.y + v[2] * pixel.z; .fi .PP .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" Initialize a Sobel filter on a given device using the default color transform\&. Default: BT\&.601/JPEG {0\&.299f, 0\&.587f, 0\&.114f} .PP For non-default conversion matrices, use -initWithDevice:linearGrayColorTransform: .PP \fBParameters:\fP .RS 4 \fIdevice\fP The device the filter will run on .RE .PP \fBReturns:\fP .RS 4 \fBA\fP valid object or nil, if failure\&. .RE .PP .PP Reimplemented from \fBMPSUnaryImageKernel\fP\&. .SS "\- (nonnull instancetype) \fBinitWithDevice:\fP (nonnull id< MTLDevice >) device(const float *__nonnull) transform" Initialize a Sobel filter on a given device with a non-default color transform .PP \fBParameters:\fP .RS 4 \fIdevice\fP The device the filter will run on .br \fItransform\fP Array of three floats describing the rgb to gray scale color transform\&. .PP .nf Luminance = transform[0] * pixel\&.x + transform[1] * pixel\&.y + transform[2] * pixel\&.z; .fi .PP .RE .PP \fBReturns:\fP .RS 4 \fBA\fP valid object or nil, if failure\&. .RE .PP .SH "Property Documentation" .PP .SS "\- colorTransform\fC [read]\fP, \fC [nonatomic]\fP, \fC [assign]\fP" Returns a pointer to the array of three floats used to convert RGBA, RGB or RG images to the destination format when the destination is monochrome\&. .SH "Author" .PP Generated automatically by Doxygen for MetalPerformanceShaders\&.framework from the source code\&.