MPSCNNCrossChannelNormalization(3)
NAME
MPSCNNCrossChannelNormalization
SYNOPSIS
#import <MPSCNNNormalization.h>
Inherits MPSCNNKernel.
Instance Methods
(nonnull instancetype) - initWithDevice:kernelSize:
(nullable instancetype) - initWithCoder:device:
(nonnull instancetype) - initWithDevice:
Properties
float alpha
float beta
float delta
NSUInteger kernelSize
Additional Inherited Members
Detailed Description
This depends on Metal.framework Specifies the normalization filter
across feature channels. This normalization filter applies the filter
to a local region across nearby feature channels, but with no spatial
extent (i.e., they have shape kernelSize x 1 x 1). The normalized
output is given by: Y(i,j,k) = X(i,j,k) / L(i,j,k)^beta, where the
normalizing factor is: L(i,j,k) = delta + alpha/N * (sum_{q in Q(k)}
X(i,j,q)^2, where N is the kernel size. The window Q(k) itself is
defined as: Q(k) = [max(0, k-floor(N/2)), min(D-1, k+floor((N-1)/2)],
where
k is the feature channel index (running from 0 to D-1) and D is the
number of feature channels, and alpha, beta and delta are paremeters.
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) kernelSize
Initialize a local response normalization filter in a channel
Parameters:
device The device the filter will run on
kernelSize The kernel filter size in each dimension.
Returns:
A valid MPSCNNCrossChannelNormalization object or nil, if failure.
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
- kernelSize [read], [nonatomic], [assign]
The size of the square filter window. Default is 5
Author
Generated automatically by Doxygen for
MetalPerformanceShaders.framework from the source code.
Version MetalPerformanceShaders-Thu2Jul 13 2MPSCNNCrossChannelNormalization(3)
Mac OS X 10.13.1 - Generated Mon Nov 6 16:25:31 CST 2017