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)