MPSImageBox(3) MetalPerformanceShaders.framework MPSImageBox(3)NAME
MPSImageBox
SYNOPSIS
#import <MPSImageConvolution.h>
Inherits MPSUnaryImageKernel.
Inherited by MPSImageTent.
Instance Methods
(nonnull instancetype) - initWithDevice:kernelWidth:kernelHeight:
(nullable instancetype) - initWithCoder:device:
(nonnull instancetype) - initWithDevice:
Properties
NSUInteger kernelHeight
NSUInteger kernelWidth
Additional Inherited Members
Detailed Description
The MPSImageBox convolves an image with given filter of odd width and height. The kernel elements all have equal weight, achieving a blur
effect. (Each result is the unweighted average of the surrounding pixels.) This allows for much faster algorithms, espcially for larger
blur radii. The box height and width must be odd numbers. The box blur is a separable filter. The implementation is aware of this and will
act accordingly to give best performance for multi-dimensional blurs.
Method Documentation
- (nullable instancetype) initWithCoder: (NSCoder *__nonnull) aDecoder(nonnull id< MTLDevice >) device
NSSecureCoding 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.
Parameters:
aDecoder The NSCoder subclass with your serialized MPSKernel
device The MTLDevice on which to make the MPSKernel
Returns:
A new MPSKernel object, or nil if failure.
Reimplemented from MPSUnaryImageKernel.
- (nonnull instancetype) initWithDevice: (nonnull id< MTLDevice >) device
Standard init with default properties per filter type
Parameters:
device The device that the filter will be used on. May not be NULL.
Returns:
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.
Reimplemented from MPSUnaryImageKernel.
- (nonnull instancetype) initWithDevice: (nonnull id< MTLDevice >) device(NSUInteger) kernelWidth(NSUInteger) kernelHeight
Initialize a filter for a particular kernel size and device
Parameters:
device The device the filter will run on
kernelWidth the width of the kernel. Must be an odd number.
kernelHeight the height of the kernel. Must be an odd number.
Returns:
A valid object or nil, if failure.
Property Documentation
- kernelHeight [read], [nonatomic], [assign]
The height of the filter window.
- kernelWidth [read], [nonatomic], [assign]
The width of the filter window.
Author
Generated automatically by Doxygen for MetalPerformanceShaders.framework from the source code.
Version MetalPerformanceShaders-100 Thu Feb 8 2018 MPSImageBox(3)
Check Out this Related Man Page
MPSCNNSpatialNormalization(3) MetalPerformanceShaders.framework MPSCNNSpatialNormalization(3)NAME
MPSCNNSpatialNormalization
SYNOPSIS
#import <MPSCNNNormalization.h>
Inherits MPSCNNKernel.
Instance Methods
(nonnull instancetype) - initWithDevice:kernelWidth:kernelHeight:
(nullable instancetype) - initWithCoder:device:
(nonnull instancetype) - initWithDevice:
Properties
float alpha
float beta
float delta
NSUInteger kernelWidth
NSUInteger kernelHeight
Additional Inherited Members
Detailed Description
This depends on Metal.framework Specifies the spatial normalization filter. The spatial normalization for a feature channel applies the
filter over local regions which extend spatially, but are in separate feature channels (i.e., they have shape 1 x kernelWidth x
kernelHeight). For each feature channel, the function computes the sum of squares of X inside each rectangle, N2(i,j). It then divides each
element of X as follows: Y(i,j) = X(i,j) / (delta + alpha/(kw*kh) * N2(i,j))^beta, where kw and kh are the kernelWidth and the
kernelHeight. It is the end-users responsibility to ensure that the combination of the parameters delta and alpha does not result in a
situation where the denominator becomes zero - in such situations the resulting pixel-value is undefined.
Method Documentation
- (nullable instancetype) initWithCoder: (NSCoder *__nonnull) aDecoder(nonnull id< MTLDevice >) device
NSSecureCoding 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.
Parameters:
aDecoder The NSCoder subclass with your serialized MPSKernel
device The MTLDevice on which to make the MPSKernel
Returns:
A new MPSKernel object, or nil if failure.
Reimplemented from MPSCNNKernel.
- (nonnull instancetype) initWithDevice: (nonnull id< MTLDevice >) device
Standard init with default properties per filter type
Parameters:
device The device that the filter will be used on. May not be NULL.
Returns:
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.
Reimplemented from MPSCNNKernel.
- (nonnull instancetype) initWithDevice: (nonnull id< MTLDevice >) device(NSUInteger) kernelWidth(NSUInteger) kernelHeight
Initialize a spatial normalization filter
Parameters:
device The device the filter will run on
kernelWidth The width of the kernel
kernelHeight The height of the kernel
Returns:
A valid MPSCNNSpatialNormalization object or nil, if failure.
NOTE: For now, kernelWidth must be equal to kernelHeight
Property Documentation
- alpha [read], [write], [nonatomic], [assign]
The value of alpha. Default is 1.0. Must be non-negative.
- beta [read], [write], [nonatomic], [assign]
The value of beta. Default is 5.0
- delta [read], [write], [nonatomic], [assign]
The value of delta. Default is 1.0
- kernelHeight [read], [nonatomic], [assign]
The height of the filter window
- kernelWidth [read], [nonatomic], [assign]
The width of the filter window
Author
Generated automatically by Doxygen for MetalPerformanceShaders.framework from the source code.
Version MetalPerformanceShaders-100 Thu Feb 8 2018 MPSCNNSpatialNormalization(3)